
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: bool relocate(Relocate * this, Relocate_info<32,_false> * relinfo, uint
   rel_type, Target_mips<32,_false> * target, Output_section * output_section, size_t relnum, uchar
   * preloc, Sized_symbol<32> * gsym, Symbol_value<32> * psymval, uchar * view, Mips_address
   address, section_size_type param_11) */

bool __thiscall
anon_unknown.dwarf_ead2ad::Target_mips<32,_false>::Relocate::relocate
          (Relocate *this,Relocate_info<32,_false> *relinfo,uint rel_type,
          Target_mips<32,_false> *target,Output_section *output_section,size_t relnum,uchar *preloc,
          Sized_symbol<32> *gsym,Symbol_value<32> *psymval,uchar *view,Mips_address address,
          section_size_type param_11)

{
  uint64_t *puVar1;
  _Rb_tree_header *p_Var2;
  byte bVar3;
  byte bVar4;
  char cVar5;
  ushort uVar6;
  uint uVar7;
  Mips_address address_00;
  Mips_relobj<32,_false> *this_00;
  Mips_output_data_mips_stubs<32,_false> *pMVar8;
  Mips_output_data_plt<32,_false> *pMVar9;
  Mips_output_data_la25_stub<32,_false> *pMVar10;
  uint64_t uVar11;
  _Bit_type *p_Var12;
  ulong uVar13;
  Mips_relobj<32,_false> *pMVar14;
  _Bit_type *p_Var15;
  pointer pcVar16;
  undefined3 uVar17;
  _Base_ptr *pp_Var18;
  _Alloc_hider _Var19;
  byte bVar20;
  byte bVar21;
  undefined1 uVar22;
  Valtype x;
  Value VVar23;
  Value VVar24;
  int iVar25;
  Status SVar26;
  ulong uVar27;
  Mips_symbol<64> *pMVar28;
  Mips_got_info<32,_false> *pMVar29;
  _List_node_base *p_Var30;
  Mips_output_data_got<32,_false> *pMVar31;
  _Base_ptr p_Var32;
  Sized_symbol<32> *pSVar33;
  Mips_symbol<32> *pMVar34;
  Mips16_stub_section<32,_false> *pMVar35;
  _Base_ptr p_Var36;
  _Base_ptr p_Var37;
  ushort uVar38;
  uint uVar39;
  uint uVar40;
  uint uVar41;
  long lVar42;
  _List_node_base **pp_Var43;
  uint *puVar44;
  bool jal_shuffle;
  int extraout_EDX;
  uint uVar45;
  ulong uVar46;
  Mips_relobj<32,_false> *pMVar47;
  Symbol_value<32> *extraout_RDX;
  Symbol_value<32> *extraout_RDX_00;
  undefined7 uVar50;
  Symbol_value<32> *pSVar48;
  Mips_relobj<32,_false> *extraout_RDX_01;
  Mips_relobj<32,_false> *pMVar49;
  Mips_relobj<32,_false> *extraout_RDX_02;
  Symbol_value<32> *extraout_RDX_03;
  Target_mips *extraout_RDX_04;
  _Rb_tree_color _Var51;
  Relocate *pRVar52;
  Mips_output_data_got<32,_false> *pMVar53;
  _Rb_tree_color lo16_reloc;
  Mips_symbol<64> *pMVar54;
  _List_node_base **pp_Var56;
  Value_type VVar57;
  Mips_got_info<32,_false> *pMVar58;
  byte *pbVar59;
  Mips_relobj<32,_false> *pMVar60;
  char *pcVar61;
  Symbol *this_01;
  Mips_symbol<32> *this_02;
  _Base_ptr p_Var62;
  Target_mips<32,_false> *target_00;
  uchar *puVar63;
  Mips_symbol<64> *unaff_R13;
  ulong uVar64;
  uint uVar65;
  bool bVar66;
  bool bVar67;
  byte calculate_only;
  bool bVar68;
  bool bVar69;
  undefined1 in_stack_fffffffffffffec8;
  Symbol *in_stack_fffffffffffffed0;
  uint in_stack_fffffffffffffed8;
  uint in_stack_fffffffffffffedc;
  _List_node_base *in_stack_fffffffffffffee0;
  Mips_relobj<32,_false> *in_stack_fffffffffffffee8;
  uint in_stack_fffffffffffffef8;
  uint in_stack_fffffffffffffefc;
  uint3 uVar70;
  _List_node_base *local_100;
  uint local_f0;
  byte local_e8;
  uint local_e4;
  Mips_symbol<64> *local_d8;
  byte local_cf;
  bool local_ce;
  bool local_cd;
  Value local_cc;
  Mips_relobj<32,_false> *local_c8;
  uint local_c0;
  uint local_bc;
  _Bit_type *local_b8;
  Value local_b0;
  Mips_relobj<32,_false> *local_98;
  uint r_types [3];
  Symbol_value<32> symval;
  string local_58;
  Mips_symbol<64> *pMVar55;
  
  bVar21 = 0;
  uVar39 = *(uint *)(preloc + 4);
  uVar46 = (ulong)*(uint *)(relinfo->reloc_shdr + 0x14) /
           (ulong)*(uint *)(relinfo->reloc_shdr + 0x24);
  uVar7 = *(uint *)preloc;
  uVar65 = uVar39 & 0xff;
  _Var51 = uVar39 >> 8;
  if (rel_type == 4) {
    local_c0 = 0;
    local_cc = *(Value *)(preloc + 8);
    local_bc = 0xffffffff;
    if (relnum + 1 < uVar46) {
      local_bc = *(uint *)(preloc + 0xc);
      local_c0 = (uint)preloc[0x10];
    }
  }
  else if (relnum + 1 < uVar46) {
    local_cc = 0;
    local_bc = *(uint *)(preloc + 8);
    local_c0 = (uint)preloc[0xc];
  }
  else {
    local_c0 = 0;
    local_bc = 0xffffffff;
    local_cc = 0;
  }
  symval._8_4_ = 0x80000000;
  symval.u_.value = 0;
  this_00 = (Mips_relobj<32,_false> *)relinfo->object;
  symval.output_symtab_index_ = 0;
  symval.output_dynsym_index_ = 0xffffffff;
  if (gsym == (Sized_symbol<32> *)0x0) {
    p_Var15 = (this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl.
              super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;
    if (((ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.
                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +
        ((long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl
               .super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p - (long)p_Var15) *
        8) - (ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.
                    _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset <=
        (ulong)_Var51) {
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");
    }
    local_e8 = (byte)(uVar39 >> 8);
    uVar27 = 1L << (local_e8 & 0x3f);
    p_Var12 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.
              _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;
    uVar46 = p_Var15[uVar39 >> 0xe];
    local_b8 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.
               _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;
    uVar64 = uVar27 & uVar46;
    bVar20 = uVar64 != 0;
    pMVar28 = (Mips_symbol<64> *)(ulong)bVar20;
    puVar63 = (uchar *)(ulong)(this_00->local_symbol_is_micromips_).
                              super__Bvector_base<std::allocator<bool>_>._M_impl.
                              super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset;
    if (((ulong)(this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.
                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +
        ((long)local_b8 - (long)p_Var12) * 8) - (long)puVar63 <= (ulong)_Var51) {
LAB_002c45d2:
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/mips.cc",0x668,"local_symbol_is_micromips");
    }
    uVar13 = p_Var12[uVar39 >> 0xe];
    calculate_only = (uVar27 & uVar13) != 0;
    local_cd = ((uVar46 | uVar13) & uVar27) != 0;
    if (local_cd) {
                    /* try { // try from 002c2e1b to 002c47aa has its CatchHandler @ 002c47bb */
      symval.u_.value =
           gold::Symbol_value<32>::value<false>(psymval,(Sized_relobj_file<32,_false> *)this_00,1);
      psymval = &symval;
    }
    uVar70 = (uint3)(in_stack_fffffffffffffefc >> 8);
    if (uVar65 == 100) {
      p_Var62 = (this_00->local_mips16_call_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header.
                _M_parent;
      pp_Var43 = (_List_node_base **)
                 &(this_00->local_mips16_call_stubs_)._M_t._M_impl.super__Rb_tree_header;
      p_Var37 = p_Var62;
      p_Var36 = (_Base_ptr)pp_Var43;
      if (p_Var62 == (_Base_ptr)0x0) goto LAB_002c1c10;
      do {
        if (p_Var37[1]._M_color < _Var51) {
          p_Var32 = p_Var37->_M_right;
        }
        else {
          p_Var32 = p_Var37->_M_left;
          p_Var36 = p_Var37;
        }
        p_Var37 = p_Var32;
      } while (p_Var32 != (_Base_ptr)0x0);
      if ((((_Base_ptr)pp_Var43 == p_Var36) || (_Var51 < p_Var36[1]._M_color)) ||
         (p_Var36[1]._M_parent == (_Base_ptr)0x0)) goto LAB_002c1c10;
      p_Var37 = (_Base_ptr)pp_Var43;
      if (uVar64 != 0) {
        bVar20 = true;
        goto LAB_002c1c10;
      }
      do {
        p_Var36 = p_Var62;
        if (p_Var36[1]._M_color < _Var51) {
          p_Var62 = p_Var36->_M_right;
          p_Var36 = p_Var37;
        }
        else {
          p_Var62 = p_Var36->_M_left;
        }
        p_Var37 = p_Var36;
      } while (p_Var62 != (_Base_ptr)0x0);
      pMVar49 = (Mips_relobj<32,_false> *)0x0;
      if (((_Base_ptr)pp_Var43 != p_Var36) && (p_Var36[1]._M_color <= _Var51)) {
        pMVar49 = (Mips_relobj<32,_false> *)p_Var36[1]._M_parent;
      }
      bVar20 = 0;
      in_stack_fffffffffffffefc = (uint)uVar70 << 8;
      goto LAB_002c1d90;
    }
    pp_Var43 = (_List_node_base **)
               &(this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header;
    p_Var62 = (this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header.
              _M_parent;
    p_Var37 = (_Base_ptr)pp_Var43;
    if (p_Var62 != (_Base_ptr)0x0) {
      do {
        while (p_Var36 = p_Var62, p_Var36[1]._M_color < _Var51) {
          pp_Var18 = &p_Var36->_M_right;
          p_Var62 = *pp_Var18;
          p_Var36 = p_Var37;
          if (*pp_Var18 == (_Base_ptr)0x0) goto LAB_002c2b6a;
        }
        p_Var62 = p_Var36->_M_left;
        p_Var37 = p_Var36;
      } while (p_Var36->_M_left != (_Base_ptr)0x0);
LAB_002c2b6a:
      if ((((_Base_ptr)pp_Var43 == p_Var36) || (_Var51 < p_Var36[1]._M_color)) ||
         (in_stack_fffffffffffffefc = (uint)uVar70 << 8, bVar21 = calculate_only,
         p_Var36[1]._M_parent == (_Base_ptr)0x0)) goto LAB_002c1c10;
      goto LAB_002c15fe;
    }
LAB_002c1c10:
    in_stack_fffffffffffffefc = in_stack_fffffffffffffefc & 0xffffff00;
LAB_002c1c17:
    bVar67 = uVar65 == 100;
LAB_002c13a0:
    bVar68 = (bool)(calculate_only & bVar67);
    bVar21 = bVar68;
    if (bVar68 == false) {
LAB_002c13ac:
      bVar21 = calculate_only;
      uVar39 = uVar39 & 0xf7;
      local_c8 = (Mips_relobj<32,_false> *)(ulong)uVar39;
      pp_Var43 = (_List_node_base **)(ulong)uVar39;
      bVar68 = bVar67;
      if (uVar39 == 0x85) {
LAB_002c1870:
        if (bVar20 != 0) goto LAB_002c187c;
      }
      else {
LAB_002c13c4:
        pp_Var43 = (_List_node_base **)local_c8;
        if (uVar65 - 0x8b < 2) goto LAB_002c1870;
      }
    }
    else {
LAB_002c187c:
      pcVar61 = (char *)gettext("MIPS16 and microMIPS functions cannot call each other");
      gold::gold_error(pcVar61);
    }
LAB_002c13d7:
    if (gsym != (Sized_symbol<32> *)0x0) goto LAB_002c16b8;
    local_cf = (bVar20 ^ 1) & bVar68;
    local_ce = (bool)local_cf;
    if ((bool)local_cf != false) goto LAB_002c1402;
    local_cf = (bVar21 ^ 1) & uVar65 == 0x85;
    if ((bool)local_cf == false) goto LAB_002c1bcf;
    r_types[0] = 0x85;
    r_types[1] = 0;
    r_types[2] = 0;
    local_f0 = 0x21;
    local_b8 = (_Bit_type *)(ulong)(rel_type == 9);
    local_ce = (bool)local_cf;
LAB_002c1d4a:
    if (1 < r_types[0] - 0x8b) {
      uVar39 = (uint)*(ushort *)view;
      pp_Var43 = (_List_node_base **)(ulong)*(ushort *)(view + 2);
LAB_002c1462:
      uVar65 = uVar39 << 0x10 | (uint)pp_Var43;
LAB_002c1467:
      *(uint *)view = uVar65;
    }
  }
  else {
    bVar20 = (byte)(gsym->super_Symbol).field_0x39 >> 2;
    bVar67 = (bVar20 & 0x3c) == 0x3c;
    pMVar28 = (Mips_symbol<64> *)(ulong)bVar67;
    calculate_only = (bVar20 & 0x30) == 0x20;
    local_cd = bVar67 || (bool)calculate_only;
    puVar63 = (uchar *)relnum;
    if ((bVar67 || (bool)calculate_only) &&
       (VVar23 = gold::Symbol_value<32>::value<false>
                           (psymval,(Sized_relobj_file<32,_false> *)this_00,0), VVar23 != 0)) {
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,0);
      symval.u_.value = VVar23 | 1;
      psymval = &symval;
    }
    else {
      local_cd = false;
    }
    local_c8 = (Mips_relobj<32,_false> *)&symval;
    local_98 = (Mips_relobj<32,_false> *)0x0;
    if (uVar65 - 1 < 0xf9) {
      local_98 = (Mips_relobj<32,_false> *)(ulong)(uint)(int)(char)CSWTCH_4890[uVar65 - 1];
    }
    pMVar58 = (Mips_got_info<32,_false> *)gsym;
                    /* try { // try from 002c11cb to 002c1a28 has its CatchHandler @ 002c47bb */
    bVar67 = gold::Symbol::use_plt_offset(&gsym->super_Symbol,(int)local_98);
    cVar5 = *(char *)((long)&gsym[1].super_Symbol.symtab_index_ + 1);
    if (bVar67) {
      if (cVar5 != '\0') goto LAB_002c11e1;
      uVar40 = gsym[1].super_Symbol.dynsym_index_;
      pMVar9 = target->plt_;
      if (uVar40 == 0xffffffff) {
        if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {
          Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar58);
          goto LAB_002c45d2;
        }
        uVar40 = gsym[1].super_Symbol.plt_offset_;
        if (uVar40 == 0xffffffff) {
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/mips.cc",0x9ed,"comp_entry_address");
        }
        if ((pMVar9->field_0x20 & 1) == 0) {
                    /* WARNING: Subroutine does not return */
          Mips_output_data_plt<64,_false>::mips_entry_address
                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);
        }
        bVar20 = target->field_0x14;
        VVar23 = uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +
                 pMVar9->plt0_entry_o32[2];
        if (bVar20 == 0) {
                    /* WARNING: Subroutine does not return */
          is_output_micromips(target);
        }
        local_b8 = (_Bit_type *)(ulong)*(uint *)&target->field_0x10;
        bVar67 = false;
        bVar68 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;
        if (bVar68) {
          pMVar28 = (Mips_symbol<64> *)(ulong)bVar20;
          bVar20 = calculate_only;
        }
      }
      else {
        if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {
LAB_002c4644:
          Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar58);
LAB_002c4649:
                    /* WARNING: Subroutine does not return */
          Mips_output_data_plt<64,_false>::mips_entry_address
                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);
        }
        if ((pMVar9->field_0x20 & 1) == 0) goto LAB_002c4649;
        VVar23 = uVar40 + pMVar9->plt0_entry_o32[2] + pMVar9->plt_header_size_;
        bVar67 = false;
        pMVar28 = (Mips_symbol<64> *)0x0;
        bVar68 = true;
        bVar20 = 0;
      }
LAB_002c1209:
      calculate_only = bVar20;
      symval.u_.value = VVar23;
      psymval = (Symbol_value<32> *)local_c8;
    }
    else {
      bVar67 = false;
      bVar68 = cVar5 == '\0';
      if (!bVar68) {
LAB_002c11e1:
        pMVar8 = target->mips_stubs_;
        if (pMVar8 == (Mips_output_data_mips_stubs<32,_false> *)0x0) {
          mips_stubs_section((Target_mips<32,_false> *)pMVar58);
LAB_002c4653:
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/mips.cc",0x2eda,"relocate");
        }
        if (((pMVar8->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {
                    /* WARNING: Subroutine does not return */
          Mips_output_data_plt<64,_false>::mips_entry_address
                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);
        }
        uVar40 = *(uint *)((long)&gsym[1].super_Symbol.version_ + 4);
        puVar1 = &(pMVar8->super_Output_section_data).super_Output_data.address_;
        bVar67 = CARRY4(uVar40,(uint)*puVar1);
        VVar23 = uVar40 + (int)*puVar1;
        bVar68 = VVar23 == 0;
        bVar20 = calculate_only;
        goto LAB_002c1209;
      }
    }
    bVar20 = (byte)pMVar28;
    pMVar55 = (Mips_symbol<64> *)(gsym->super_Symbol).name_;
    lVar42 = 9;
    pMVar54 = pMVar55;
    pbVar59 = (byte *)"_gp_disp";
    do {
      if (lVar42 == 0) break;
      lVar42 = lVar42 + -1;
      bVar3 = *(byte *)&(pMVar54->super_Sized_symbol<64>).super_Symbol.name_;
      bVar67 = bVar3 < *pbVar59;
      bVar68 = bVar3 == *pbVar59;
      pMVar54 = (Mips_symbol<64> *)((long)pMVar54 + (ulong)bVar21 * -2 + 1);
      pbVar59 = pbVar59 + (ulong)bVar21 * -2 + 1;
    } while (bVar68);
    pp_Var43 = (_List_node_base **)0xf;
    bVar68 = !bVar67 && !bVar68;
    bVar66 = bVar68 < bVar67;
    bVar69 = bVar68 == bVar67;
    pMVar49 = (Mips_relobj<32,_false> *)"__gnu_local_gp";
    do {
      pMVar54 = pMVar55;
      pMVar60 = pMVar49;
      if ((Mips_relobj<32,_false> *)pp_Var43 == (Mips_relobj<32,_false> *)0x0) break;
      pp_Var43 = (_List_node_base **)
                 &((Mips_relobj<32,_false> *)((long)pp_Var43 + -0x420))->field_0x41f;
      pMVar60 = (Mips_relobj<32,_false> *)((long)pMVar49 + (ulong)bVar21 * -2 + 1);
      pMVar54 = (Mips_symbol<64> *)((long)pMVar55 + (ulong)bVar21 * -2 + 1);
      bVar4 = *(byte *)&(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                        super_Relobj.super_Object._vptr_Object;
      bVar3 = *(byte *)&(pMVar55->super_Sized_symbol<64>).super_Symbol.name_;
      bVar66 = bVar3 < bVar4;
      bVar69 = bVar3 == bVar4;
      pMVar55 = pMVar54;
      pMVar49 = pMVar60;
    } while (bVar69);
    if (bVar68 != bVar67) {
      if ((!bVar66 && !bVar69) == bVar66) {
LAB_002c1750:
        if (target->gp_ == (Sized_symbol<32> *)0x0) {
          symval.u_.value = 0;
        }
        else {
          symval.u_.value = target->gp_->value_;
          if (((target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&
              (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&
             (pMVar60 = this_00, this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {
            symval.u_.value = symval.u_.value + this_00->got_info_->offset_;
          }
        }
        psymval = (Symbol_value<32> *)local_c8;
        pp_Var43 = (_List_node_base **)target;
      }
LAB_002c15d8:
      in_stack_fffffffffffffefc = in_stack_fffffffffffffefc & 0xffffff00;
      if (uVar65 != 100) goto LAB_002c15e9;
LAB_002c12e3:
      pMVar60 = (Mips_relobj<32,_false> *)gsym[1].super_Symbol.got_offsets_.got_next_;
      if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {
        if ((*(long *)&gsym[1].super_Symbol.field_0x38 == 0) ||
           (((gsym->super_Symbol).plt_offset_ == 0xffffffff && (bVar20 != 0)))) goto LAB_002c1304;
        pMVar49 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;
LAB_002c1d90:
        local_c8 = (Mips_relobj<32,_false> *)&symval;
        symval.u_.value =
             Mips16_stub_section<32,_false>::output_address
                       ((Mips16_stub_section<32,_false> *)pMVar49,
                        (Mips16_stub_section<32,_false> *)
                        &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>
                         .super_Relobj.super_Object.name_);
        psymval = (Symbol_value<32> *)local_c8;
        bVar67 = true;
        local_cd = true;
        goto LAB_002c13a0;
      }
      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0)) {
        pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;
        pMVar49 = pMVar60;
        if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {
          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                   super_Relobj.super_Object.shnum_;
          pp_Var43 = (_List_node_base **)(ulong)uVar40;
          if (1 < uVar40) {
            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).
                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.
                      _M_start.super__Bit_iterator_base._M_p;
            pMVar47 = (Mips_relobj<32,_false> *)
                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).
                               super__Bvector_base<std::allocator<bool>_>._M_impl.
                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset
                       + ((long)(this_00->section_is_mips16_call_fp_stub_).
                                super__Bvector_base<std::allocator<bool>_>._M_impl.
                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -
                         (long)p_Var15) * 8) -
                      (ulong)(this_00->section_is_mips16_call_fp_stub_).
                             super__Bvector_base<std::allocator<bool>_>._M_impl.
                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);
            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {
              puVar63 = (uchar *)0x1;
              pp_Var43 = (_List_node_base **)0x1;
              do {
                pMVar49 = pMVar14;
                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||
                   (pMVar49 = pMVar60,
                   (Mips_relobj<32,_false> *)pp_Var43 ==
                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;
                pp_Var43 = (_List_node_base **)
                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->
                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>
                                   .super_Relobj.super_Object._vptr_Object + 1);
              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);
            }
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");
          }
        }
        goto LAB_002c1d90;
      }
LAB_002c1304:
      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);
      if (iVar25 != -1) goto LAB_002c17c6;
      bVar67 = true;
LAB_002c1320:
      local_c8 = (Mips_relobj<32,_false> *)&symval;
      if ((gsym->super_Symbol).plt_offset_ != 0xffffffff) {
        uVar40 = gsym[1].super_Symbol.plt_offset_;
        pp_Var43 = (_List_node_base **)(ulong)uVar40;
        if ((uVar40 != 0xffffffff) && (gsym[1].super_Symbol.dynsym_index_ != 0xffffffff)) {
          pMVar9 = target->plt_;
          if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {
            Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);
LAB_002c46ec:
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");
          }
          if ((pMVar9->field_0x20 & 1) == 0) {
                    /* WARNING: Subroutine does not return */
            Mips_output_data_plt<64,_false>::mips_entry_address
                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);
          }
          symval.u_.value =
               uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +
               pMVar9->plt0_entry_o32[2];
          pp_Var43 = (_List_node_base **)(ulong)symval.u_.value;
          if (target->field_0x14 == '\0') {
LAB_002c46dd:
                    /* WARNING: Subroutine does not return */
            is_output_micromips((Target_mips<32,_false> *)pMVar60);
          }
          psymval = (Symbol_value<32> *)local_c8;
          bVar20 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;
          calculate_only = !(bool)bVar20;
        }
      }
      goto LAB_002c13a0;
    }
    bVar21 = this_00->field_0x36c;
    pMVar60 = (Mips_relobj<32,_false> *)(ulong)bVar21;
    local_b8 = (_Bit_type *)(ulong)bVar21;
    bVar21 = bVar21 >> 1 & 1 ^ 1;
    if ((!bVar66 && !bVar69) == bVar66) {
      if (bVar21 == 0) goto LAB_002c1750;
    }
    else if (bVar21 == 0) goto LAB_002c15d8;
    if ((((1 < uVar65 - 0x68) && (1 < uVar65 - 5)) && (1 < uVar65 - 0x86)) && (1 < uVar65 - 0x40)) {
      pp_Var43 = (_List_node_base **)
                 gettext(
                        "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."
                        );
      pMVar54 = (Mips_symbol<64> *)relnum;
      pMVar60 = (Mips_relobj<32,_false> *)relinfo;
      gold::gold_error_at_location<32,_false>(relinfo,relnum,(ulong)uVar7,(char *)pp_Var43);
    }
    in_stack_fffffffffffffefc = CONCAT31((int3)(in_stack_fffffffffffffefc >> 8),1);
    if (uVar65 == 100) goto LAB_002c12e3;
LAB_002c15e9:
    lVar42._0_4_ = gsym[1].super_Symbol.got_offsets_.got_type_;
    lVar42._4_4_ = gsym[1].super_Symbol.got_offsets_.got_offset_;
    if (lVar42 == 0) {
LAB_002c17b9:
      bVar20 = (byte)pMVar28;
      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);
      if (iVar25 == -1) {
LAB_002c1848:
        bVar67 = uVar65 == 100;
        if (uVar65 == 0x85 || bVar67) goto LAB_002c1320;
        bVar67 = false;
        goto LAB_002c13ac;
      }
LAB_002c17c6:
      bVar20 = (byte)pMVar28;
      local_c8 = (Mips_relobj<32,_false> *)&symval;
      if ((this_00->field_0x36c & 1) != 0) goto LAB_002c1848;
      pMVar60 = (Mips_relobj<32,_false> *)(ulong)uVar65;
      bVar67 = relocation_needs_la25_stub<32,_true>
                         ((Mips_relobj<32,_true> *)pMVar60,(uint)pMVar28,SUB41(iVar25,0));
      pMVar54 = pMVar28;
      if (!bVar67) goto LAB_002c1848;
      pMVar10 = target->la25_stub_;
      if (pMVar10 == (Mips_output_data_la25_stub<32,_false> *)0x0) {
        la25_stub_section((Target_mips<32,_false> *)pMVar60);
        goto LAB_002c46aa;
      }
      if (((pMVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {
                    /* WARNING: Subroutine does not return */
        Mips_output_data_plt<64,_false>::mips_entry_address
                  ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar28);
      }
      psymval = (Symbol_value<32> *)local_c8;
      bVar67 = uVar65 == 100;
      symval.u_.value =
           extraout_EDX + (int)(pMVar10->super_Output_section_data).super_Output_data.address_ +
           (uint)(((byte)(gsym->super_Symbol).field_0x39 >> 2 & 0x30) == 0x20);
      bVar68 = (bool)(calculate_only & bVar67);
      pp_Var43 = (_List_node_base **)local_c8;
      bVar21 = bVar68;
      if (bVar68 == false) goto LAB_002c13ac;
      goto LAB_002c187c;
    }
    bVar21 = calculate_only;
    if ((uVar65 == 0x67) && (*(char *)&gsym[1].super_Symbol.name_ == '\0')) {
      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);
      if (iVar25 != -1) goto LAB_002c17c6;
      bVar67 = false;
      goto LAB_002c13ac;
    }
LAB_002c15fe:
    bVar20 = (byte)pMVar28;
    local_c8 = (Mips_relobj<32,_false> *)&symval;
    uVar40 = relinfo->data_shndx;
    unaff_R13 = (Mips_symbol<64> *)(ulong)uVar40;
    pMVar54 = unaff_R13;
    pMVar60 = this_00;
    bVar67 = Mips_relobj<32,_false>::is_mips16_stub_section(this_00,uVar40);
    if ((bVar67) || (uVar40 == this_00->pdr_shndx_)) {
      calculate_only = bVar21;
      if (gsym == (Sized_symbol<32> *)0x0) goto LAB_002c1c17;
      goto LAB_002c17b9;
    }
    if (gsym == (Sized_symbol<32> *)0x0) {
      this_02 = (Mips_symbol<32> *)
                (this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header.
                _M_parent;
      p_Var2 = &(this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header;
      pMVar35 = (Mips16_stub_section<32,_false> *)p_Var2;
      if (this_02 != (Mips_symbol<32> *)0x0) {
        do {
          pMVar34 = this_02;
          if ((pMVar34->super_Sized_symbol<32>).super_Symbol.dynsym_index_ < _Var51) {
            this_02 = *(Mips_symbol<32> **)&(pMVar34->super_Sized_symbol<32>).super_Symbol.u2_;
            pMVar34 = (Mips_symbol<32> *)pMVar35;
          }
          else {
            this_02 = *(Mips_symbol<32> **)((long)&pMVar34->super_Sized_symbol<32> + 0x10);
          }
          pMVar35 = (Mips16_stub_section<32,_false> *)pMVar34;
        } while (this_02 != (Mips_symbol<32> *)0x0);
        this_02 = (Mips_symbol<32> *)0x0;
        if (((Mips_symbol<32> *)p_Var2 != pMVar34) &&
           (*(_Rb_tree_color *)&((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->object_
            <= _Var51)) {
          this_02 = *(Mips_symbol<32> **)
                     &((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->shndx_;
        }
      }
LAB_002c3d91:
      symval.u_.value =
           Mips16_stub_section<32,_false>::output_address
                     ((Mips16_stub_section<32,_false> *)this_02,
                      (Mips16_stub_section<32,_false> *)
                      &((Mips16_stub_section<32,_false> *)this_02)->shndx_);
      bVar68 = uVar65 == 100;
      bVar20 = 0;
      pp_Var43 = (_List_node_base **)(ulong)(uVar39 & 0xf7);
      if ((uVar39 & 0xf7) != 0x85) {
        local_cd = true;
        psymval = (Symbol_value<32> *)local_c8;
        bVar20 = 0;
        goto LAB_002c13c4;
      }
      psymval = (Symbol_value<32> *)local_c8;
      local_cd = true;
      goto LAB_002c13d7;
    }
    if (*(char *)&gsym[1].super_Symbol.name_ == '\0') {
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/mips.cc",0x2d5f,"relocate");
    }
    iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);
    if (iVar25 == -1) {
      this_02 = *(Mips_symbol<32> **)&gsym[1].super_Symbol.got_offsets_;
      goto LAB_002c3d91;
    }
    pMVar10 = target->la25_stub_;
    if (pMVar10 == (Mips_output_data_la25_stub<32,_false> *)0x0) {
      la25_stub_section((Target_mips<32,_false> *)pMVar60);
LAB_002c46d8:
      Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
      goto LAB_002c46dd;
    }
    bVar20 = (pMVar10->super_Output_section_data).super_Output_data.field_0x20;
    uVar40 = bVar20 & 1;
    pp_Var43 = (_List_node_base **)(ulong)uVar40;
    local_cd = SUB41(uVar40,0);
    if ((bVar20 & 1) == 0) {
LAB_002c4670:
                    /* WARNING: Subroutine does not return */
      Mips_output_data_plt<64,_false>::mips_entry_address
                ((Mips_output_data_plt<64,_false> *)pMVar60,(Mips_symbol<64> *)target);
    }
    bVar68 = uVar65 == 100;
    symval.u_.value = iVar25 + (int)(pMVar10->super_Output_section_data).super_Output_data.address_;
    bVar20 = 0;
    if ((uVar39 & 0xf7) != 0x85) {
      psymval = (Symbol_value<32> *)local_c8;
      local_c8 = (Mips_relobj<32,_false> *)pp_Var43;
      bVar20 = 0;
      goto LAB_002c13c4;
    }
    psymval = (Symbol_value<32> *)local_c8;
LAB_002c16b8:
    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);
    if (bVar67) {
      local_cf = 0;
    }
    else {
      local_cf = (bVar20 ^ 1) & bVar68;
      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {
LAB_002c1bcf:
        local_cf = uVar65 == 4 || uVar65 == 0x25;
        if (uVar65 == 4 || uVar65 == 0x25) {
          local_cf = bVar21 | bVar20;
        }
        if (gsym == (Sized_symbol<32> *)0x0) {
          local_ce = true;
          goto LAB_002c1402;
        }
      }
    }
    uVar39 = (gsym->super_Symbol).dynsym_index_;
    puVar63 = (uchar *)(ulong)uVar39;
    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {
      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);
      if ((!local_ce) &&
         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))
      goto LAB_002c1ab9;
LAB_002c1402:
      local_f0 = uVar65 - 100;
      uVar46 = (ulong)(uVar65 - 0x85);
      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);
      r_types[1] = 0;
      r_types[2] = 0;
      if (0xc < local_f0) goto LAB_002c1b2f;
      uVar38 = *(ushort *)view;
      uVar39 = (uint)uVar38;
      uVar6 = *(ushort *)(view + 2);
      pp_Var43 = (_List_node_base **)(ulong)uVar6;
      r_types[0] = uVar65;
      if (uVar65 - 0x85 < 0x29) {
        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;
        goto LAB_002c1462;
      }
      if (uVar65 == 100) {
        local_f0 = 0;
        goto LAB_002c1462;
      }
LAB_002c1c3c:
      uVar65 = uVar6 & 0x1f;
      pp_Var43 = (_List_node_base **)(ulong)uVar65;
      uVar65 = uVar38 & 0x7e0 | uVar65 |
               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |
               (uint)(((ulong)uVar38 & 0x1f) << 0xb);
      goto LAB_002c1467;
    }
                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */
    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);
    if ((local_ce) ||
       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))
    goto LAB_002c1402;
LAB_002c1ab9:
    uVar65 = uVar65 - 0x85;
    pp_Var43 = (_List_node_base **)(ulong)uVar65;
    if (uVar65 < 0x29) {
      uVar27 = 1L << ((byte)uVar65 & 0x3f) & 0x1b3e1fff3ff;
      uVar46 = (ulong)((-(uint)(uVar27 == 0) & 0xffffff82) + 0xc);
      local_f0 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x2d;
      uVar65 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x91;
    }
    else {
      uVar46 = 0xffffff8e;
      uVar65 = 0x13;
      local_f0 = 0xffffffaf;
    }
    r_types[1] = 0;
    r_types[2] = 0;
    local_ce = false;
    local_b8 = (_Bit_type *)(ulong)(rel_type == 9);
LAB_002c1b2f:
    r_types[0] = uVar65;
    if (((uint)uVar46 < 0x29) && ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;
  }
  r_types[1] = 0;
  r_types[2] = 0;
  unaff_R13 = (Mips_symbol<64> *)r_types;
  SVar26 = STATUS_OKAY;
  local_e4 = 0;
  pMVar28 = (Mips_symbol<64> *)&symval;
  uVar65 = r_types[0];
  local_d8 = pMVar28;
  lo16_reloc = r_types[0];
  while( true ) {
    local_98 = (Mips_relobj<32,_false> *)(ulong)lo16_reloc;
    local_c8 = (Mips_relobj<32,_false> *)&symval;
    if (lo16_reloc == _S_red) break;
    target_00 = (Target_mips<32,_false> *)(ulong)local_c0;
    uVar39 = CONCAT31((int3)(uVar7 >> 8),local_bc == uVar7) &
             (uint)CONCAT71((int7)((ulong)pMVar28 >> 8),local_c0 != 0);
    calculate_only = (byte)uVar39;
    uVar17 = (undefined3)(uVar39 >> 8);
    pMVar53 = (Mips_output_data_got<32,_false> *)this;
    pRVar52 = this;
    pp_Var56 = (_List_node_base **)local_98;
    pMVar60 = (Mips_relobj<32,_false> *)psymval;
    if (this->calculate_only_ == false) {
      this->calculate_only_ = (bool)calculate_only;
      puVar44 = (uint *)pp_Var43;
      switch(local_98) {
      default:
        goto switchD_002c18c9_caseD_0;
      case (Mips_relobj<32,_false> *)0x1:
        uVar38 = *(ushort *)view;
        if ((char)local_b8 == '\0') {
LAB_002c46aa:
          local_b0 = local_cc;
        }
        else {
          pp_Var43 = (_List_node_base **)(ulong)(uVar38 - 0x10000);
          local_b0 = (uint)uVar38;
          if ((short)uVar38 < 0) {
            local_b0 = uVar38 - 0x10000;
          }
        }
        goto LAB_002c359b;
      case (Mips_relobj<32,_false> *)0x2:
        goto switchD_002c18c9_caseD_2;
      case (Mips_relobj<32,_false> *)0x3:
        goto switchD_002c14fa_caseD_3;
      case (Mips_relobj<32,_false> *)0x4:
      case (Mips_relobj<32,_false> *)0x64:
      case (Mips_relobj<32,_false> *)0x85:
        bVar21 = (calculate_only ^ 1) & local_cf;
        pp_Var43 = (_List_node_base **)(ulong)CONCAT31(uVar17,bVar21);
        local_b0 = local_cc;
        uVar39 = *(uint *)view;
        if ((char)local_b8 == '\0') {
LAB_002c38d3:
          if ((char)pp_Var43 == '\0') {
LAB_002c38db:
            uVar22 = SUB81(target_00,0);
            bVar67 = gsym == (Sized_symbol<32> *)0x0;
            if ((local_cf == 1) || (lo16_reloc != 0x85)) goto LAB_002c34d9;
            if (bVar67) {
              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;
              uVar40 = 0xf8000000;
              goto LAB_002c34f1;
            }
            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;
            uVar40 = local_b0 & 0x7ffffff;
            if ((local_b0 & 0x4000000) != 0) {
              uVar40 = (local_b0 & 0x7ffffff) + 0xf8000000;
            }
            goto LAB_002c3505;
          }
LAB_002c40ff:
          pp_Var56 = (_List_node_base **)this_00;
          VVar23 = gold::Symbol_value<32>::value<false>
                             (psymval,(Sized_relobj_file<32,_false> *)this_00,0);
          if ((VVar23 & 3) == (uint)(lo16_reloc == 4)) goto LAB_002c38db;
          pcVar61 = (char *)gettext("JALX to a non-word-aligned address");
          gold::gold_warning(pcVar61);
LAB_002c413e:
          SVar26 = STATUS_BAD_RELOC;
        }
        else {
          if (lo16_reloc == 0x85) {
            local_b0 = uVar39 * 2 & 0x7fffffe;
            goto LAB_002c38d3;
          }
          local_b0 = (uVar39 & 0x3ffffff) << 2;
          if (bVar21 != 0) {
            local_b8 = (_Bit_type *)(ulong)bVar21;
            goto LAB_002c40ff;
          }
LAB_002c34d9:
          uVar22 = SUB81(target_00,0);
          bVar67 = gsym == (Sized_symbol<32> *)0x0;
          if (bVar67) {
            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;
            uVar40 = 0xf0000000;
LAB_002c34f1:
            bVar67 = true;
            uVar40 = address + 4 & uVar40 | local_b0;
          }
          else {
            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;
            uVar40 = local_b0 & 0xfffffff;
            if ((local_b0 & 0x8000000) != 0) {
              uVar40 = (local_b0 & 0xfffffff) + 0xf0000000;
            }
          }
LAB_002c3505:
          pp_Var56 = (_List_node_base **)this_00;
          VVar23 = gold::Symbol_value<32>::value<false>
                             (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar40);
          uVar40 = VVar23 >> (sbyte)in_stack_fffffffffffffee8;
          pSVar48 = extraout_RDX;
          if ((((bool)calculate_only == false) && (!bVar67)) &&
             (pMVar60 = (Mips_relobj<32,_false> *)gsym,
             bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol),
             pSVar48 = extraout_RDX_00, !bVar67)) {
            uVar41 = (int)in_stack_fffffffffffffee8 + 0x1a;
            pp_Var43 = (_List_node_base **)(ulong)uVar41;
            uVar45 = uVar40 >> 0x1a;
            pSVar48 = (Symbol_value<32> *)(ulong)uVar45;
            if (uVar45 != address + 4 >> ((byte)uVar41 & 0x1f)) goto LAB_002c3567;
          }
          uVar40 = uVar39 ^ (uVar40 ^ uVar39) & 0x3ffffff;
          pp_Var43 = (_List_node_base **)(ulong)uVar40;
          if (local_cf != 0) {
            uVar39 = uVar39 >> 0x1a;
            uVar50 = (undefined7)((ulong)pSVar48 >> 8);
            if (lo16_reloc == 100) {
              iVar25 = 7;
              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 6 < 2);
            }
            else if (lo16_reloc == 0x85) {
              iVar25 = 0x3c;
              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 0x3c < 2);
            }
            else {
              pSVar48 = (Symbol_value<32> *)
                        (ulong)((uint)CONCAT71(uVar50,uVar39 == 3) | (uint)(uVar39 == 0x1d));
              iVar25 = 0x1d;
            }
            if (((bool)calculate_only == false) && ((char)pSVar48 == '\0')) {
              pcVar61 = (char *)gettext(
                                       "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."
                                       );
              gold::gold_error(pcVar61);
              goto LAB_002c413e;
            }
            pp_Var43 = (_List_node_base **)(ulong)(uVar40 & 0x3ffffff | iVar25 << 0x1a);
          }
          if (gold::parameters->options_ == (General_options *)0x0) {
LAB_002c4770:
                    /* WARNING: Subroutine does not return */
            Mips_relocate_functions<32,_false>::rel26
                      ((uchar *)pMVar60,(Mips_relobj<32,_false> *)pp_Var56,pSVar48,
                       (Mips_address)pp_Var43,(bool)uVar22,(Mips_address)puVar63,
                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,
                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,
                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),
                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8));
          }
          if ((bool)calculate_only == false) {
            SVar26 = STATUS_OKAY;
            *(Valtype *)view = (Valtype)pp_Var43;
          }
          else {
            SVar26 = STATUS_OKAY;
            this->calculated_value_ = (Valtype)pp_Var43;
          }
        }
        goto LAB_002c1e60;
      case (Mips_relobj<32,_false> *)0x5:
      case (Mips_relobj<32,_false> *)0x68:
      case (Mips_relobj<32,_false> *)0x86:
        goto switchD_002c18c9_caseD_5;
      case (Mips_relobj<32,_false> *)0x6:
      case (Mips_relobj<32,_false> *)0x69:
      case (Mips_relobj<32,_false> *)0x87:
      case (Mips_relobj<32,_false> *)0x9d:
        local_b0 = local_cc;
        in_stack_fffffffffffffef8 = *(uint *)view;
        if ((char)local_b8 != '\0') {
          uVar40 = in_stack_fffffffffffffef8 & 0xffff;
          pp_Var56 = (_List_node_base **)(ulong)uVar40;
          local_b0 = uVar40 - 0x10000;
          if ((in_stack_fffffffffffffef8 & 0x8000) == 0) {
            local_b0 = uVar40;
          }
        }
        goto LAB_002c3615;
      case (Mips_relobj<32,_false> *)0x7:
      case (Mips_relobj<32,_false> *)0x8:
      case (Mips_relobj<32,_false> *)0x65:
      case (Mips_relobj<32,_false> *)0x88:
      case (Mips_relobj<32,_false> *)0x89:
      case (Mips_relobj<32,_false> *)0xac:
        local_b0 = local_cc;
        pSVar33 = target->gp_;
        if (pSVar33 != (Sized_symbol<32> *)0x0) goto LAB_002c370d;
        VVar57 = 0;
LAB_002c3751:
        uVar40 = *(uint *)view;
        local_cc = local_b0;
        if ((char)local_b8 != '\0') {
          if (lo16_reloc == 0xac) {
            local_b0 = uVar40 * 4 & 0x1fc;
          }
          else {
            local_b0 = (uVar40 & 0xffff) - 0x10000;
            if ((uVar40 & 0x8000) == 0) {
              local_b0 = uVar40 & 0xffff;
            }
          }
        }
        goto LAB_002c378b;
      case (Mips_relobj<32,_false> *)0x9:
      case (Mips_relobj<32,_false> *)0x66:
      case (Mips_relobj<32,_false> *)0x8a:
        goto switchD_002c18c9_caseD_9;
      case (Mips_relobj<32,_false> *)0xa:
        local_b0 = local_cc;
        goto LAB_002c2e45;
      case (Mips_relobj<32,_false> *)0xb:
      case (Mips_relobj<32,_false> *)0x67:
      case (Mips_relobj<32,_false> *)0x8e:
        goto switchD_002c18c9_caseD_b;
      case (Mips_relobj<32,_false> *)0xc:
        goto switchD_002c18c9_caseD_c;
      case (Mips_relobj<32,_false> *)0x12:
        goto switchD_002c18c9_caseD_12;
      case (Mips_relobj<32,_false> *)0x13:
      case (Mips_relobj<32,_false> *)0x91:
      case (Mips_relobj<32,_false> *)0xf9:
        goto switchD_002c18c9_caseD_13;
      case (Mips_relobj<32,_false> *)0x14:
      case (Mips_relobj<32,_false> *)0x92:
        goto switchD_002c18c9_caseD_14;
      case (Mips_relobj<32,_false> *)0x15:
      case (Mips_relobj<32,_false> *)0x93:
        goto switchD_002c18c9_caseD_15;
      case (Mips_relobj<32,_false> *)0x16:
      case (Mips_relobj<32,_false> *)0x1e:
      case (Mips_relobj<32,_false> *)0x94:
      case (Mips_relobj<32,_false> *)0x99:
        goto switchD_002c18c9_caseD_16;
      case (Mips_relobj<32,_false> *)0x17:
      case (Mips_relobj<32,_false> *)0x1f:
      case (Mips_relobj<32,_false> *)0x95:
      case (Mips_relobj<32,_false> *)0x9a:
        goto switchD_002c18c9_caseD_17;
      case (Mips_relobj<32,_false> *)0x18:
      case (Mips_relobj<32,_false> *)0x96:
        local_b0 = local_cc;
        if ((char)local_b8 != '\0') {
          local_b0 = *(Value *)view;
        }
        goto LAB_002c2efa;
      case (Mips_relobj<32,_false> *)0x1c:
      case (Mips_relobj<32,_false> *)0x97:
        local_b0 = local_cc;
        goto LAB_002c1ed8;
      case (Mips_relobj<32,_false> *)0x1d:
      case (Mips_relobj<32,_false> *)0x98:
        local_b0 = local_cc;
        goto LAB_002c2f32;
      case (Mips_relobj<32,_false> *)0x25:
      case (Mips_relobj<32,_false> *)0x9c:
        goto switchD_002c18c9_caseD_25;
      case (Mips_relobj<32,_false> *)0x27:
      case (Mips_relobj<32,_false> *)0x29:
        goto switchD_002c18c9_caseD_27;
      case (Mips_relobj<32,_false> *)0x2a:
      case (Mips_relobj<32,_false> *)0x6a:
      case (Mips_relobj<32,_false> *)0xa2:
        goto switchD_002c18c9_caseD_2a;
      case (Mips_relobj<32,_false> *)0x2b:
      case (Mips_relobj<32,_false> *)0x6b:
      case (Mips_relobj<32,_false> *)0xa3:
        goto switchD_002c18c9_caseD_2b;
      case (Mips_relobj<32,_false> *)0x2c:
      case (Mips_relobj<32,_false> *)0x6c:
      case (Mips_relobj<32,_false> *)0xa4:
        goto switchD_002c18c9_caseD_2c;
      case (Mips_relobj<32,_false> *)0x2d:
      case (Mips_relobj<32,_false> *)0x6d:
      case (Mips_relobj<32,_false> *)0xa5:
        goto switchD_002c18c9_caseD_2d;
      case (Mips_relobj<32,_false> *)0x2e:
      case (Mips_relobj<32,_false> *)0x6e:
      case (Mips_relobj<32,_false> *)0xa6:
        goto switchD_002c18c9_caseD_2e;
      case (Mips_relobj<32,_false> *)0x2f:
      case (Mips_relobj<32,_false> *)0x30:
        goto switchD_002c18c9_caseD_2f;
      case (Mips_relobj<32,_false> *)0x31:
      case (Mips_relobj<32,_false> *)0x6f:
      case (Mips_relobj<32,_false> *)0xa9:
        goto switchD_002c18c9_caseD_31;
      case (Mips_relobj<32,_false> *)0x32:
      case (Mips_relobj<32,_false> *)0x70:
      case (Mips_relobj<32,_false> *)0xaa:
        goto switchD_002c18c9_caseD_32;
      case (Mips_relobj<32,_false> *)0x3c:
        local_b0 = local_cc;
        goto LAB_002c2f96;
      case (Mips_relobj<32,_false> *)0x3d:
        local_b0 = local_cc;
        goto LAB_002c304d;
      case (Mips_relobj<32,_false> *)0x3e:
        local_b0 = local_cc;
        goto LAB_002c3104;
      case (Mips_relobj<32,_false> *)0x3f:
        local_b0 = local_cc;
        goto LAB_002c31c0;
      case (Mips_relobj<32,_false> *)0x40:
        goto switchD_002c18c9_caseD_40;
      case (Mips_relobj<32,_false> *)0x41:
        local_b0 = local_cc;
        goto LAB_002c330f;
      case (Mips_relobj<32,_false> *)0x8b:
        local_b0 = local_cc;
        goto LAB_002c3385;
      case (Mips_relobj<32,_false> *)0x8c:
        local_b0 = local_cc;
        goto LAB_002c328d;
      case (Mips_relobj<32,_false> *)0x8d:
        local_b0 = local_cc;
        goto LAB_002c33fc;
      case (Mips_relobj<32,_false> *)0xf8:
        local_b0 = local_cc;
        if ((char)local_b8 != '\0') {
          local_b0 = *(Value *)view;
        }
        goto LAB_002c3260;
      }
    }
    local_cc = this->calculated_value_;
    this->calculate_only_ = (bool)calculate_only;
    puVar44 = &switchD_002c14fa::switchdataD_0055d438;
    pp_Var43 = (_List_node_base **)puVar44;
    local_b0 = local_cc;
    switch(local_98) {
    default:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_0:
      pp_Var43 = (_List_node_base **)gettext("unsupported reloc %u");
      pp_Var56 = (_List_node_base **)relnum;
      gold::gold_error_at_location<32,_false>(relinfo,relnum,(ulong)uVar7,(char *)pp_Var43,local_98)
      ;
      break;
    case (Mips_relobj<32,_false> *)0x1:
      local_b8 = (_Bit_type *)0x0;
      local_b0 = local_cc;
LAB_002c359b:
      pp_Var56 = (_List_node_base **)this_00;
      uVar39 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      if (calculate_only != 0) goto LAB_002c1f30;
      *(short *)view = (short)uVar39;
      SVar26 = (Status)(0xffff < uVar39 + 0x8000);
      break;
    case (Mips_relobj<32,_false> *)0x2:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_2:
      pp_Var56 = (_List_node_base **)0x2;
      pp_Var43 = (_List_node_base **)target;
      bVar67 = should_apply_static_reloc
                         ((Relocate *)gsym,(Mips_symbol<32> *)0x2,(uint)output_section,
                          (Output_section *)target,target_00);
      if (bVar67) {
        bVar67 = this->calculate_only_;
        VVar23 = local_cc;
        if ((char)local_b8 != '\0') {
          VVar23 = *(Value *)view;
        }
        pp_Var56 = (_List_node_base **)this_00;
        VVar23 = gold::Symbol_value<32>::value<false>
                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);
        if (bVar67 == false) {
          SVar26 = STATUS_OKAY;
          *(Value *)view = VVar23;
        }
        else {
          SVar26 = STATUS_OKAY;
          this->calculated_value_ = VVar23;
        }
      }
      if (((gsym != (Sized_symbol<32> *)0x0) &&
          ((bVar21 = (byte)(gsym->super_Symbol).field_0x39 >> 2, (bVar21 & 0x3c) == 0x3c ||
           ((bVar21 & 0x30) == 0x20)))) && (*(int *)((long)&gsym[1].super_Symbol.u1_ + 4) == 1)) {
        pMVar60 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.got_offsets_;
        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
          if (*(char *)&gsym[1].super_Symbol.name_ == '\0') goto LAB_002c473f;
          pp_Var56 = (_List_node_base **)
                     &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                      super_Relobj.super_Object.name_;
          symval.u_.value =
               Mips16_stub_section<32,_false>::output_address
                         ((Mips16_stub_section<32,_false> *)pMVar60,
                          (Mips16_stub_section<32,_false> *)pp_Var56);
          psymval = (Symbol_value<32> *)local_c8;
        }
        local_e4 = gsym[1].super_Symbol.u2_.shndx;
        pMVar53 = target->got_;
        if (pMVar53 == (Mips_output_data_got<32,_false> *)0x0) {
          do {
            pMVar31 = Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
            uVar39 = (uint)pMVar31;
LAB_002c2940:
            *(uint *)&(pMVar53->super_Output_data_got<32,_false>).super_Output_data_got_base.
                      super_Output_section_data_build.super_Output_section_data.super_Output_data.
                      _vptr_Output_data = uVar39;
            SVar26 = STATUS_OKAY;
LAB_002c2945:
            if (local_cd == false) goto LAB_002c1e60;
            pMVar53 = target->got_;
          } while (pMVar53 == (Mips_output_data_got<32,_false> *)0x0);
          if (gsym != (Sized_symbol<32> *)0x0) goto LAB_002c2967;
        }
        else {
LAB_002c2967:
          if ((char)gsym[1].value_ != '\0') {
            pp_Var56 = (_List_node_base **)this_00;
            this_01 = (Symbol *)psymval;
            VVar23 = gold::Symbol_value<32>::value<false>
                               (psymval,(Sized_relobj_file<32,_false> *)this_00,0);
            if (*(int *)((long)&gsym[1].super_Symbol.u1_ + 4) == 2) {
LAB_002c461d:
                    /* WARNING: Subroutine does not return */
              gold::do_gold_unreachable("../../gold/mips.cc",0x895,"get_primary_got_offset");
            }
            pMVar58 = pMVar53->primary_got_;
            if (pMVar58 == (Mips_got_info<32,_false> *)0x0) {
              iVar25 = pMVar53->master_got_info_->page_gotno_ +
                       pMVar53->master_got_info_->local_gotno_;
            }
            else {
              iVar25 = pMVar58->page_gotno_ + pMVar58->local_gotno_;
            }
            uVar39 = (gsym->super_Symbol).dynsym_index_;
            if (uVar39 == 0) {
              gold::Symbol::dynsym_index(this_01);
              goto LAB_002c461d;
            }
            pp_Var43 = (_List_node_base **)pMVar53->got_view_;
            *(Value *)((long)&(((Mips_relobj<32,_false> *)pp_Var43)->
                              super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                              super_Relobj.super_Object._vptr_Object +
                      (ulong)(((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *
                              0x20 >> 3)) = VVar23;
            break;
          }
        }
        pp_Var56 = (_List_node_base **)this_00;
        VVar23 = gold::Symbol_value<32>::value<false>
                           (psymval,(Sized_relobj_file<32,_false> *)this_00,0);
        pp_Var43 = (_List_node_base **)pMVar53->got_view_;
        *(Value *)((long)&(((Mips_relobj<32,_false> *)pp_Var43)->super_Sized_relobj_file<32,_false>)
                          .super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object +
                  (ulong)local_e4) = VVar23;
      }
      break;
    case (Mips_relobj<32,_false> *)0x3:
switchD_002c14fa_caseD_3:
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/mips.cc",0x2e62,"relocate");
    case (Mips_relobj<32,_false> *)0x4:
    case (Mips_relobj<32,_false> *)0x64:
    case (Mips_relobj<32,_false> *)0x85:
      local_b8 = (_Bit_type *)0x0;
      pp_Var43 = (_List_node_base **)(ulong)CONCAT31(uVar17,(calculate_only ^ 1) & local_cf);
      uVar39 = *(uint *)view;
      goto LAB_002c38d3;
    case (Mips_relobj<32,_false> *)0x5:
    case (Mips_relobj<32,_false> *)0x68:
    case (Mips_relobj<32,_false> *)0x86:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_5:
      if (rel_type == 4) {
        pp_Var43 = (_List_node_base **)(ulong)local_cc;
        puVar63 = (uchar *)(ulong)(in_stack_fffffffffffffefc & 1);
        pp_Var56 = (_List_node_base **)this_00;
        SVar26 = Mips_relocate_functions<32,_false>::do_relhi16
                           (view,this_00,psymval,local_cc,address,
                            SUB41(in_stack_fffffffffffffefc & 1,0),lo16_reloc,(bool)(char)local_b8,0
                            ,target,(bool)calculate_only,&this->calculated_value_);
      }
      else {
        if (rel_type != 9) goto LAB_002c46ec;
        p_Var30 = (_List_node_base *)operator_new(0x40);
        pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs;
        SVar26 = STATUS_OKAY;
        p_Var30[1]._M_next = (_List_node_base *)view;
        p_Var30[1]._M_prev = (_List_node_base *)this_00;
        p_Var30[2]._M_next = (_List_node_base *)psymval;
        *(Value *)&p_Var30[2]._M_prev = local_cc;
        *(_Rb_tree_color *)((long)&p_Var30[2]._M_prev + 4) = lo16_reloc;
        *(_Rb_tree_color *)&p_Var30[3]._M_next = _Var51;
        *(char *)((long)&p_Var30[3]._M_next + 4) = (char)local_b8;
        *(Mips_address *)&p_Var30[3]._M_prev = address;
        *(char *)((long)&p_Var30[3]._M_prev + 4) = (char)in_stack_fffffffffffffefc;
        std::__detail::_List_node_base::_M_hook
                  (p_Var30,(_List_node_base *)
                           &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs);
        _DAT_0067daf0 = _DAT_0067daf0 + 1;
      }
      break;
    case (Mips_relobj<32,_false> *)0x6:
    case (Mips_relobj<32,_false> *)0x69:
    case (Mips_relobj<32,_false> *)0x87:
    case (Mips_relobj<32,_false> *)0x9d:
      local_b8 = (_Bit_type *)0x0;
      in_stack_fffffffffffffef8 = *(uint *)view;
      local_b0 = local_cc;
LAB_002c3615:
      if (rel_type == 9) {
        in_stack_fffffffffffffedc = uVar39 & 0xff;
        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs;
        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs !=
            (_List_node_base *)
            &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs) {
          do {
            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {
              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);
              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;
              pp_Var56 = (_List_node_base **)local_98;
              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);
              if (!bVar67) goto LAB_002c3ec8;
              in_stack_fffffffffffffee0 = local_100[1]._M_next;
              in_stack_fffffffffffffed0 = (Symbol *)local_100[2]._M_next;
              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;
              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;
              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);
              address_00 = *(Mips_address *)&local_100[3]._M_prev;
              puVar63 = (uchar *)(ulong)*(byte *)((long)&local_100[3]._M_prev + 4);
              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle
                        ((uchar *)in_stack_fffffffffffffee0,uVar39,
                         SUB81(in_stack_fffffffffffffed0,0));
              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;
              SVar26 = Mips_relocate_functions<32,_false>::do_relhi16
                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,
                                  (Symbol_value<32> *)in_stack_fffffffffffffed0,
                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,
                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),
                                  &this->calculated_value_);
              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;
              Mips_relocate_functions<32,_false>::mips_reloc_shuffle
                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);
              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;
              p_Var30 = local_100->_M_next;
              _DAT_0067daf0 = _DAT_0067daf0 + -1;
              std::__detail::_List_node_base::_M_unhook(local_100);
              operator_delete(local_100);
              local_100 = p_Var30;
            }
            else {
LAB_002c3ec8:
              local_100 = local_100->_M_next;
            }
          } while (local_100 !=
                   (_List_node_base *)
                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs);
        }
        pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;
        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;
        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs !=
            (_List_node_base *)
            &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs) {
          do {
            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {
              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);
              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;
              pp_Var56 = (_List_node_base **)local_98;
              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);
              if (!bVar67) goto LAB_002c41a8;
              in_stack_fffffffffffffee0 = local_100[1]._M_next;
              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;
              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;
              pSVar48 = (Symbol_value<32> *)local_100[2]._M_next;
              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);
              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle
                        ((uchar *)in_stack_fffffffffffffee0,uVar39,jal_shuffle);
              puVar63 = (uchar *)(ulong)local_b0;
              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;
              SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local
                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,pSVar48,
                                  in_stack_fffffffffffffed8,(bool)uVar22,local_b0,target,
                                  SUB41(in_stack_fffffffffffffedc,0),&this->calculated_value_);
              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;
              Mips_relocate_functions<32,_false>::mips_reloc_shuffle
                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);
              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;
              p_Var30 = local_100->_M_next;
              _DAT_0067dad0 = _DAT_0067dad0 + -1;
              std::__detail::_List_node_base::_M_unhook(local_100);
              operator_delete(local_100);
              local_100 = p_Var30;
            }
            else {
LAB_002c41a8:
              local_100 = local_100->_M_next;
            }
            pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;
          } while (local_100 !=
                   (_List_node_base *)
                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);
        }
      }
      if ((char)in_stack_fffffffffffffefc == '\0') {
        pp_Var56 = (_List_node_base **)this_00;
        uVar39 = gold::Symbol_value<32>::value<false>
                           (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
        uVar40 = in_stack_fffffffffffffef8;
      }
      else {
        pSVar33 = target->gp_;
        if (lo16_reloc == 0x69) {
          if (pSVar33 == (Sized_symbol<32> *)0x0) {
            VVar57 = 0;
          }
          else {
            VVar57 = pSVar33->value_;
            pp_Var43 = (_List_node_base **)target;
            if (((target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&
                (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&
               (pp_Var56 = (_List_node_base **)this_00,
               this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {
              VVar57 = VVar57 + this_00->got_info_->offset_;
            }
          }
          iVar25 = VVar57 - (address & 0xfffffffc);
        }
        else {
          pp_Var43 = (_List_node_base **)local_98;
          if ((lo16_reloc == 0x87) || (lo16_reloc == 0x9d)) {
            if (pSVar33 == (Sized_symbol<32> *)0x0) {
              VVar57 = 0;
            }
            else {
              VVar57 = pSVar33->value_;
              pp_Var43 = (_List_node_base **)target;
              if (((target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&
                  (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&
                 (pp_Var43 = (_List_node_base **)this_00,
                 this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {
                VVar57 = VVar57 + this_00->got_info_->offset_;
              }
            }
            iVar25 = (VVar57 - address) + 3;
          }
          else {
            if (pSVar33 == (Sized_symbol<32> *)0x0) {
              VVar57 = 0;
            }
            else {
              VVar57 = pSVar33->value_;
              pp_Var43 = (_List_node_base **)target;
              if (((target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&
                  (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&
                 (pp_Var56 = (_List_node_base **)this_00,
                 this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {
                VVar57 = VVar57 + this_00->got_info_->offset_;
              }
            }
            iVar25 = (VVar57 - address) + 4;
          }
        }
        uVar39 = iVar25 + local_b0;
        uVar40 = in_stack_fffffffffffffef8;
      }
      in_stack_fffffffffffffef8 = uVar40;
      if ((bool)calculate_only != false) goto LAB_002c1f30;
      goto LAB_002c1ebf;
    case (Mips_relobj<32,_false> *)0x7:
    case (Mips_relobj<32,_false> *)0x8:
    case (Mips_relobj<32,_false> *)0x65:
    case (Mips_relobj<32,_false> *)0x88:
    case (Mips_relobj<32,_false> *)0x89:
    case (Mips_relobj<32,_false> *)0xac:
      pSVar33 = target->gp_;
      if (pSVar33 != (Sized_symbol<32> *)0x0) {
        local_b8 = (_Bit_type *)0x0;
LAB_002c370d:
        VVar57 = pSVar33->value_;
        local_b0 = local_cc;
        if (((target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&
            (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&
           (this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {
          VVar57 = VVar57 + this_00->got_info_->offset_;
        }
        goto LAB_002c3751;
      }
      local_b8 = (_Bit_type *)0x0;
      VVar57 = 0;
      uVar40 = *(uint *)view;
      local_b0 = local_cc;
LAB_002c378b:
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      uVar39 = VVar23 - VVar57;
      if (gsym == (Sized_symbol<32> *)0x0) {
        uVar39 = uVar39 + this_00->gp_;
      }
      uVar41 = (uVar39 ^ uVar40) & 0xffff;
      pp_Var43 = (_List_node_base **)(ulong)uVar41;
      if (lo16_reloc == 0xac) {
        uVar41 = (uVar39 ^ uVar40) & 0x7f;
      }
      if ((bool)calculate_only != false) goto LAB_002c1f30;
      *(uint *)view = uVar40 ^ uVar41;
      if (0xffff < uVar39 + 0x8000) {
        pcVar61 = (char *)gettext(
                                 "small-data section exceeds 64KB; lower small-data size limit (see option -G)"
                                 );
        gold::gold_error(pcVar61);
LAB_002c3567:
        SVar26 = STATUS_OVERFLOW;
        break;
      }
      goto LAB_002c1fd6;
    case (Mips_relobj<32,_false> *)0x9:
    case (Mips_relobj<32,_false> *)0x66:
    case (Mips_relobj<32,_false> *)0x8a:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_9:
      if (gsym == (Sized_symbol<32> *)0x0) {
        if (rel_type == 4) {
          puVar63 = (uchar *)0x0;
          pp_Var43 = (_List_node_base **)(ulong)local_cc;
          pp_Var56 = (_List_node_base **)this_00;
          pMVar60 = (Mips_relobj<32,_false> *)view;
          SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local
                             (view,this_00,psymval,local_cc,(bool)(char)local_b8,0,target,
                              (bool)calculate_only,&this->calculated_value_);
          goto LAB_002c2945;
        }
        if (rel_type == 9) {
          pMVar60 = (Mips_relobj<32,_false> *)operator_new(0x40);
          (pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj.
          super_Object.field_0x3c = 0;
          SVar26 = STATUS_OKAY;
          (pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj.
          super_Object.shnum_ = 0;
          pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;
          (pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj.
          super_Object.name_._M_string_length = (size_type)view;
          *(Mips_relobj<32,_false> **)
           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj
            .super_Object.name_.field_2 = this_00;
          *(Symbol_value<32> **)
           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                   super_Relobj.super_Object.name_.field_2 + 8) = psymval;
          *(Value *)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                     super_Relobj.super_Object.input_file_ = local_cc;
          *(_Rb_tree_color *)
           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                   super_Relobj.super_Object.input_file_ + 4) = lo16_reloc;
          *(_Rb_tree_color *)
           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj
            .super_Object.offset_ = _Var51;
          *(char *)((long)&(pMVar60->super_Sized_relobj_file<32,_false>).
                           super_Sized_relobj<32,_false>.super_Relobj.super_Object.offset_ + 4) =
               (char)local_b8;
          std::__detail::_List_node_base::_M_hook
                    ((_List_node_base *)pMVar60,
                     (_List_node_base *)
                     &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);
          _DAT_0067dad0 = _DAT_0067dad0 + 1;
          goto LAB_002c2945;
        }
                    /* WARNING: Subroutine does not return */
        gold::do_gold_unreachable("../../gold/mips.cc",0x2f66,"relocate");
      }
      pMVar60 = (Mips_relobj<32,_false> *)target->got_;
      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
        pp_Var43 = (_List_node_base **)this_00;
        pSVar33 = gsym;
        local_e4 = Mips_output_data_got<32,_false>::got_offset
                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,
                              this_00);
        lo16_reloc = (_Rb_tree_color)pSVar33;
        pMVar60 = (Mips_relobj<32,_false> *)target->got_;
        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
          pp_Var56 = (_List_node_base **)(ulong)local_e4;
          uVar39 = Mips_output_data_got<32,_false>::gp_offset
                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);
          if (this->calculate_only_ != false) goto LAB_002c2940;
          uVar41 = *(uint *)view;
          uVar40 = (uVar41 ^ uVar39) & 0xffff ^ uVar41;
LAB_002c27a6:
          pp_Var43 = (_List_node_base **)(ulong)uVar41;
          *(uint *)view = uVar40;
          SVar26 = (Status)(0xffff < uVar39 + 0x8000);
          goto LAB_002c2945;
        }
        goto LAB_002c4797;
      }
      goto LAB_002c479c;
    case (Mips_relobj<32,_false> *)0xa:
      local_b8 = (_Bit_type *)0x0;
LAB_002c2e45:
      local_cc = local_b0;
      uVar40 = *(uint *)view;
      if ((char)local_b8 != '\0') {
        uVar39 = uVar40 * 4 & 0x3fffc;
        local_b0 = uVar39 - 0x40000;
        if ((uVar40 * 4 & 0x20000) == 0) {
          local_b0 = uVar39;
        }
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      uVar39 = VVar23 - address >> 2;
      if ((bool)calculate_only != false) goto LAB_002c1f30;
      *(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0xffff;
      pp_Var56 = (_List_node_base **)this_00;
      VVar24 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      SVar26 = STATUS_PCREL_UNALIGNED;
      if ((VVar24 & 3) == 0) {
        SVar26 = (Status)(0x3ffff < (VVar23 - address) + 0x20000);
      }
      break;
    case (Mips_relobj<32,_false> *)0xb:
    case (Mips_relobj<32,_false> *)0x67:
    case (Mips_relobj<32,_false> *)0x8e:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_b:
      if (gsym == (Sized_symbol<32> *)0x0) {
LAB_002c467a:
                    /* WARNING: Subroutine does not return */
        gold::do_gold_unreachable("../../gold/mips.cc",0x2f3d,"relocate");
      }
      pMVar60 = (Mips_relobj<32,_false> *)target->got_;
      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
        pp_Var43 = (_List_node_base **)this_00;
        local_e4 = Mips_output_data_got<32,_false>::got_offset
                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,
                              this_00);
        pMVar60 = (Mips_relobj<32,_false> *)target->got_;
        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
          pp_Var56 = (_List_node_base **)(ulong)local_e4;
          uVar39 = Mips_output_data_got<32,_false>::gp_offset
                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);
          if (this->calculate_only_ != false) goto LAB_002c2940;
          uVar40 = *(uint *)view;
          pp_Var56 = (_List_node_base **)(ulong)uVar40;
          uVar41 = uVar40 ^ uVar39;
          uVar40 = uVar41 & 0xffff ^ uVar40;
          goto LAB_002c27a6;
        }
        goto LAB_002c4735;
      }
      goto LAB_002c473a;
    case (Mips_relobj<32,_false> *)0xc:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_c:
      if (target->gp_ == (Sized_symbol<32> *)0x0) {
        VVar57 = 0;
      }
      else {
        VVar57 = target->gp_->value_;
        if (((target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&
            (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&
           (this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {
          VVar57 = VVar57 + this_00->got_info_->offset_;
        }
      }
      VVar23 = local_cc;
      if ((char)local_b8 != '\0') {
        VVar23 = *(Value *)view;
      }
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);
      pp_Var56 = (_List_node_base **)(ulong)this_00->gp_;
      uVar39 = VVar23 + (this_00->gp_ - VVar57);
      goto joined_r0x002c21d2;
    case (Mips_relobj<32,_false> *)0x12:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_12:
      pp_Var56 = (_List_node_base **)0x12;
      pp_Var43 = (_List_node_base **)target;
      bVar67 = should_apply_static_reloc
                         ((Relocate *)gsym,(Mips_symbol<32> *)0x12,(uint)output_section,
                          (Output_section *)target,target_00);
      if (bVar67) {
        calculate_only = this->calculate_only_;
        VVar23 = local_cc;
        if ((char)local_b8 != '\0') {
          VVar23 = *(Value *)view;
        }
        goto LAB_002c2f02;
      }
      break;
    case (Mips_relobj<32,_false> *)0x13:
    case (Mips_relobj<32,_false> *)0x91:
    case (Mips_relobj<32,_false> *)0xf9:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_13:
      pMVar60 = (Mips_relobj<32,_false> *)target->got_;
      if (gsym != (Sized_symbol<32> *)0x0) {
        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
          pp_Var43 = (_List_node_base **)this_00;
          local_e4 = Mips_output_data_got<32,_false>::got_offset
                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,
                                this_00);
          goto LAB_002c252a;
        }
LAB_002c4721:
        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
LAB_002c4726:
        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
LAB_002c472b:
        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
        goto LAB_002c4730;
      }
      if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {
        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);
        goto LAB_002c4792;
      }
      pp_Var43 = (_List_node_base **)(long)(int)local_cc;
      local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                   super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,0);
LAB_002c252a:
      pMVar60 = (Mips_relobj<32,_false> *)target->got_;
      if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {
        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);
        goto LAB_002c4721;
      }
      pp_Var56 = (_List_node_base **)(ulong)local_e4;
      uVar39 = Mips_output_data_got<32,_false>::gp_offset
                         ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);
      if (lo16_reloc != 0xf9) {
        if (this->calculate_only_ == false) {
          uVar40 = *(uint *)view;
          pp_Var43 = (_List_node_base **)(ulong)uVar40;
          uVar40 = (uVar39 ^ uVar40) & 0xffff ^ uVar40;
          goto LAB_002c2590;
        }
        goto LAB_002c1f30;
      }
      if (this->calculate_only_ == false) goto LAB_002c1fd0;
      goto LAB_002c1fd4;
    case (Mips_relobj<32,_false> *)0x14:
    case (Mips_relobj<32,_false> *)0x92:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_14:
      uVar40 = *(uint *)view;
      uVar39 = uVar40 & 0xffff;
      if ((char)local_b8 == '\0') {
        uVar39 = local_cc;
      }
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar39);
      local_98 = (Mips_relobj<32,_false> *)((ulong)(ushort)(VVar23 + 0x8000 >> 0x10) << 0x10);
      pMVar49 = (Mips_relobj<32,_false> *)target->got_;
      if (pMVar49 == (Mips_relobj<32,_false> *)0x0) goto LAB_002c4726;
      if ((pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
          local_got_offsets_._M_h._M_rehash_policy._M_next_resize == 0) {
        pMVar60 = *(Mips_relobj<32,_false> **)
                   &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                    local_got_offsets_._M_h._M_rehash_policy;
      }
      else {
        pMVar60 = (Mips_relobj<32,_false> *)this_00->got_info_;
      }
      if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {
LAB_002c4761:
        Mips_output_data_got<32,_false>::get_got_page_offset
                  ((Mips_output_data_got<32,_false> *)pMVar60,(Mips_address)local_98,pMVar49);
LAB_002c4766:
        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
        pp_Var56 = (_List_node_base **)local_98;
        goto LAB_002c476b;
      }
      uVar39 = Mips_got_info<32,_false>::get_got_page_offset
                         ((Mips_got_info<32,_false> *)pMVar60,(Mips_address)local_98,
                          (Mips_output_data_got<32,_false> *)pMVar49);
      pMVar60 = (Mips_relobj<32,_false> *)target->got_;
      if (pMVar60 == (Mips_relobj<32,_false> *)0x0) goto LAB_002c475c;
      pp_Var56 = (_List_node_base **)(ulong)uVar39;
      uVar39 = Mips_output_data_got<32,_false>::gp_offset
                         ((Mips_output_data_got<32,_false> *)pMVar60,uVar39,this_00);
      if ((bool)calculate_only != false) goto LAB_002c1f30;
      uVar40 = (uVar40 ^ uVar39) & 0xffff ^ uVar40;
      goto LAB_002c2590;
    case (Mips_relobj<32,_false> *)0x15:
    case (Mips_relobj<32,_false> *)0x93:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_15:
      uVar39 = *(uint *)view;
      local_b0 = uVar39 & 0xffff;
      if ((char)local_b8 == '\0') {
        local_b0 = local_cc;
      }
      if (local_ce != false) {
        local_98 = this_00;
        pMVar58 = (Mips_got_info<32,_false> *)psymval;
        VVar23 = gold::Symbol_value<32>::value<false>
                           (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
        uVar40 = VVar23 + 0x8000 >> 0x10;
        pMVar49 = (Mips_relobj<32,_false> *)target->got_;
        if (pMVar49 == (Mips_relobj<32,_false> *)0x0) {
          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar58);
          goto LAB_002c463a;
        }
        if ((pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
            local_got_offsets_._M_h._M_rehash_policy._M_next_resize == 0) {
          pMVar58 = *(Mips_got_info<32,_false> **)
                     &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                      local_got_offsets_._M_h._M_rehash_policy;
        }
        else {
          pMVar58 = this_00->got_info_;
        }
        if (pMVar58 == (Mips_got_info<32,_false> *)0x0) goto LAB_002c463f;
        Mips_got_info<32,_false>::get_got_page_offset
                  (pMVar58,uVar40 * 0x10000,(Mips_output_data_got<32,_false> *)pMVar49);
        pp_Var56 = (_List_node_base **)this_00;
        local_b0 = gold::Symbol_value<32>::value<false>
                             (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
        local_b0 = local_b0 + uVar40 * -0x10000;
      }
      if ((bool)calculate_only == false) {
        *(uint *)view = (uVar39 ^ local_b0) & 0xffff ^ uVar39;
        SVar26 = (Status)(0xffff < local_b0 + 0x8000);
      }
      else {
        SVar26 = STATUS_OKAY;
        this->calculated_value_ = local_b0;
      }
      break;
    case (Mips_relobj<32,_false> *)0x16:
    case (Mips_relobj<32,_false> *)0x1e:
    case (Mips_relobj<32,_false> *)0x94:
    case (Mips_relobj<32,_false> *)0x99:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_16:
      pMVar60 = (Mips_relobj<32,_false> *)target->got_;
      if (gsym != (Sized_symbol<32> *)0x0) {
        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
          pp_Var43 = (_List_node_base **)this_00;
          local_e4 = Mips_output_data_got<32,_false>::got_offset
                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,
                                this_00);
          goto LAB_002c2378;
        }
LAB_002c4730:
        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
LAB_002c4735:
        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
LAB_002c473a:
        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
LAB_002c473f:
                    /* WARNING: Subroutine does not return */
        gold::do_gold_unreachable("../../gold/mips.cc",0x2e46,"relocate");
      }
      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
        pp_Var43 = (_List_node_base **)(long)(int)local_cc;
        local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,0);
LAB_002c2378:
        pMVar60 = (Mips_relobj<32,_false> *)target->got_;
        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
          pp_Var56 = (_List_node_base **)(ulong)local_e4;
          iVar25 = Mips_output_data_got<32,_false>::gp_offset
                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);
          uVar39 = iVar25 + 0x8000U >> 0x10;
          if (this->calculate_only_ != false) goto LAB_002c2940;
          SVar26 = STATUS_OKAY;
          *(short *)view = (short)(iVar25 + 0x8000U >> 0x10);
          goto LAB_002c2945;
        }
        goto LAB_002c472b;
      }
      goto LAB_002c46d8;
    case (Mips_relobj<32,_false> *)0x17:
    case (Mips_relobj<32,_false> *)0x1f:
    case (Mips_relobj<32,_false> *)0x95:
    case (Mips_relobj<32,_false> *)0x9a:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_17:
      pMVar60 = (Mips_relobj<32,_false> *)target->got_;
      if (gsym != (Sized_symbol<32> *)0x0) {
        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
          pp_Var43 = (_List_node_base **)this_00;
          local_98 = (Mips_relobj<32,_false> *)gsym;
          local_e4 = Mips_output_data_got<32,_false>::got_offset
                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,
                                this_00);
LAB_002c22ef:
          pMVar60 = (Mips_relobj<32,_false> *)target->got_;
          if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
            pp_Var56 = (_List_node_base **)(ulong)local_e4;
            uVar39 = Mips_output_data_got<32,_false>::gp_offset
                               ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);
            if (this->calculate_only_ != false) goto LAB_002c2940;
            SVar26 = STATUS_OKAY;
            *(uint *)view = (uVar39 ^ *(uint *)view) & 0xffff ^ *(uint *)view;
            goto LAB_002c2945;
          }
          goto LAB_002c4766;
        }
LAB_002c476b:
        uVar22 = SUB81(target_00,0);
        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
        pSVar48 = extraout_RDX_03;
        goto LAB_002c4770;
      }
      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
        pp_Var43 = (_List_node_base **)(long)(int)local_cc;
        local_98 = (Mips_relobj<32,_false> *)(ulong)_Var51;
        local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,local_98,0);
        goto LAB_002c22ef;
      }
LAB_002c4792:
      Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
LAB_002c4797:
      Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
LAB_002c479c:
      Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
LAB_002c47a1:
      Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
LAB_002c47a6:
      Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
                    /* catch() { ... } // from try @ 002c1a5e with catch @ 002c47ab */
      uVar22 = (anonymous_namespace)::Target_mips<32,false>::Relocate::relocate
                         ((Relocate_info *)pMVar60,lo16_reloc,extraout_RDX_04,
                          (Output_section *)pp_Var43,(ulong)target_00,puVar63,
                          (Sized_symbol *)in_stack_fffffffffffffed0,
                          (Symbol_value *)
                          CONCAT44(in_stack_fffffffffffffedc,in_stack_fffffffffffffed8),
                          (uchar *)in_stack_fffffffffffffee0,(uint)in_stack_fffffffffffffee8,
                          (ulong)output_section);
      return (bool)uVar22;
    case (Mips_relobj<32,_false> *)0x18:
    case (Mips_relobj<32,_false> *)0x96:
      local_b8 = (_Bit_type *)0x0;
LAB_002c2efa:
      pp_Var43 = (_List_node_base **)puVar44;
      VVar23 = -local_b0;
LAB_002c2f02:
      pp_Var56 = (_List_node_base **)this_00;
      uVar39 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);
      if (calculate_only != '\0') goto LAB_002c1f30;
      SVar26 = STATUS_OKAY;
      *(ulong *)view = (ulong)uVar39;
      break;
    case (Mips_relobj<32,_false> *)0x1c:
    case (Mips_relobj<32,_false> *)0x97:
      local_b8 = (_Bit_type *)0x0;
LAB_002c1ed8:
      local_cc = local_b0;
      uVar40 = *(uint *)view;
      if ((char)local_b8 != '\0') {
        local_b0 = (uVar40 & 0xffff) - 0x10000;
        if ((uVar40 & 0x8000) == 0) {
          local_b0 = uVar40 & 0xffff;
        }
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      pp_Var43 = (_List_node_base **)0x80008000;
      uVar39 = (uint)((ulong)VVar23 + 0x80008000 >> 0x20);
      goto joined_r0x002c1f7e;
    case (Mips_relobj<32,_false> *)0x1d:
    case (Mips_relobj<32,_false> *)0x98:
      local_b8 = (_Bit_type *)0x0;
LAB_002c2f32:
      local_cc = local_b0;
      uVar39 = *(uint *)view;
      pp_Var43 = (_List_node_base **)puVar44;
      if ((char)local_b8 != '\0') {
        uVar40 = uVar39 & 0xffff;
        pp_Var43 = (_List_node_base **)(ulong)uVar40;
        local_b0 = uVar40 - 0x10000;
        if ((uVar39 & 0x8000) == 0) {
          local_b0 = uVar40;
        }
      }
      pp_Var56 = (_List_node_base **)this_00;
      gold::Symbol_value<32>::value<false>(psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)
      ;
      if ((bool)calculate_only != false) {
        SVar26 = STATUS_OKAY;
        this->calculated_value_ = 0;
        break;
      }
      uVar39 = uVar39 & 0xffff0000;
      goto LAB_002c1fd0;
    case (Mips_relobj<32,_false> *)0x25:
    case (Mips_relobj<32,_false> *)0x9c:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_25:
      if (gsym != (Sized_symbol<32> *)0x0) {
        bVar67 = (gsym->super_Symbol).dynsym_index_ != 0;
        pp_Var56 = (_List_node_base **)(ulong)bVar67;
        bVar67 = symbol_refs_local(&gsym->super_Symbol,bVar67,true);
        if (!bVar67) break;
        calculate_only = this->calculate_only_;
      }
      VVar23 = 0;
      if ((char)local_b8 == '\0') {
        VVar23 = local_cc;
      }
      uVar39 = *(uint *)view;
      uVar40 = uVar39;
      if (((lo16_reloc == 0x25) && (local_cf != 1)) &&
         ((uVar39 == 0x3200008 || (uVar39 == 0x320f809)))) {
        pp_Var56 = (_List_node_base **)this_00;
        VVar23 = gold::Symbol_value<32>::value<false>
                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);
        if ((VVar23 - address) + 0x1fffc < 0x40000) {
          uVar41 = (VVar23 - address) - 4 >> 2 & 0xffff;
          uVar40 = uVar41 | 0x10000000;
          if (uVar39 != 0x3200008) {
            uVar40 = uVar41 | 0x4110000;
          }
        }
      }
      if (calculate_only == '\0') {
        *(uint *)view = uVar40;
        SVar26 = STATUS_OKAY;
      }
      else {
        this->calculated_value_ = uVar40;
        SVar26 = STATUS_OKAY;
      }
      break;
    case (Mips_relobj<32,_false> *)0x27:
    case (Mips_relobj<32,_false> *)0x29:
      goto switchD_002c14fa_caseD_27;
    case (Mips_relobj<32,_false> *)0x2a:
    case (Mips_relobj<32,_false> *)0x6a:
    case (Mips_relobj<32,_false> *)0xa2:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_2a:
      pMVar60 = (Mips_relobj<32,_false> *)target->got_;
      if (gsym == (Sized_symbol<32> *)0x0) {
        if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {
          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);
          goto LAB_002c467a;
        }
        puVar44 = (uint *)(long)(int)local_cc;
        local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,2);
      }
      else {
        if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {
          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);
LAB_002c475c:
          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
          pMVar49 = extraout_RDX_02;
          goto LAB_002c4761;
        }
        puVar44 = (uint *)this_00;
        local_e4 = Mips_output_data_got<32,_false>::got_offset
                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,2,
                              this_00);
      }
      pMVar60 = (Mips_relobj<32,_false> *)target->got_;
      pp_Var43 = (_List_node_base **)puVar44;
      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
LAB_002c2030:
        pp_Var56 = (_List_node_base **)(ulong)local_e4;
        uVar39 = Mips_output_data_got<32,_false>::gp_offset
                           ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);
        goto LAB_002c211b;
      }
      Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);
switchD_002c14fa_caseD_27:
      local_b8 = (_Bit_type *)0x0;
      pp_Var43 = (_List_node_base **)puVar44;
switchD_002c18c9_caseD_27:
      VVar23 = local_cc;
      if ((char)local_b8 != '\0') {
        VVar23 = *(Value *)view;
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);
      uVar39 = VVar23 - 0x8000;
joined_r0x002c21d2:
      if ((bool)calculate_only == false) {
LAB_002c1fd0:
        pRVar52 = (Relocate *)view;
LAB_002c1fd4:
        pRVar52->calculated_value_ = uVar39;
LAB_002c1fd6:
        SVar26 = STATUS_OKAY;
      }
      else {
LAB_002c1f30:
        SVar26 = STATUS_OKAY;
        this->calculated_value_ = uVar39;
      }
      break;
    case (Mips_relobj<32,_false> *)0x2b:
    case (Mips_relobj<32,_false> *)0x6b:
    case (Mips_relobj<32,_false> *)0xa3:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_2b:
      pMVar58 = (Mips_got_info<32,_false> *)target->got_;
      if (pMVar58 == (Mips_got_info<32,_false> *)0x0) {
LAB_002c463a:
        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar58);
        pMVar49 = extraout_RDX_01;
LAB_002c463f:
        Mips_output_data_got<32,_false>::get_got_page_offset
                  ((Mips_output_data_got<32,_false> *)pMVar58,(Mips_address)local_98,pMVar49);
        goto LAB_002c4644;
      }
      if ((Mips_got_info<32,_false> *)(pMVar58->got_page_offsets_)._M_h._M_bucket_count ==
          (Mips_got_info<32,_false> *)0x0) {
        pMVar29 = (Mips_got_info<32,_false> *)(pMVar58->got_page_offsets_)._M_h._M_buckets;
      }
      else {
        pMVar29 = this_00->got_info_;
      }
      if (pMVar29 == (Mips_got_info<32,_false> *)0x0) {
                    /* WARNING: Subroutine does not return */
        gold::do_gold_unreachable("../../gold/mips.cc",0x86a,"tls_ldm_offset");
      }
      local_e4 = pMVar29->tls_ldm_offset_;
      pp_Var56 = (_List_node_base **)(ulong)local_e4;
      uVar39 = Mips_output_data_got<32,_false>::gp_offset
                         ((Mips_output_data_got<32,_false> *)pMVar58,local_e4,this_00);
LAB_002c211b:
      if (this->calculate_only_ != false) goto LAB_002c1fd4;
      uVar40 = *(uint *)view;
      pp_Var56 = (_List_node_base **)(ulong)uVar40;
      pp_Var43 = (_List_node_base **)(ulong)(uVar40 ^ uVar39);
      uVar40 = (uVar40 ^ uVar39) & 0xffff ^ uVar40;
LAB_002c2590:
      *(uint *)view = uVar40;
      SVar26 = (Status)(0xffff < uVar39 + 0x8000);
      break;
    case (Mips_relobj<32,_false> *)0x2c:
    case (Mips_relobj<32,_false> *)0x6c:
    case (Mips_relobj<32,_false> *)0xa4:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_2c:
      uVar40 = *(uint *)view;
      uVar39 = uVar40 & 0xffff;
      if ((char)local_b8 == '\0') {
        uVar39 = local_cc;
      }
      pp_Var56 = (_List_node_base **)this_00;
      uVar39 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar39);
      goto LAB_002c1f79;
    case (Mips_relobj<32,_false> *)0x2d:
    case (Mips_relobj<32,_false> *)0x6d:
    case (Mips_relobj<32,_false> *)0xa5:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_2d:
      uVar40 = *(uint *)view;
      uVar39 = uVar40 & 0xffff;
      if ((char)local_b8 == '\0') {
        uVar39 = local_cc;
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar39);
      uVar39 = VVar23 - 0x8000;
      goto joined_r0x002c1eba;
    case (Mips_relobj<32,_false> *)0x2e:
    case (Mips_relobj<32,_false> *)0x6e:
    case (Mips_relobj<32,_false> *)0xa6:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_2e:
      pMVar60 = (Mips_relobj<32,_false> *)target->got_;
      if (gsym == (Sized_symbol<32> *)0x0) {
        if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {
          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);
          target = (Target_mips<32,_false> *)local_98;
          goto LAB_002c4670;
        }
        pp_Var43 = (_List_node_base **)(long)(int)local_cc;
        lo16_reloc = _Var51;
        local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,1);
      }
      else {
        if (pMVar60 == (Mips_relobj<32,_false> *)0x0) goto LAB_002c47a6;
        pp_Var43 = (_List_node_base **)this_00;
        pSVar33 = gsym;
        local_e4 = Mips_output_data_got<32,_false>::got_offset
                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,1,
                              this_00);
        lo16_reloc = (_Rb_tree_color)pSVar33;
      }
      pMVar60 = (Mips_relobj<32,_false> *)target->got_;
      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) goto LAB_002c2030;
      goto LAB_002c47a1;
    case (Mips_relobj<32,_false> *)0x2f:
    case (Mips_relobj<32,_false> *)0x30:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_2f:
      VVar23 = local_cc;
      if ((char)local_b8 != '\0') {
        VVar23 = *(Value *)view;
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);
      uVar39 = VVar23 - 0x7000;
      goto joined_r0x002c327b;
    case (Mips_relobj<32,_false> *)0x31:
    case (Mips_relobj<32,_false> *)0x6f:
    case (Mips_relobj<32,_false> *)0xa9:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_31:
      uVar40 = *(uint *)view;
      uVar39 = uVar40 & 0xffff;
      if ((char)local_b8 == '\0') {
        uVar39 = local_cc;
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar39);
      uVar39 = VVar23 + 0x1000;
LAB_002c1f79:
      uVar39 = uVar39 >> 0x10;
joined_r0x002c1f7e:
      if ((bool)calculate_only == false) {
        SVar26 = STATUS_OKAY;
        *(uint *)view = uVar39 | uVar40 & 0xffff0000;
        break;
      }
      goto LAB_002c1f30;
    case (Mips_relobj<32,_false> *)0x32:
    case (Mips_relobj<32,_false> *)0x70:
    case (Mips_relobj<32,_false> *)0xaa:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_32:
      uVar40 = *(uint *)view;
      uVar39 = uVar40 & 0xffff;
      if ((char)local_b8 == '\0') {
        uVar39 = local_cc;
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar39);
      uVar39 = VVar23 - 0x7000;
joined_r0x002c1eba:
      if ((bool)calculate_only == false) {
LAB_002c1ebf:
        SVar26 = STATUS_OKAY;
        *(uint *)view = (uVar39 ^ uVar40) & 0xffff ^ uVar40;
        break;
      }
      goto LAB_002c1f30;
    case (Mips_relobj<32,_false> *)0x3c:
      local_b8 = (_Bit_type *)0x0;
LAB_002c2f96:
      local_cc = local_b0;
      uVar40 = *(uint *)view;
      pp_Var43 = (_List_node_base **)puVar44;
      if ((char)local_b8 != '\0') {
        uVar39 = uVar40 * 4 & 0x7ffffc;
        pp_Var43 = (_List_node_base **)(ulong)uVar39;
        local_b0 = uVar39 - 0x800000;
        if ((uVar40 * 4 & 0x400000) == 0) {
          local_b0 = uVar39;
        }
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      uVar39 = VVar23 - address >> 2;
      if ((bool)calculate_only != false) goto LAB_002c1f30;
      *(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0x1fffff;
      pp_Var56 = (_List_node_base **)this_00;
      VVar24 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      SVar26 = STATUS_PCREL_UNALIGNED;
      if ((VVar24 & 3) == 0) {
        SVar26 = (Status)(0x7fffff < (VVar23 - address) + 0x400000);
      }
      break;
    case (Mips_relobj<32,_false> *)0x3d:
      local_b8 = (_Bit_type *)0x0;
LAB_002c304d:
      local_cc = local_b0;
      uVar40 = *(uint *)view;
      if ((char)local_b8 != '\0') {
        uVar39 = uVar40 * 4 & 0xffffffc;
        local_b0 = uVar39 + 0xf0000000;
        if ((uVar40 * 4 & 0x8000000) == 0) {
          local_b0 = uVar39;
        }
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      uVar39 = VVar23 - address >> 2;
      if ((bool)calculate_only != false) goto LAB_002c1f30;
      *(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0x3ffffff;
      pp_Var56 = (_List_node_base **)this_00;
      VVar24 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      SVar26 = STATUS_PCREL_UNALIGNED;
      if ((VVar24 & 3) == 0) {
        SVar26 = (Status)(0xfffffff < (VVar23 - address) + 0x8000000);
      }
      break;
    case (Mips_relobj<32,_false> *)0x3e:
      local_b8 = (_Bit_type *)0x0;
LAB_002c3104:
      local_cc = local_b0;
      uVar40 = *(uint *)view;
      if ((char)local_b8 != '\0') {
        uVar39 = uVar40 * 8 & 0x1ffff8;
        local_b0 = uVar39 - 0x200000;
        if ((uVar40 * 8 & 0x100000) == 0) {
          local_b0 = uVar39;
        }
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      uVar41 = VVar23 - (address & 0xfffffff8);
      uVar39 = uVar41 >> 3;
      if ((bool)calculate_only != false) goto LAB_002c1f30;
      *(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0x3ffff;
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      uVar39 = VVar23 & 7;
joined_r0x002c324e:
      SVar26 = STATUS_PCREL_UNALIGNED;
      if (uVar39 == 0) {
        SVar26 = (Status)(0x1fffff < uVar41 + 0x100000);
      }
      break;
    case (Mips_relobj<32,_false> *)0x3f:
      local_b8 = (_Bit_type *)0x0;
LAB_002c31c0:
      local_cc = local_b0;
      uVar40 = *(uint *)view;
      pp_Var43 = (_List_node_base **)puVar44;
      if ((char)local_b8 != '\0') {
        uVar39 = uVar40 * 4 & 0x1ffffc;
        pp_Var43 = (_List_node_base **)(ulong)uVar39;
        local_b0 = uVar39 - 0x200000;
        if ((uVar40 * 4 & 0x100000) == 0) {
          local_b0 = uVar39;
        }
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      uVar41 = VVar23 - address;
      uVar39 = uVar41 >> 2;
      if ((bool)calculate_only == false) {
        *(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0x7ffff;
        pp_Var56 = (_List_node_base **)this_00;
        VVar23 = gold::Symbol_value<32>::value<false>
                           (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
        uVar39 = VVar23 & 3;
        goto joined_r0x002c324e;
      }
      goto LAB_002c1f30;
    case (Mips_relobj<32,_false> *)0x40:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_40:
      if (rel_type == 4) {
        uVar39 = *(uint *)view;
        VVar23 = uVar39 << 0x10;
        if ((char)local_b8 == '\0') {
          VVar23 = local_cc;
        }
        pp_Var56 = (_List_node_base **)this_00;
        VVar23 = gold::Symbol_value<32>::value<false>
                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);
        uVar40 = (VVar23 - address) + 0x8000 >> 0x10;
        if ((bool)calculate_only != false) goto LAB_002c3c10;
        SVar26 = STATUS_OKAY;
        *(uint *)view = uVar39 & 0xffff0000 | uVar40;
      }
      else {
        if (rel_type != 9) goto LAB_002c4653;
        p_Var30 = (_List_node_base *)operator_new(0x40);
        *(undefined1 *)((long)&p_Var30[3]._M_prev + 4) = 0;
        SVar26 = STATUS_OKAY;
        *(undefined4 *)((long)&p_Var30[2]._M_prev + 4) = 0;
        pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs;
        p_Var30[1]._M_next = (_List_node_base *)view;
        p_Var30[1]._M_prev = (_List_node_base *)this_00;
        p_Var30[2]._M_next = (_List_node_base *)psymval;
        *(Value *)&p_Var30[2]._M_prev = local_cc;
        *(_Rb_tree_color *)&p_Var30[3]._M_next = _Var51;
        *(char *)((long)&p_Var30[3]._M_next + 4) = (char)local_b8;
        *(Mips_address *)&p_Var30[3]._M_prev = address;
        std::__detail::_List_node_base::_M_hook
                  (p_Var30,(_List_node_base *)
                           &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs)
        ;
        _DAT_0067dab0 = _DAT_0067dab0 + 1;
      }
      break;
    case (Mips_relobj<32,_false> *)0x41:
      local_b8 = (_Bit_type *)0x0;
LAB_002c330f:
      local_cc = local_b0;
      uVar40 = *(uint *)view;
      pp_Var43 = (_List_node_base **)puVar44;
      if ((char)local_b8 != '\0') {
        pp_Var43 = (_List_node_base **)((ulong)uVar40 & 0xffff);
        local_b0 = (Value)pp_Var43 - 0x10000;
        if ((uVar40 & 0x8000) == 0) {
          local_b0 = (Value)pp_Var43;
        }
      }
      if ((rel_type == 9) &&
         (local_98 = (Mips_relobj<32,_false> *)
                     (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs,
         (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs !=
         (_List_node_base *)&(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs
         )) {
        do {
          pp_Var43 = (_List_node_base **)(ulong)_Var51;
          if (_Var51 == *(_Rb_tree_color *)&((_List_node_base *)((long)local_98 + 0x30))->_M_next) {
            in_stack_fffffffffffffee8 =
                 (Mips_relobj<32,_false> *)((_List_node_base *)((long)local_98 + 0x10))->_M_next;
            VVar23 = *(Value *)&((_List_node_base *)((long)local_98 + 0x20))->_M_prev;
            in_stack_fffffffffffffef8 =
                 *(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).
                           super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object;
            if (*(char *)((long)&((_List_node_base *)((long)local_98 + 0x30))->_M_next + 4) != '\0')
            {
              VVar23 = local_b0 + in_stack_fffffffffffffef8 * 0x10000;
            }
            iVar25 = *(int *)&((_List_node_base *)((long)local_98 + 0x30))->_M_prev;
            VVar23 = gold::Symbol_value<32>::value<false>
                               ((Symbol_value<32> *)
                                ((_List_node_base *)((long)local_98 + 0x20))->_M_next,
                                (Sized_relobj_file<32,_false> *)
                                ((_List_node_base *)((long)local_98 + 0x10))->_M_prev,VVar23);
            uVar39 = (0x8000 - iVar25) + VVar23 >> 0x10;
            if ((bool)calculate_only == false) {
              *(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).
                        super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object =
                   uVar39 | in_stack_fffffffffffffef8 & 0xffff0000;
            }
            else {
              this->calculated_value_ = uVar39;
            }
            p_Var30 = *(_List_node_base **)&local_98->super_Sized_relobj_file<32,_false>;
            _DAT_0067dab0 = _DAT_0067dab0 + -1;
            std::__detail::_List_node_base::_M_unhook((_List_node_base *)local_98);
            operator_delete(local_98);
            local_98 = (Mips_relobj<32,_false> *)p_Var30;
          }
          else {
            local_98 = *(Mips_relobj<32,_false> **)&local_98->super_Sized_relobj_file<32,_false>;
          }
        } while (local_98 !=
                 (Mips_relobj<32,_false> *)
                 &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs);
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      uVar39 = VVar23 - address;
      if ((bool)calculate_only != false) goto LAB_002c1f30;
      SVar26 = STATUS_OKAY;
      *(uint *)view = (uVar39 ^ uVar40) & 0xffff ^ uVar40;
      break;
    case (Mips_relobj<32,_false> *)0x8b:
      local_b8 = (_Bit_type *)0x0;
LAB_002c3385:
      local_cc = local_b0;
      uVar39 = *(uint *)view;
      if ((char)local_b8 != '\0') {
        uVar40 = uVar39 * 2 & 0xff;
        local_b0 = uVar40 - 0x100;
        if ((uVar39 * 2 & 0x80) == 0) {
          local_b0 = uVar40;
        }
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      uVar40 = VVar23 - address >> 1;
      if ((bool)calculate_only == false) {
        *(uint *)view = (uVar40 ^ uVar39) & 0x7f ^ uVar39;
        SVar26 = (Status)(0xff < (VVar23 - address) + 0x80);
      }
      else {
LAB_002c3c10:
        SVar26 = STATUS_OKAY;
        this->calculated_value_ = uVar40;
      }
      break;
    case (Mips_relobj<32,_false> *)0x8c:
      local_b8 = (_Bit_type *)0x0;
LAB_002c328d:
      local_cc = local_b0;
      uVar39 = *(uint *)view;
      if ((char)local_b8 != '\0') {
        uVar40 = uVar39 * 2 & 0x7fe;
        local_b0 = uVar40 - 0x800;
        if ((uVar39 * 2 & 0x400) == 0) {
          local_b0 = uVar40;
        }
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      uVar40 = VVar23 - address >> 1;
      if ((bool)calculate_only != false) goto LAB_002c3c10;
      *(uint *)view = (uVar40 ^ uVar39) & 0x3ff ^ uVar39;
      SVar26 = (Status)(0x7ff < (VVar23 - address) + 0x400);
      break;
    case (Mips_relobj<32,_false> *)0x8d:
      local_b8 = (_Bit_type *)0x0;
LAB_002c33fc:
      local_cc = local_b0;
      uVar39 = *(uint *)view;
      if ((char)local_b8 != '\0') {
        uVar40 = uVar39 * 2 & 0x1fffe;
        local_b0 = uVar40 - 0x20000;
        if ((uVar39 * 2 & 0x10000) == 0) {
          local_b0 = uVar40;
        }
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      uVar40 = VVar23 - address >> 1;
      if ((bool)calculate_only != false) goto LAB_002c3c10;
      *(uint *)view = (uVar40 ^ uVar39) & 0xffff ^ uVar39;
      SVar26 = (Status)(0x1ffff < (VVar23 - address) + 0x10000);
      break;
    case (Mips_relobj<32,_false> *)0xf8:
      local_b8 = (_Bit_type *)0x0;
LAB_002c3260:
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      uVar39 = VVar23 - address;
      pp_Var43 = (_List_node_base **)puVar44;
joined_r0x002c327b:
      if ((bool)calculate_only == false) goto LAB_002c1fd0;
      goto LAB_002c1f30;
    }
LAB_002c1e60:
    lo16_reloc = (_Rb_tree_color)pp_Var56;
    unaff_R13 = (Mips_symbol<64> *)
                ((long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4);
    if (local_d8 == unaff_R13) break;
    lo16_reloc = *(_Rb_tree_color *)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_;
    pMVar28 = (Mips_symbol<64> *)(ulong)lo16_reloc;
  }
  local_c8 = (Mips_relobj<32,_false> *)&symval;
  uVar39 = uVar65 - 0x85;
  if (local_f0 < 0xd) {
    lo16_reloc = *(_Rb_tree_color *)view;
    uVar38 = (ushort)(lo16_reloc >> 0x10);
    if (uVar39 < 0x29) {
      if ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0) {
LAB_002c1c8c:
        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;
        lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;
      }
    }
    else if (((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100)) {
      if (uVar65 != 100) goto LAB_002c1c8c;
      uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;
    }
LAB_002c19bf:
    *(short *)(view + 2) = (short)lo16_reloc;
    *(ushort *)view = uVar38;
  }
  else if (((uVar39 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) != 0)) &&
          (1 < uVar65 - 0x8b)) {
    lo16_reloc = *(_Rb_tree_color *)view;
    uVar38 = (ushort)(lo16_reloc >> 0x10);
    goto LAB_002c19bf;
  }
  if (SVar26 == STATUS_OVERFLOW) {
    if (gsym == (Sized_symbol<32> *)0x0) {
      pcVar16 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                super_Relobj.super_Object.name_._M_dataplus._M_p;
      lo16_reloc = 0x2c3cf7;
      pcVar61 = (char *)gettext("relocation overflow: %u against local symbol %u in %s");
      gold::gold_error_at_location<32,_false>
                (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,(ulong)_Var51,pcVar16);
    }
    else {
      bVar21 = (gsym->super_Symbol).field_0x3a;
      if ((bVar21 & 7) == 0) {
        uVar39 = (gsym->super_Symbol).u2_.shndx;
        if (((gsym->super_Symbol).field_0x3b & 0x20) == 0) {
          bVar67 = gold::Symbol::is_common_shndx(uVar39);
          bVar67 = !bVar67;
        }
        else {
          bVar67 = uVar39 != 0;
        }
      }
      else {
        bVar67 = (bVar21 & 7) != 4;
      }
      if ((bVar67) && (((gsym->super_Symbol).field_0x3a & 7) == 0)) {
        uVar11 = ((gsym->super_Symbol).u1_.output_data)->address_;
        gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);
        _Var19._M_p = local_58._M_dataplus._M_p;
        pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\' defined in %s");
                    /* try { // try from 002c1a5e to 002c1a62 has its CatchHandler @ 002c47ab */
        gold::gold_error_at_location<32,_false>
                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p,uVar11);
        lo16_reloc = (_Rb_tree_color)relnum;
        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;
      }
      else {
        gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);
        _Var19._M_p = local_58._M_dataplus._M_p;
        pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\'");
                    /* try { // try from 002c2bde to 002c2be2 has its CatchHandler @ 002c47b3 */
        gold::gold_error_at_location<32,_false>
                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p);
        lo16_reloc = (_Rb_tree_color)relnum;
        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;
      }
      operator_delete(local_58._M_dataplus._M_p);
    }
  }
  else if (SVar26 != STATUS_OKAY) {
    if (SVar26 == STATUS_BAD_RELOC) {
      pcVar61 = "unexpected opcode while processing relocation";
    }
    else {
      if (SVar26 != STATUS_PCREL_UNALIGNED) {
                    /* WARNING: Subroutine does not return */
        gold::do_gold_unreachable("../../gold/mips.cc",0x3035,"relocate");
      }
      pcVar61 = "unaligned PC-relative relocation";
    }
    pcVar61 = (char *)gettext(pcVar61);
    gold::gold_error_at_location<32,_false>(relinfo,relnum,(ulong)uVar7,pcVar61);
    lo16_reloc = (_Rb_tree_color)relnum;
  }
LAB_002c193c:
  gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)local_c8,lo16_reloc);
  return true;
}



/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

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

{
  byte bVar1;
  ushort uVar2;
  int iVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  long *plVar6;
  int *piVar7;
  ulong uVar8;
  uint *puVar9;
  undefined8 *puVar10;
  char cVar11;
  undefined1 *puVar12;
  byte bVar13;
  byte bVar14;
  char cVar15;
  char cVar16;
  uint uVar17;
  uint uVar18;
  undefined4 uVar19;
  uint uVar20;
  int iVar21;
  undefined8 uVar22;
  undefined8 uVar23;
  ulong uVar24;
  long lVar25;
  long *plVar26;
  long *plVar27;
  long *plVar28;
  long *plVar29;
  ushort uVar30;
  long lVar31;
  int extraout_EDX;
  ulong uVar32;
  uint uVar33;
  ulong *puVar34;
  int iVar35;
  uint uVar36;
  byte *pbVar37;
  byte *pbVar38;
  char *pcVar39;
  long *plVar40;
  undefined8 uVar41;
  byte bVar42;
  uint *unaff_R13;
  ulong uVar43;
  uint uVar44;
  bool bVar45;
  bool bVar46;
  byte bVar47;
  bool bVar48;
  bool bVar49;
  sbyte local_118;
  uint local_108;
  undefined8 *local_100;
  uint local_f0;
  byte local_e8;
  uint local_e4;
  uint *local_d8;
  byte local_cf;
  byte local_ce;
  bool local_cd;
  uint local_cc;
  undefined8 *local_c8;
  int local_bc;
  ulong local_b8;
  uint local_b0;
  undefined8 *local_98;
  uint local_84;
  undefined4 uStack_80;
  undefined4 uStack_7c;
  undefined8 local_78;
  undefined4 local_70;
  uint local_68;
  undefined1 *local_58 [2];
  undefined1 auStack_48 [24];
  
  bVar42 = 0;
  uVar18 = param_7[1];
  uVar32 = (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x14) /
           (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x24);
  iVar3 = *param_7;
  uVar44 = uVar18 & 0xff;
  uVar33 = uVar18 >> 8;
  if (param_3 == 4) {
    cVar11 = '\0';
    local_cc = param_7[2];
    local_bc = -1;
    if (param_6 + 1U < uVar32) {
      local_bc = param_7[3];
      cVar11 = (char)param_7[4];
    }
  }
  else if (param_6 + 1U < uVar32) {
    local_cc = 0;
    local_bc = param_7[2];
    cVar11 = (char)param_7[3];
  }
  else {
    cVar11 = '\0';
    local_bc = -1;
    local_cc = 0;
  }
  local_70 = 0x80000000;
  local_68 = 0;
  plVar6 = *(long **)(param_2 + 0x10);
  local_78 = 0xffffffff00000000;
  if (param_8 == (undefined8 *)0x0) {
    if (((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -
        (ulong)*(uint *)(plVar6 + 0x46) <= (ulong)uVar33) {
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");
    }
    local_e8 = (byte)(uVar18 >> 8);
    uVar24 = 1L << (local_e8 & 0x3f);
    uVar32 = *(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8);
    local_b8 = plVar6[0x4c];
    uVar43 = uVar24 & uVar32;
    bVar47 = uVar43 != 0;
    if (((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -
        (ulong)*(uint *)(plVar6 + 0x4b) <= (ulong)uVar33) {
LAB_002c45d2:
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");
    }
    uVar8 = *(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8);
    bVar14 = (uVar24 & uVar8) != 0;
    local_cd = ((uVar32 | uVar8) & uVar24) != 0;
    if (local_cd) {
                    /* try { // try from 002c2e1b to 002c47aa has its CatchHandler @ 002c47bb */
      local_68 = FUN_001a5ac0(param_9,plVar6,1);
      param_9 = &local_78;
    }
    if (uVar44 == 100) {
      plVar27 = (long *)plVar6[0x69];
      plVar40 = plVar6 + 0x68;
      plVar29 = plVar27;
      plVar28 = plVar40;
      if (plVar27 == (long *)0x0) goto LAB_002c1c10;
      do {
        if (*(uint *)(plVar29 + 4) < uVar33) {
          plVar26 = (long *)plVar29[3];
        }
        else {
          plVar26 = (long *)plVar29[2];
          plVar28 = plVar29;
        }
        plVar29 = plVar26;
      } while (plVar26 != (long *)0x0);
      if (((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))
      goto LAB_002c1c10;
      plVar29 = plVar40;
      if (uVar43 != 0) {
        bVar47 = true;
        goto LAB_002c1c10;
      }
      do {
        plVar28 = plVar27;
        if (*(uint *)(plVar28 + 4) < uVar33) {
          plVar27 = (long *)plVar28[3];
          plVar28 = plVar29;
        }
        else {
          plVar27 = (long *)plVar28[2];
        }
        plVar29 = plVar28;
      } while (plVar27 != (long *)0x0);
      lVar31 = 0;
      if ((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)) {
        lVar31 = plVar28[5];
      }
      bVar47 = 0;
      cVar15 = '\0';
      goto LAB_002c1d90;
    }
    plVar40 = (long *)plVar6[99];
    plVar27 = plVar6 + 0x62;
    if ((long *)plVar6[99] != (long *)0x0) {
      do {
        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {
          plVar28 = plVar29 + 3;
          plVar40 = (long *)*plVar28;
          plVar29 = plVar27;
          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;
        }
        plVar40 = (long *)plVar29[2];
        plVar27 = plVar29;
      } while ((long *)plVar29[2] != (long *)0x0);
LAB_002c2b6a:
      if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||
         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;
      goto LAB_002c15fe;
    }
LAB_002c1c10:
    cVar15 = '\0';
LAB_002c1c17:
    bVar45 = uVar44 == 100;
LAB_002c13a0:
    bVar42 = bVar14 & bVar45;
    bVar48 = (bool)bVar42;
    if ((bool)bVar42 == false) {
LAB_002c13ac:
      bVar48 = bVar45;
      if ((uVar18 & 0xf7) == 0x85) {
LAB_002c1870:
        bVar42 = bVar14;
        if (bVar47 != 0) goto LAB_002c187c;
      }
      else {
LAB_002c13c4:
        if (uVar44 - 0x8b < 2) goto LAB_002c1870;
      }
    }
    else {
LAB_002c187c:
      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");
      FUN_0034a750(uVar22);
      bVar14 = bVar42;
    }
LAB_002c13d7:
    if (param_8 != (undefined8 *)0x0) goto LAB_002c16b8;
    local_cf = (bVar47 ^ 1) & bVar48;
    local_ce = local_cf;
    if (local_cf != 0) goto LAB_002c1402;
    local_cf = (bVar14 ^ 1) & uVar44 == 0x85;
    if (local_cf == 0) goto LAB_002c1bcf;
    local_84 = 0x85;
    uStack_80 = 0;
    uStack_7c = 0;
    local_f0 = 0x21;
    local_b8 = (ulong)(param_3 == 9);
    local_ce = local_cf;
LAB_002c1d4a:
    if (1 < local_84 - 0x8b) {
      uVar17 = (uint)(ushort)*param_10;
      uVar18 = (uint)*(ushort *)((long)param_10 + 2);
LAB_002c1462:
      uVar18 = uVar17 << 0x10 | uVar18;
LAB_002c1467:
      *(uint *)param_10 = uVar18;
    }
  }
  else {
    bVar14 = *(byte *)((long)param_8 + 0x39) >> 2;
    bVar47 = (bVar14 & 0x3c) == 0x3c;
    bVar14 = (bVar14 & 0x30) == 0x20;
    local_cd = (bool)bVar47 || (bool)bVar14;
    if (((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)) {
      local_68 = FUN_001a5ac0(param_9,plVar6,0);
      local_68 = local_68 | 1;
      param_9 = &local_78;
    }
    else {
      local_cd = false;
    }
    local_c8 = &local_78;
    iVar35 = 0;
    if (uVar44 - 1 < 0xf9) {
      iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];
    }
                    /* try { // try from 002c11cb to 002c1a28 has its CatchHandler @ 002c47bb */
    cVar15 = FUN_00228fa0(param_8,iVar35);
    if (cVar15 == '\0') {
      bVar45 = false;
      bVar48 = *(char *)((long)param_8 + 0x65) == '\0';
      if (!bVar48) {
LAB_002c11e1:
        lVar31 = *(long *)(param_4 + 0xb8);
        if (lVar31 == 0) {
          FUN_002908e0();
LAB_002c4653:
                    /* WARNING: Subroutine does not return */
          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");
        }
        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_00291e90();
        }
        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));
        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);
        bVar48 = uVar17 == 0;
        bVar13 = bVar47;
        goto LAB_002c1209;
      }
    }
    else {
      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;
      lVar31 = *(long *)(param_4 + 0x30);
      if (*(int *)(param_8 + 0xd) == -1) {
        if (lVar31 == 0) {
          FUN_00290920();
          goto LAB_002c45d2;
        }
        if (*(int *)((long)param_8 + 0x6c) == -1) {
                    /* WARNING: Subroutine does not return */
          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");
        }
        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {
LAB_002c45b0:
                    /* WARNING: Subroutine does not return */
          FUN_00291e90();
        }
        bVar1 = *(byte *)(param_4 + 0x14);
        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +
                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);
        if (bVar1 == 0) {
          FUN_00290d40();
          goto LAB_002c45b0;
        }
        local_b8 = (ulong)*(uint *)(param_4 + 0x10);
        bVar45 = false;
        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;
        bVar13 = bVar1;
        if (!bVar48) {
          bVar13 = bVar47;
          bVar14 = bVar1;
        }
      }
      else {
        if (lVar31 == 0) {
LAB_002c4644:
          FUN_00290920();
LAB_002c4649:
                    /* WARNING: Subroutine does not return */
          FUN_00291e90();
        }
        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;
        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);
        bVar45 = false;
        bVar48 = true;
        bVar13 = 0;
        bVar14 = 0;
      }
LAB_002c1209:
      bVar47 = bVar13;
      local_68 = uVar17;
      param_9 = local_c8;
    }
    lVar31 = 9;
    pbVar37 = (byte *)*param_8;
    pbVar38 = (byte *)"_gp_disp";
    do {
      if (lVar31 == 0) break;
      lVar31 = lVar31 + -1;
      bVar45 = *pbVar37 < *pbVar38;
      bVar48 = *pbVar37 == *pbVar38;
      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;
      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;
    } while (bVar48);
    lVar31 = 0xf;
    bVar48 = !bVar45 && !bVar48;
    bVar46 = bVar48 < bVar45;
    bVar49 = bVar48 == bVar45;
    pbVar37 = (byte *)*param_8;
    pbVar38 = (byte *)"__gnu_local_gp";
    do {
      if (lVar31 == 0) break;
      lVar31 = lVar31 + -1;
      bVar46 = *pbVar37 < *pbVar38;
      bVar49 = *pbVar37 == *pbVar38;
      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;
      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;
    } while (bVar49);
    if (bVar48 != bVar45) {
      if ((!bVar46 && !bVar49) == bVar46) {
LAB_002c1750:
        if (*(long *)(param_4 + 0x28) == 0) {
          local_68 = 0;
        }
        else {
          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);
          if (((*(long *)(param_4 + 0x20) != 0) &&
              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {
            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);
          }
        }
        param_9 = local_c8;
      }
LAB_002c15d8:
      cVar15 = '\0';
      if (uVar44 != 100) goto LAB_002c15e9;
LAB_002c12e3:
      lVar25 = param_8[0xf];
      if (lVar25 == 0) {
        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))
        goto LAB_002c1304;
        lVar31 = param_8[0x10];
LAB_002c1d90:
        local_c8 = &local_78;
        local_68 = FUN_00298370(lVar31,lVar31 + 8);
        param_9 = local_c8;
        bVar45 = true;
        local_cd = true;
        goto LAB_002c13a0;
      }
      if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {
        lVar31 = lVar25;
        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {
          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -
                   (ulong)*(uint *)(plVar6 + 0x7a);
          if (1 < uVar32) {
            uVar24 = 1;
            do {
              lVar31 = param_8[0x10];
              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0
                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))
              goto LAB_002c1d90;
              uVar24 = uVar24 + 1;
            } while (uVar24 != uVar32);
          }
                    /* WARNING: Subroutine does not return */
          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");
        }
        goto LAB_002c1d90;
      }
LAB_002c1304:
      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;
      bVar45 = true;
LAB_002c1320:
      local_c8 = &local_78;
      if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&
         (*(int *)(param_8 + 0xd) != -1)) {
        lVar31 = *(long *)(param_4 + 0x30);
        if (lVar31 == 0) {
          FUN_00290920();
LAB_002c46ec:
                    /* WARNING: Subroutine does not return */
          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");
        }
        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;
        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +
                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);
        if (*(char *)(param_4 + 0x14) == '\0') {
LAB_002c46dd:
          FUN_00290d40();
LAB_002c46e2:
                    /* WARNING: Subroutine does not return */
          FUN_00291e90();
        }
        param_9 = local_c8;
        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;
        bVar14 = !(bool)bVar47;
      }
      goto LAB_002c13a0;
    }
    local_b8 = (ulong)*(byte *)((long)plVar6 + 0x36c);
    bVar42 = *(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1;
    if ((!bVar46 && !bVar49) == bVar46) {
      if (bVar42 == 0) goto LAB_002c1750;
    }
    else if (bVar42 == 0) goto LAB_002c15d8;
    if ((((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40)) {
      uVar22 = gettext(
                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."
                      );
      FUN_0034ad90(param_2,param_6,iVar3,uVar22);
    }
    cVar15 = '\x01';
    if (uVar44 == 100) goto LAB_002c12e3;
LAB_002c15e9:
    if (param_8[0xe] == 0) {
LAB_002c17b9:
      if (*(int *)((long)param_8 + 0x4c) == -1) {
LAB_002c1848:
        bVar45 = uVar44 == 100;
        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;
        bVar45 = false;
        goto LAB_002c13ac;
      }
LAB_002c17c6:
      local_c8 = &local_78;
      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||
         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;
      lVar31 = *(long *)(param_4 + 0x98);
      if (lVar31 == 0) {
        FUN_00290900();
        goto LAB_002c46aa;
      }
      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {
                    /* WARNING: Subroutine does not return */
        FUN_00291e90();
      }
      param_9 = local_c8;
      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +
                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);
      bVar42 = bVar14 & uVar44 == 100;
      bVar48 = (bool)bVar42;
      bVar45 = uVar44 == 100;
      if ((bool)bVar42 == false) goto LAB_002c13ac;
      goto LAB_002c187c;
    }
    if ((uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0')) {
      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;
      bVar45 = false;
      goto LAB_002c13ac;
    }
LAB_002c15fe:
    local_c8 = &local_78;
    uVar17 = *(uint *)(param_2 + 0x30);
    unaff_R13 = (uint *)(ulong)uVar17;
    cVar16 = FUN_002972f0(plVar6,unaff_R13);
    if ((cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e))) {
      if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;
      goto LAB_002c17b9;
    }
    if (param_8 == (undefined8 *)0x0) {
      plVar40 = (long *)plVar6[99];
      plVar27 = plVar6 + 0x62;
      if (plVar40 != (long *)0x0) {
        do {
          plVar29 = plVar40;
          if (*(uint *)(plVar29 + 4) < uVar33) {
            plVar40 = (long *)plVar29[3];
            plVar29 = plVar27;
          }
          else {
            plVar40 = (long *)plVar29[2];
          }
          plVar27 = plVar29;
        } while (plVar40 != (long *)0x0);
        plVar40 = (long *)0x0;
        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {
          plVar40 = (long *)plVar29[5];
        }
      }
LAB_002c3d91:
      local_68 = FUN_00298370(plVar40,plVar40 + 1);
      bVar48 = uVar44 == 100;
      bVar47 = 0;
      if ((uVar18 & 0xf7) != 0x85) {
        local_cd = true;
        param_9 = local_c8;
        goto LAB_002c13c4;
      }
      param_9 = local_c8;
      local_cd = true;
      goto LAB_002c13d7;
    }
    if (*(char *)(param_8 + 9) == '\0') {
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");
    }
    if (*(int *)((long)param_8 + 0x4c) == -1) {
      plVar40 = (long *)param_8[0xe];
      goto LAB_002c3d91;
    }
    lVar31 = *(long *)(param_4 + 0x98);
    if (lVar31 == 0) {
      FUN_00290900();
LAB_002c46d8:
      FUN_00290940();
      goto LAB_002c46dd;
    }
    local_cd = (bool)(*(byte *)(lVar31 + 0x20) & 1);
    if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {
LAB_002c4670:
                    /* WARNING: Subroutine does not return */
      FUN_00291e90();
    }
    bVar48 = uVar44 == 100;
    local_68 = *(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8);
    bVar47 = 0;
    if ((uVar18 & 0xf7) != 0x85) {
      param_9 = local_c8;
      goto LAB_002c13c4;
    }
    param_9 = local_c8;
LAB_002c16b8:
    cVar16 = FUN_002e7200(param_8);
    if (cVar16 == '\0') {
      local_cf = (bVar47 ^ 1) & bVar48;
      if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {
LAB_002c1bcf:
        local_cf = uVar44 == 4 || uVar44 == 0x25;
        if (uVar44 == 4 || uVar44 == 0x25) {
          local_cf = bVar14 | bVar47;
        }
        if (param_8 == (undefined8 *)0x0) {
          local_ce = 1;
          goto LAB_002c1402;
        }
      }
    }
    else {
      local_cf = 0;
    }
    if (*(char *)((long)param_8 + 100) != '\0') {
      local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);
      if ((local_ce == 0) &&
         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))
      goto LAB_002c1ab9;
LAB_002c1402:
      local_f0 = uVar44 - 100;
      uVar32 = (ulong)(uVar44 - 0x85);
      local_b8 = (ulong)(param_3 == 9);
      uStack_80 = 0;
      uStack_7c = 0;
      if (0xc < local_f0) goto LAB_002c1b2f;
      uVar30 = (ushort)*param_10;
      uVar17 = (uint)uVar30;
      uVar2 = *(ushort *)((long)param_10 + 2);
      uVar18 = (uint)uVar2;
      local_84 = uVar44;
      if (uVar44 - 0x85 < 0x29) {
        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;
        goto LAB_002c1462;
      }
      if (uVar44 == 100) {
        local_f0 = 0;
        uVar18 = (uint)uVar2;
        goto LAB_002c1462;
      }
LAB_002c1c3c:
      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |
               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |
               (uint)(((ulong)uVar30 & 0x1f) << 0xb);
      goto LAB_002c1467;
    }
                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */
    local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0);
    if ((local_ce != 0) ||
       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92))
    goto LAB_002c1402;
LAB_002c1ab9:
    if (uVar44 - 0x85 < 0x29) {
      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;
      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);
      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;
      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;
    }
    else {
      uVar32 = 0xffffff8e;
      uVar44 = 0x13;
      local_f0 = 0xffffffaf;
    }
    uStack_80 = 0;
    uStack_7c = 0;
    local_ce = 0;
    local_b8 = (ulong)(param_3 == 9);
LAB_002c1b2f:
    local_84 = uVar44;
    if (((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;
  }
  uStack_80 = 0;
  uStack_7c = 0;
  unaff_R13 = &local_84;
  uVar17 = 0;
  local_e4 = 0;
  local_d8 = (uint *)&local_78;
  uVar44 = local_84;
  uVar18 = local_84;
  while (local_c8 = &local_78, uVar18 != 0) {
    bVar45 = local_bc == iVar3;
    bVar48 = cVar11 != '\0';
    bVar14 = bVar45 && bVar48;
    puVar34 = param_1;
    if (*(char *)((long)param_1 + 4) == '\0') {
      *(byte *)((long)param_1 + 4) = bVar14;
      switch(uVar18) {
      default:
        goto switchD_002c18c9_caseD_0;
      case 1:
        uVar30 = (ushort)*param_10;
        if ((char)local_b8 == '\0') {
LAB_002c46aa:
          local_b0 = local_cc;
        }
        else {
          local_b0 = (uint)uVar30;
          if ((short)uVar30 < 0) {
            local_b0 = uVar30 - 0x10000;
          }
        }
        goto LAB_002c359b;
      case 2:
        goto switchD_002c18c9_caseD_2;
      case 3:
        goto switchD_002c14fa_caseD_3;
      case 4:
      case 100:
      case 0x85:
        bVar42 = (!bVar45 || !bVar48) & local_cf;
        local_b0 = local_cc;
        uVar17 = (uint)*param_10;
        if ((char)local_b8 == '\0') {
LAB_002c38d3:
          if (bVar42 == 0) {
LAB_002c38db:
            bVar46 = param_8 == (undefined8 *)0x0;
            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;
            if (bVar46) {
              local_118 = 1;
              uVar36 = 0xf8000000;
              goto LAB_002c34f1;
            }
            local_118 = 1;
            uVar36 = local_b0 & 0x7ffffff;
            if ((local_b0 & 0x4000000) != 0) {
              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;
            }
            goto LAB_002c3505;
          }
LAB_002c40ff:
          bVar42 = FUN_001a5ac0(param_9,plVar6,0);
          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;
          uVar22 = gettext("JALX to a non-word-aligned address");
          FUN_0034a800(uVar22);
LAB_002c413e:
          uVar17 = 2;
        }
        else {
          if (uVar18 == 0x85) {
            local_b0 = uVar17 * 2 & 0x7fffffe;
            goto LAB_002c38d3;
          }
          local_b0 = (uVar17 & 0x3ffffff) << 2;
          if (bVar42 != 0) {
            local_b8 = (ulong)bVar42;
            goto LAB_002c40ff;
          }
LAB_002c34d9:
          bVar46 = param_8 == (undefined8 *)0x0;
          if (bVar46) {
            local_118 = 2;
            uVar36 = 0xf0000000;
LAB_002c34f1:
            bVar46 = true;
            uVar36 = param_11 + 4 & uVar36 | local_b0;
          }
          else {
            local_118 = 2;
            uVar36 = local_b0 & 0xfffffff;
            if ((local_b0 & 0x8000000) != 0) {
              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;
            }
          }
LAB_002c3505:
          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);
          if ((((!bVar45 || !bVar48) && (!bVar46)) &&
              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&
             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {
LAB_002c3567:
            uVar17 = 1;
            goto LAB_002c1e60;
          }
          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;
          if (local_cf != 0) {
            uVar17 = uVar17 >> 0x1a;
            if (uVar18 == 100) {
              iVar35 = 7;
              bVar46 = uVar17 - 6 < 2;
            }
            else if (uVar18 == 0x85) {
              iVar35 = 0x3c;
              bVar46 = uVar17 - 0x3c < 2;
            }
            else {
              bVar46 = uVar17 == 3 || uVar17 == 0x1d;
              iVar35 = 0x1d;
            }
            if ((!bVar45 || !bVar48) && (!bVar46)) {
              uVar22 = gettext(
                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."
                              );
              FUN_0034a750(uVar22);
              goto LAB_002c413e;
            }
            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;
          }
          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {
LAB_002c4770:
                    /* WARNING: Subroutine does not return */
            FUN_002932f0();
          }
          if (bVar45 && bVar48) {
            uVar17 = 0;
            *(uint *)param_1 = uVar36;
          }
          else {
            uVar17 = 0;
            *(uint *)param_10 = uVar36;
          }
        }
        goto LAB_002c1e60;
      case 5:
      case 0x68:
      case 0x86:
        goto switchD_002c18c9_caseD_5;
      case 6:
      case 0x69:
      case 0x87:
      case 0x9d:
        local_b0 = local_cc;
        local_108 = (uint)*param_10;
        if ((char)local_b8 != '\0') {
          local_b0 = (local_108 & 0xffff) - 0x10000;
          if ((local_108 & 0x8000) == 0) {
            local_b0 = local_108 & 0xffff;
          }
        }
        goto LAB_002c3615;
      case 7:
      case 8:
      case 0x65:
      case 0x88:
      case 0x89:
      case 0xac:
        local_b0 = local_cc;
        lVar31 = *(long *)(param_4 + 0x28);
        if (lVar31 != 0) goto LAB_002c370d;
        iVar35 = 0;
LAB_002c3751:
        uVar17 = (uint)*param_10;
        local_cc = local_b0;
        if ((char)local_b8 != '\0') {
          if (uVar18 == 0xac) {
            local_b0 = uVar17 * 4 & 0x1fc;
          }
          else {
            local_b0 = (uVar17 & 0xffff) - 0x10000;
            if ((uVar17 & 0x8000) == 0) {
              local_b0 = uVar17 & 0xffff;
            }
          }
        }
        goto LAB_002c378b;
      case 9:
      case 0x66:
      case 0x8a:
        goto switchD_002c18c9_caseD_9;
      case 10:
        local_b0 = local_cc;
        goto LAB_002c2e45;
      case 0xb:
      case 0x67:
      case 0x8e:
        goto switchD_002c18c9_caseD_b;
      case 0xc:
        goto switchD_002c18c9_caseD_c;
      case 0x12:
        goto switchD_002c18c9_caseD_12;
      case 0x13:
      case 0x91:
      case 0xf9:
        goto switchD_002c18c9_caseD_13;
      case 0x14:
      case 0x92:
        goto switchD_002c18c9_caseD_14;
      case 0x15:
      case 0x93:
        goto switchD_002c18c9_caseD_15;
      case 0x16:
      case 0x1e:
      case 0x94:
      case 0x99:
        goto switchD_002c18c9_caseD_16;
      case 0x17:
      case 0x1f:
      case 0x95:
      case 0x9a:
        goto switchD_002c18c9_caseD_17;
      case 0x18:
      case 0x96:
        local_b0 = local_cc;
        if ((char)local_b8 != '\0') {
          local_b0 = (uint)*param_10;
        }
        goto LAB_002c2efa;
      case 0x1c:
      case 0x97:
        local_b0 = local_cc;
        goto LAB_002c1ed8;
      case 0x1d:
      case 0x98:
        local_b0 = local_cc;
        goto LAB_002c2f32;
      case 0x25:
      case 0x9c:
        goto switchD_002c18c9_caseD_25;
      case 0x27:
      case 0x29:
        goto switchD_002c18c9_caseD_27;
      case 0x2a:
      case 0x6a:
      case 0xa2:
        goto switchD_002c18c9_caseD_2a;
      case 0x2b:
      case 0x6b:
      case 0xa3:
        goto switchD_002c18c9_caseD_2b;
      case 0x2c:
      case 0x6c:
      case 0xa4:
        goto switchD_002c18c9_caseD_2c;
      case 0x2d:
      case 0x6d:
      case 0xa5:
        goto switchD_002c18c9_caseD_2d;
      case 0x2e:
      case 0x6e:
      case 0xa6:
        goto switchD_002c18c9_caseD_2e;
      case 0x2f:
      case 0x30:
        goto switchD_002c18c9_caseD_2f;
      case 0x31:
      case 0x6f:
      case 0xa9:
        goto switchD_002c18c9_caseD_31;
      case 0x32:
      case 0x70:
      case 0xaa:
        goto switchD_002c18c9_caseD_32;
      case 0x3c:
        local_b0 = local_cc;
        goto LAB_002c2f96;
      case 0x3d:
        local_b0 = local_cc;
        goto LAB_002c304d;
      case 0x3e:
        local_b0 = local_cc;
        goto LAB_002c3104;
      case 0x3f:
        local_b0 = local_cc;
        goto LAB_002c31c0;
      case 0x40:
        goto switchD_002c18c9_caseD_40;
      case 0x41:
        local_b0 = local_cc;
        goto LAB_002c330f;
      case 0x8b:
        local_b0 = local_cc;
        goto LAB_002c3385;
      case 0x8c:
        local_b0 = local_cc;
        goto LAB_002c328d;
      case 0x8d:
        local_b0 = local_cc;
        goto LAB_002c33fc;
      case 0xf8:
        local_b0 = local_cc;
        if ((char)local_b8 != '\0') {
          local_b0 = (uint)*param_10;
        }
        goto LAB_002c3260;
      }
    }
    local_cc = (uint)*param_1;
    *(byte *)((long)param_1 + 4) = bVar14;
    local_b0 = local_cc;
    switch(uVar18) {
    default:
      local_b8 = 0;
switchD_002c18c9_caseD_0:
      uVar22 = gettext("unsupported reloc %u");
      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);
      break;
    case 1:
      local_b8 = 0;
      local_b0 = local_cc;
LAB_002c359b:
      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);
      if (bVar14 != 0) goto LAB_002c1f30;
      *(ushort *)param_10 = (ushort)uVar36;
      uVar17 = (uint)(0xffff < uVar36 + 0x8000);
      break;
    case 2:
      local_b8 = 0;
switchD_002c18c9_caseD_2:
      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);
      if (cVar16 != '\0') {
        cVar16 = *(char *)((long)param_1 + 4);
        uVar18 = local_cc;
        if ((char)local_b8 != '\0') {
          uVar18 = (uint)*param_10;
        }
        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);
        if (cVar16 == '\0') {
          uVar17 = 0;
          *(uint *)param_10 = uVar18;
        }
        else {
          uVar17 = 0;
          *(uint *)param_1 = uVar18;
        }
      }
      if (((param_8 != (undefined8 *)0x0) &&
          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||
           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {
        lVar31 = param_8[0xe];
        if (lVar31 != 0) {
          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;
          local_68 = FUN_00298370(lVar31,lVar31 + 8);
          param_9 = local_c8;
        }
        local_e4 = *(uint *)(param_8 + 0xc);
        puVar34 = *(ulong **)(param_4 + 0x20);
        if (puVar34 == (ulong *)0x0) {
          do {
            uVar18 = FUN_00290940();
LAB_002c2940:
            *(uint *)puVar34 = uVar18;
            uVar17 = 0;
LAB_002c2945:
            if (local_cd == false) goto LAB_002c1e60;
            puVar34 = *(ulong **)(param_4 + 0x20);
          } while (puVar34 == (ulong *)0x0);
          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;
        }
        else {
LAB_002c2967:
          if (*(char *)(param_8 + 0x11) != '\0') {
            uVar19 = FUN_001a5ac0(param_9,plVar6,0);
            if (*(int *)((long)param_8 + 0x5c) == 2) {
LAB_002c461d:
                    /* WARNING: Subroutine does not return */
              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");
            }
            piVar7 = (int *)puVar34[0x1a];
            if (piVar7 == (int *)0x0) {
              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];
            }
            else {
              iVar35 = piVar7[1] + *piVar7;
            }
            if (*(int *)(param_8 + 4) == 0) {
              FUN_00290e30();
              goto LAB_002c461d;
            }
            *(undefined4 *)
             (puVar34[0x17] +
             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =
                 uVar19;
            break;
          }
        }
        uVar19 = FUN_001a5ac0(param_9,plVar6,0);
        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;
      }
      break;
    case 3:
switchD_002c14fa_caseD_3:
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");
    case 4:
    case 100:
    case 0x85:
      local_b8 = 0;
      bVar42 = (!bVar45 || !bVar48) & local_cf;
      uVar17 = (uint)*param_10;
      goto LAB_002c38d3;
    case 5:
    case 0x68:
    case 0x86:
      local_b8 = 0;
switchD_002c18c9_caseD_5:
      if (param_3 == 4) {
        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,
                              local_b8 & 0xff,0,param_4,bVar14,param_1);
      }
      else {
        if (param_3 != 9) goto LAB_002c46ec;
        lVar31 = FUN_0049cb70(0x40);
        uVar17 = 0;
        *(ulong **)(lVar31 + 0x10) = param_10;
        *(long **)(lVar31 + 0x18) = plVar6;
        *(undefined8 **)(lVar31 + 0x20) = param_9;
        *(uint *)(lVar31 + 0x28) = local_cc;
        *(uint *)(lVar31 + 0x2c) = uVar18;
        *(uint *)(lVar31 + 0x30) = uVar33;
        *(char *)(lVar31 + 0x34) = (char)local_b8;
        *(uint *)(lVar31 + 0x38) = param_11;
        *(char *)(lVar31 + 0x3c) = cVar15;
        FUN_004a11e0(lVar31,&DAT_0067dae0);
        _DAT_0067daf0 = _DAT_0067daf0 + 1;
      }
      break;
    case 6:
    case 0x69:
    case 0x87:
    case 0x9d:
      local_b8 = 0;
      local_108 = (uint)*param_10;
      local_b0 = local_cc;
LAB_002c3615:
      if (param_3 == 9) {
        local_100 = DAT_0067dae0;
        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {
          do {
            if (uVar33 == *(uint *)(local_100 + 6)) {
              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);
              cVar16 = FUN_0028cc00(uVar19,uVar18);
              if (cVar16 == '\0') goto LAB_002c3ec8;
              uVar22 = local_100[2];
              uVar23 = local_100[4];
              uVar5 = *(undefined4 *)(local_100 + 5);
              uVar41 = local_100[3];
              uVar4 = *(undefined4 *)(local_100 + 7);
              FUN_00293aa0(uVar22,uVar19);
              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);
              FUN_00293140(uVar22,uVar19,0);
              if (uVar17 == 1) goto LAB_002c1e60;
              puVar10 = (undefined8 *)*local_100;
              _DAT_0067daf0 = _DAT_0067daf0 + -1;
              FUN_004a1200(local_100);
              FUN_0049e340(local_100);
              local_100 = puVar10;
            }
            else {
LAB_002c3ec8:
              local_100 = (undefined8 *)*local_100;
            }
          } while ((undefined8 **)local_100 != &DAT_0067dae0);
        }
        local_100 = DAT_0067dac0;
        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {
          do {
            if (uVar33 == *(uint *)(local_100 + 6)) {
              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);
              cVar16 = FUN_0028cc00(uVar19,uVar18);
              if (cVar16 == '\0') goto LAB_002c41a8;
              uVar22 = local_100[2];
              uVar5 = *(undefined4 *)(local_100 + 5);
              uVar23 = local_100[3];
              uVar41 = local_100[4];
              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);
              FUN_00293aa0(uVar22,uVar19);
              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14
                                    ,param_1);
              FUN_00293140(uVar22,uVar19,0);
              if (uVar17 == 1) goto LAB_002c1e60;
              puVar10 = (undefined8 *)*local_100;
              _DAT_0067dad0 = _DAT_0067dad0 + -1;
              FUN_004a1200(local_100);
              FUN_0049e340(local_100);
              local_100 = puVar10;
            }
            else {
LAB_002c41a8:
              local_100 = (undefined8 *)*local_100;
            }
          } while ((undefined8 **)local_100 != &DAT_0067dac0);
        }
      }
      if (cVar15 == '\0') {
        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);
      }
      else {
        lVar31 = *(long *)(param_4 + 0x28);
        if (uVar18 == 0x69) {
          if (lVar31 == 0) {
            iVar35 = 0;
          }
          else {
            iVar35 = *(int *)(lVar31 + 0x40);
            if (((*(long *)(param_4 + 0x20) != 0) &&
                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {
              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);
            }
          }
          iVar35 = iVar35 - (param_11 & 0xfffffffc);
        }
        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {
          if (lVar31 == 0) {
            iVar35 = 0;
          }
          else {
            iVar35 = *(int *)(lVar31 + 0x40);
            if (((*(long *)(param_4 + 0x20) != 0) &&
                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {
              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);
            }
          }
          iVar35 = (iVar35 - param_11) + 3;
        }
        else {
          if (lVar31 == 0) {
            iVar35 = 0;
          }
          else {
            iVar35 = *(int *)(lVar31 + 0x40);
            if (((*(long *)(param_4 + 0x20) != 0) &&
                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {
              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);
            }
          }
          iVar35 = (iVar35 - param_11) + 4;
        }
        uVar36 = iVar35 + local_b0;
      }
      if ((bool)bVar14) goto LAB_002c1f30;
LAB_002c1ebf:
      uVar17 = 0;
      *(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;
      break;
    case 7:
    case 8:
    case 0x65:
    case 0x88:
    case 0x89:
    case 0xac:
      lVar31 = *(long *)(param_4 + 0x28);
      if (lVar31 != 0) {
        local_b8 = 0;
LAB_002c370d:
        iVar35 = *(int *)(lVar31 + 0x40);
        local_b0 = local_cc;
        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))
           && (plVar6[0x6e] != 0)) {
          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);
        }
        goto LAB_002c3751;
      }
      local_b8 = 0;
      iVar35 = 0;
      uVar17 = (uint)*param_10;
      local_b0 = local_cc;
LAB_002c378b:
      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar36 = iVar21 - iVar35;
      if (param_8 == (undefined8 *)0x0) {
        uVar36 = uVar36 + (int)plVar6[0x6d];
      }
      uVar20 = (uVar36 ^ uVar17) & 0xffff;
      if (uVar18 == 0xac) {
        uVar20 = (uVar36 ^ uVar17) & 0x7f;
      }
      if ((bool)bVar14) goto LAB_002c1f30;
      *(uint *)param_10 = uVar17 ^ uVar20;
      if (0xffff < uVar36 + 0x8000) {
        uVar22 = gettext(
                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"
                        );
        FUN_0034a750(uVar22);
        goto LAB_002c3567;
      }
      goto LAB_002c1fd6;
    case 9:
    case 0x66:
    case 0x8a:
      local_b8 = 0;
switchD_002c18c9_caseD_9:
      if (param_8 == (undefined8 *)0x0) {
        if (param_3 == 4) {
          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,
                                param_1);
          goto LAB_002c2945;
        }
        if (param_3 == 9) {
          lVar31 = FUN_0049cb70(0x40);
          *(undefined1 *)(lVar31 + 0x3c) = 0;
          uVar17 = 0;
          *(undefined4 *)(lVar31 + 0x38) = 0;
          *(ulong **)(lVar31 + 0x10) = param_10;
          *(long **)(lVar31 + 0x18) = plVar6;
          *(undefined8 **)(lVar31 + 0x20) = param_9;
          *(uint *)(lVar31 + 0x28) = local_cc;
          *(uint *)(lVar31 + 0x2c) = uVar18;
          *(uint *)(lVar31 + 0x30) = uVar33;
          *(char *)(lVar31 + 0x34) = (char)local_b8;
          FUN_004a11e0(lVar31,&DAT_0067dac0);
          _DAT_0067dad0 = _DAT_0067dad0 + 1;
          goto LAB_002c2945;
        }
                    /* WARNING: Subroutine does not return */
        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");
      }
      if (*(long *)(param_4 + 0x20) != 0) {
        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);
        if (*(long *)(param_4 + 0x20) != 0) {
          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);
          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;
          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;
LAB_002c27a6:
          *(uint *)param_10 = uVar17;
          uVar17 = (uint)(0xffff < uVar18 + 0x8000);
          goto LAB_002c2945;
        }
        goto LAB_002c4797;
      }
      goto LAB_002c479c;
    case 10:
      local_b8 = 0;
LAB_002c2e45:
      local_cc = local_b0;
      uVar18 = (uint)*param_10;
      if ((char)local_b8 != '\0') {
        uVar17 = uVar18 * 4 & 0x3fffc;
        local_b0 = uVar17 - 0x40000;
        if ((uVar18 * 4 & 0x20000) == 0) {
          local_b0 = uVar17;
        }
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar36 = iVar35 - param_11 >> 2;
      if ((bool)bVar14) goto LAB_002c1f30;
      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;
      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar17 = 3;
      if ((uVar32 & 3) == 0) {
        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);
      }
      break;
    case 0xb:
    case 0x67:
    case 0x8e:
      local_b8 = 0;
switchD_002c18c9_caseD_b:
      if (param_8 == (undefined8 *)0x0) {
LAB_002c467a:
                    /* WARNING: Subroutine does not return */
        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");
      }
      if (*(long *)(param_4 + 0x20) != 0) {
        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);
        if (*(long *)(param_4 + 0x20) != 0) {
          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);
          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;
          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;
          goto LAB_002c27a6;
        }
        goto LAB_002c4735;
      }
      goto LAB_002c473a;
    case 0xc:
      local_b8 = 0;
switchD_002c18c9_caseD_c:
      if (*(long *)(param_4 + 0x28) == 0) {
        iVar35 = 0;
      }
      else {
        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);
        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))
           && (plVar6[0x6e] != 0)) {
          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);
        }
      }
      uVar18 = local_cc;
      if ((char)local_b8 != '\0') {
        uVar18 = (uint)*param_10;
      }
      iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);
      uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);
      goto joined_r0x002c327b;
    case 0x12:
      local_b8 = 0;
switchD_002c18c9_caseD_12:
      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);
      if (cVar16 != '\0') {
        bVar14 = *(byte *)((long)param_1 + 4);
        uVar18 = local_cc;
        if ((char)local_b8 != '\0') {
          uVar18 = (uint)*param_10;
        }
        goto LAB_002c2f02;
      }
      break;
    case 0x13:
    case 0x91:
    case 0xf9:
      local_b8 = 0;
switchD_002c18c9_caseD_13:
      lVar31 = *(long *)(param_4 + 0x20);
      if (param_8 != (undefined8 *)0x0) {
        if (lVar31 != 0) {
          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);
          goto LAB_002c252a;
        }
LAB_002c4721:
        FUN_00290940();
LAB_002c4726:
        FUN_00290940();
LAB_002c472b:
        FUN_00290940();
        goto LAB_002c4730;
      }
      if (lVar31 == 0) {
        FUN_00290940();
        goto LAB_002c4792;
      }
      local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);
LAB_002c252a:
      if (*(long *)(param_4 + 0x20) == 0) {
        FUN_00290940();
        goto LAB_002c4721;
      }
      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);
      if (uVar18 != 0xf9) {
        if (*(char *)((long)param_1 + 4) == '\0') {
          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;
          goto LAB_002c2590;
        }
        goto LAB_002c1f30;
      }
      if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;
      goto LAB_002c1fd4;
    case 0x14:
    case 0x92:
      local_b8 = 0;
switchD_002c18c9_caseD_14:
      uVar18 = (uint)*param_10;
      uVar17 = uVar18 & 0xffff;
      if ((char)local_b8 == '\0') {
        uVar17 = local_cc;
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);
      lVar31 = *(long *)(param_4 + 0x20);
      if (lVar31 == 0) goto LAB_002c4726;
      if (*(long *)(lVar31 + 0xd0) == 0) {
        lVar31 = *(long *)(lVar31 + 200);
      }
      else {
        lVar31 = plVar6[0x6e];
      }
      if (lVar31 == 0) {
LAB_002c4761:
        FUN_00293350();
LAB_002c4766:
        FUN_00290940();
        goto LAB_002c476b;
      }
      uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);
      if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;
      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);
      if ((bool)bVar14) goto LAB_002c1f30;
      uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;
      goto LAB_002c2590;
    case 0x15:
    case 0x93:
      local_b8 = 0;
switchD_002c18c9_caseD_15:
      uVar18 = (uint)*param_10;
      local_b0 = uVar18 & 0xffff;
      if ((char)local_b8 == '\0') {
        local_b0 = local_cc;
      }
      if (local_ce != 0) {
        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);
        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;
        lVar31 = *(long *)(param_4 + 0x20);
        if (lVar31 == 0) {
          FUN_00290940();
          goto LAB_002c463a;
        }
        if (*(long *)(lVar31 + 0xd0) == 0) {
          lVar31 = *(long *)(lVar31 + 200);
        }
        else {
          lVar31 = plVar6[0x6e];
        }
        if (lVar31 == 0) goto LAB_002c463f;
        FUN_002c0d60(lVar31,lVar25);
        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);
        local_b0 = iVar35 - (int)lVar25;
      }
      if ((bool)bVar14) {
        uVar17 = 0;
        *(uint *)param_1 = local_b0;
      }
      else {
        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;
        uVar17 = (uint)(0xffff < local_b0 + 0x8000);
      }
      break;
    case 0x16:
    case 0x1e:
    case 0x94:
    case 0x99:
      local_b8 = 0;
switchD_002c18c9_caseD_16:
      lVar31 = *(long *)(param_4 + 0x20);
      if (param_8 != (undefined8 *)0x0) {
        if (lVar31 != 0) {
          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);
          goto LAB_002c2378;
        }
LAB_002c4730:
        FUN_00290940();
LAB_002c4735:
        FUN_00290940();
LAB_002c473a:
        FUN_00290940();
LAB_002c473f:
                    /* WARNING: Subroutine does not return */
        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");
      }
      if (lVar31 != 0) {
        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);
LAB_002c2378:
        if (*(long *)(param_4 + 0x20) != 0) {
          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);
          uVar18 = iVar35 + 0x8000U >> 0x10;
          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;
          uVar17 = 0;
          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);
          goto LAB_002c2945;
        }
        goto LAB_002c472b;
      }
      goto LAB_002c46d8;
    case 0x17:
    case 0x1f:
    case 0x95:
    case 0x9a:
      local_b8 = 0;
switchD_002c18c9_caseD_17:
      lVar31 = *(long *)(param_4 + 0x20);
      if (param_8 != (undefined8 *)0x0) {
        if (lVar31 != 0) {
          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);
          goto LAB_002c22ef;
        }
LAB_002c476b:
        FUN_00290940();
        goto LAB_002c4770;
      }
      if (lVar31 != 0) {
        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);
LAB_002c22ef:
        if (*(long *)(param_4 + 0x20) != 0) {
          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);
          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;
          uVar17 = 0;
          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;
          goto LAB_002c2945;
        }
        goto LAB_002c4766;
      }
LAB_002c4792:
      FUN_00290940();
LAB_002c4797:
      FUN_00290940();
LAB_002c479c:
      FUN_00290940();
LAB_002c47a1:
      FUN_00290940();
LAB_002c47a6:
      FUN_00290940();
                    /* catch() { ... } // from try @ 002c1a5e with catch @ 002c47ab */
      uVar22 = FUN_0017eb9a();
      return uVar22;
    case 0x18:
    case 0x96:
      local_b8 = 0;
LAB_002c2efa:
      uVar18 = -local_b0;
LAB_002c2f02:
      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);
      if (bVar14 != '\0') goto LAB_002c1f30;
      uVar17 = 0;
      *param_10 = (ulong)uVar36;
      break;
    case 0x1c:
    case 0x97:
      local_b8 = 0;
LAB_002c1ed8:
      local_cc = local_b0;
      uVar18 = (uint)*param_10;
      if (((char)local_b8 != '\0') &&
         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {
        local_b0 = uVar18 & 0xffff;
      }
      uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);
      goto joined_r0x002c1f7e;
    case 0x1d:
    case 0x98:
      local_b8 = 0;
LAB_002c2f32:
      local_cc = local_b0;
      uVar36 = (uint)*param_10;
      if ((char)local_b8 != '\0') {
        local_b0 = (uVar36 & 0xffff) - 0x10000;
        if ((uVar36 & 0x8000) == 0) {
          local_b0 = uVar36 & 0xffff;
        }
      }
      FUN_001a5ac0(param_9,plVar6,local_b0);
      if (bVar45 && bVar48) {
        uVar17 = 0;
        *(uint *)param_1 = 0;
        break;
      }
      uVar36 = uVar36 & 0xffff0000;
      goto LAB_002c1fd0;
    case 0x25:
    case 0x9c:
      local_b8 = 0;
switchD_002c18c9_caseD_25:
      if (param_8 != (undefined8 *)0x0) {
        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);
        if (cVar16 == '\0') break;
        bVar14 = *(byte *)((long)param_1 + 4);
      }
      uVar17 = (uint)*param_10;
      uVar36 = uVar17;
      if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))
      {
        iVar35 = FUN_001a5ac0(param_9,plVar6);
        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {
          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;
          uVar36 = uVar18 | 0x10000000;
          if (uVar17 != 0x3200008) {
            uVar36 = uVar18 | 0x4110000;
          }
        }
      }
      if (bVar14 == '\0') {
        *(uint *)param_10 = uVar36;
        uVar17 = 0;
      }
      else {
        *(uint *)param_1 = uVar36;
        uVar17 = 0;
      }
      break;
    case 0x27:
    case 0x29:
      goto switchD_002c14fa_caseD_27;
    case 0x2a:
    case 0x6a:
    case 0xa2:
      local_b8 = 0;
switchD_002c18c9_caseD_2a:
      lVar31 = *(long *)(param_4 + 0x20);
      if (param_8 == (undefined8 *)0x0) {
        if (lVar31 == 0) {
          FUN_00290940();
          goto LAB_002c467a;
        }
        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);
      }
      else {
        if (lVar31 == 0) {
          FUN_00290940();
LAB_002c475c:
          FUN_00290940();
          goto LAB_002c4761;
        }
        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);
      }
      lVar31 = *(long *)(param_4 + 0x20);
      if (lVar31 != 0) {
LAB_002c2030:
        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);
        goto LAB_002c211b;
      }
      FUN_00290940();
switchD_002c14fa_caseD_27:
      local_b8 = 0;
switchD_002c18c9_caseD_27:
      uVar18 = local_cc;
      if ((char)local_b8 != '\0') {
        uVar18 = (uint)*param_10;
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);
      uVar36 = iVar35 - 0x8000;
      goto joined_r0x002c327b;
    case 0x2b:
    case 0x6b:
    case 0xa3:
      local_b8 = 0;
switchD_002c18c9_caseD_2b:
      lVar31 = *(long *)(param_4 + 0x20);
      if (lVar31 == 0) {
LAB_002c463a:
        FUN_00290940();
LAB_002c463f:
        FUN_00293350();
        goto LAB_002c4644;
      }
      if (*(long *)(lVar31 + 0xd0) == 0) {
        lVar25 = *(long *)(lVar31 + 200);
      }
      else {
        lVar25 = plVar6[0x6e];
      }
      if (lVar25 == 0) {
                    /* WARNING: Subroutine does not return */
        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");
      }
      local_e4 = *(uint *)(lVar25 + 0x14);
      uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);
LAB_002c211b:
      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;
      uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;
LAB_002c2590:
      *(uint *)param_10 = uVar18;
      uVar17 = (uint)(0xffff < uVar36 + 0x8000);
      break;
    case 0x2c:
    case 0x6c:
    case 0xa4:
      local_b8 = 0;
switchD_002c18c9_caseD_2c:
      uVar18 = (uint)*param_10;
      uVar17 = uVar18 & 0xffff;
      if ((char)local_b8 == '\0') {
        uVar17 = local_cc;
      }
      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);
      goto LAB_002c1f79;
    case 0x2d:
    case 0x6d:
    case 0xa5:
      local_b8 = 0;
switchD_002c18c9_caseD_2d:
      local_108 = (uint)*param_10;
      uVar18 = local_108 & 0xffff;
      if ((char)local_b8 == '\0') {
        uVar18 = local_cc;
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);
      uVar36 = iVar35 - 0x8000;
      if (!bVar45 || !bVar48) goto LAB_002c1ebf;
      goto LAB_002c1f30;
    case 0x2e:
    case 0x6e:
    case 0xa6:
      local_b8 = 0;
switchD_002c18c9_caseD_2e:
      lVar31 = *(long *)(param_4 + 0x20);
      if (param_8 == (undefined8 *)0x0) {
        if (lVar31 == 0) {
          FUN_00290940();
          goto LAB_002c4670;
        }
        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);
      }
      else {
        if (lVar31 == 0) goto LAB_002c47a6;
        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);
      }
      lVar31 = *(long *)(param_4 + 0x20);
      if (lVar31 != 0) goto LAB_002c2030;
      goto LAB_002c47a1;
    case 0x2f:
    case 0x30:
      local_b8 = 0;
switchD_002c18c9_caseD_2f:
      uVar18 = local_cc;
      if ((char)local_b8 != '\0') {
        uVar18 = (uint)*param_10;
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);
      uVar36 = iVar35 - 0x7000;
      if (!bVar45 || !bVar48) goto LAB_002c1fd0;
      goto LAB_002c1f30;
    case 0x31:
    case 0x6f:
    case 0xa9:
      local_b8 = 0;
switchD_002c18c9_caseD_31:
      uVar18 = (uint)*param_10;
      uVar17 = uVar18 & 0xffff;
      if ((char)local_b8 == '\0') {
        uVar17 = local_cc;
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);
      uVar36 = iVar35 + 0x1000;
LAB_002c1f79:
      uVar36 = uVar36 >> 0x10;
joined_r0x002c1f7e:
      if ((bool)bVar14) goto LAB_002c1f30;
      uVar17 = 0;
      *(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;
      break;
    case 0x32:
    case 0x70:
    case 0xaa:
      local_b8 = 0;
switchD_002c18c9_caseD_32:
      local_108 = (uint)*param_10;
      uVar18 = local_108 & 0xffff;
      if ((char)local_b8 == '\0') {
        uVar18 = local_cc;
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);
      uVar36 = iVar35 - 0x7000;
      if (!bVar45 || !bVar48) goto LAB_002c1ebf;
      goto LAB_002c1f30;
    case 0x3c:
      local_b8 = 0;
LAB_002c2f96:
      local_cc = local_b0;
      uVar18 = (uint)*param_10;
      if ((char)local_b8 != '\0') {
        uVar17 = uVar18 * 4 & 0x7ffffc;
        local_b0 = uVar17 - 0x800000;
        if ((uVar18 * 4 & 0x400000) == 0) {
          local_b0 = uVar17;
        }
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar36 = iVar35 - param_11 >> 2;
      if ((bool)bVar14) goto LAB_002c1f30;
      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;
      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar17 = 3;
      if ((uVar32 & 3) == 0) {
        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);
      }
      break;
    case 0x3d:
      local_b8 = 0;
LAB_002c304d:
      local_cc = local_b0;
      uVar18 = (uint)*param_10;
      if ((char)local_b8 != '\0') {
        uVar17 = uVar18 * 4 & 0xffffffc;
        local_b0 = uVar17 + 0xf0000000;
        if ((uVar18 * 4 & 0x8000000) == 0) {
          local_b0 = uVar17;
        }
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar36 = iVar35 - param_11 >> 2;
      if ((bool)bVar14) goto LAB_002c1f30;
      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;
      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar17 = 3;
      if ((uVar32 & 3) == 0) {
        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);
      }
      break;
    case 0x3e:
      local_b8 = 0;
LAB_002c3104:
      local_cc = local_b0;
      uVar18 = (uint)*param_10;
      if ((char)local_b8 != '\0') {
        uVar17 = uVar18 * 8 & 0x1ffff8;
        local_b0 = uVar17 - 0x200000;
        if ((uVar18 * 8 & 0x100000) == 0) {
          local_b0 = uVar17;
        }
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar20 = iVar35 - (param_11 & 0xfffffff8);
      uVar36 = uVar20 >> 3;
      if ((bool)bVar14) goto LAB_002c1f30;
      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;
      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar32 = uVar32 & 7;
joined_r0x002c324e:
      uVar17 = 3;
      if (uVar32 == 0) {
        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);
      }
      break;
    case 0x3f:
      local_b8 = 0;
LAB_002c31c0:
      local_cc = local_b0;
      uVar18 = (uint)*param_10;
      if ((char)local_b8 != '\0') {
        uVar17 = uVar18 * 4 & 0x1ffffc;
        local_b0 = uVar17 - 0x200000;
        if ((uVar18 * 4 & 0x100000) == 0) {
          local_b0 = uVar17;
        }
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar20 = iVar35 - param_11;
      uVar36 = uVar20 >> 2;
      if (!bVar45 || !bVar48) {
        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;
        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);
        uVar32 = uVar32 & 3;
        goto joined_r0x002c324e;
      }
LAB_002c1f30:
      uVar17 = 0;
      *(uint *)param_1 = uVar36;
      break;
    case 0x40:
      local_b8 = 0;
switchD_002c18c9_caseD_40:
      if (param_3 == 4) {
        uVar32 = *param_10;
        uVar18 = (uint)uVar32 << 0x10;
        if ((char)local_b8 == '\0') {
          uVar18 = local_cc;
        }
        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);
        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;
        if ((bool)bVar14) goto LAB_002c3c10;
        uVar17 = 0;
        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;
      }
      else {
        if (param_3 != 9) goto LAB_002c4653;
        lVar31 = FUN_0049cb70(0x40);
        *(undefined1 *)(lVar31 + 0x3c) = 0;
        uVar17 = 0;
        *(undefined4 *)(lVar31 + 0x2c) = 0;
        *(ulong **)(lVar31 + 0x10) = param_10;
        *(long **)(lVar31 + 0x18) = plVar6;
        *(undefined8 **)(lVar31 + 0x20) = param_9;
        *(uint *)(lVar31 + 0x28) = local_cc;
        *(uint *)(lVar31 + 0x30) = uVar33;
        *(char *)(lVar31 + 0x34) = (char)local_b8;
        *(uint *)(lVar31 + 0x38) = param_11;
        FUN_004a11e0(lVar31,&DAT_0067daa0);
        _DAT_0067dab0 = _DAT_0067dab0 + 1;
      }
      break;
    case 0x41:
      local_b8 = 0;
LAB_002c330f:
      local_cc = local_b0;
      uVar18 = (uint)*param_10;
      if ((char)local_b8 != '\0') {
        local_b0 = (uVar18 & 0xffff) - 0x10000;
        if ((uVar18 & 0x8000) == 0) {
          local_b0 = uVar18 & 0xffff;
        }
      }
      if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))
      {
        do {
          if (uVar33 == *(uint *)(local_98 + 6)) {
            puVar9 = (uint *)local_98[2];
            iVar35 = *(int *)(local_98 + 5);
            uVar17 = *puVar9;
            if (*(char *)((long)local_98 + 0x34) != '\0') {
              iVar35 = local_b0 + uVar17 * 0x10000;
            }
            iVar21 = *(int *)(local_98 + 7);
            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);
            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;
            if (bVar45 && bVar48) {
              *(uint *)param_1 = uVar36;
            }
            else {
              *puVar9 = uVar36 | uVar17 & 0xffff0000;
            }
            puVar10 = (undefined8 *)*local_98;
            _DAT_0067dab0 = _DAT_0067dab0 + -1;
            FUN_004a1200(local_98);
            FUN_0049e340(local_98);
            local_98 = puVar10;
          }
          else {
            local_98 = (undefined8 *)*local_98;
          }
        } while ((undefined8 **)local_98 != &DAT_0067daa0);
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar36 = iVar35 - param_11;
      if ((bool)bVar14) goto LAB_002c1f30;
      uVar17 = 0;
      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;
      break;
    case 0x8b:
      local_b8 = 0;
LAB_002c3385:
      local_cc = local_b0;
      uVar18 = (uint)*param_10;
      if ((char)local_b8 != '\0') {
        uVar17 = uVar18 * 2 & 0xff;
        local_b0 = uVar17 - 0x100;
        if ((uVar18 * 2 & 0x80) == 0) {
          local_b0 = uVar17;
        }
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar36 = iVar35 - param_11 >> 1;
      if ((bool)bVar14) {
LAB_002c3c10:
        uVar17 = 0;
        *(uint *)param_1 = uVar36;
      }
      else {
        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;
        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);
      }
      break;
    case 0x8c:
      local_b8 = 0;
LAB_002c328d:
      local_cc = local_b0;
      uVar18 = (uint)*param_10;
      if ((char)local_b8 != '\0') {
        uVar17 = uVar18 * 2 & 0x7fe;
        local_b0 = uVar17 - 0x800;
        if ((uVar18 * 2 & 0x400) == 0) {
          local_b0 = uVar17;
        }
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar36 = iVar35 - param_11 >> 1;
      if ((bool)bVar14) goto LAB_002c3c10;
      *(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;
      uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);
      break;
    case 0x8d:
      local_b8 = 0;
LAB_002c33fc:
      local_cc = local_b0;
      uVar18 = (uint)*param_10;
      if ((char)local_b8 != '\0') {
        uVar17 = uVar18 * 2 & 0x1fffe;
        local_b0 = uVar17 - 0x20000;
        if ((uVar18 * 2 & 0x10000) == 0) {
          local_b0 = uVar17;
        }
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar36 = iVar35 - param_11 >> 1;
      if ((bool)bVar14) goto LAB_002c3c10;
      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;
      uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);
      break;
    case 0xf8:
      local_b8 = 0;
LAB_002c3260:
      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar36 = iVar35 - param_11;
joined_r0x002c327b:
      if (bVar45 && bVar48) goto LAB_002c1f30;
LAB_002c1fd0:
      puVar34 = param_10;
LAB_002c1fd4:
      *(uint *)puVar34 = uVar36;
LAB_002c1fd6:
      uVar17 = 0;
    }
LAB_002c1e60:
    unaff_R13 = unaff_R13 + 1;
    if (local_d8 == unaff_R13) break;
    uVar18 = *unaff_R13;
  }
  local_c8 = &local_78;
  uVar18 = uVar44 - 0x85;
  if (local_f0 < 0xd) {
    uVar36 = (uint)*param_10;
    uVar30 = (ushort)(uVar36 >> 0x10);
    if (uVar18 < 0x29) {
      if ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0) {
LAB_002c1c8c:
        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;
        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;
      }
    }
    else if (((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)) {
      if (uVar44 != 100) goto LAB_002c1c8c;
      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;
    }
LAB_002c19bf:
    *(ushort *)((long)param_10 + 2) = (ushort)uVar36;
    *(ushort *)param_10 = uVar30;
  }
  else if (((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)) &&
          (1 < uVar44 - 0x8b)) {
    uVar36 = (uint)*param_10;
    uVar30 = (ushort)(uVar36 >> 0x10);
    goto LAB_002c19bf;
  }
  if (uVar17 == 1) {
    if (param_8 == (undefined8 *)0x0) {
      lVar31 = plVar6[1];
      uVar22 = gettext("relocation overflow: %u against local symbol %u in %s");
      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31);
    }
    else {
      if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {
        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {
          bVar42 = FUN_00443190();
          bVar42 = bVar42 ^ 1;
        }
        else {
          bVar42 = *(int *)(param_8 + 3) != 0;
        }
      }
      else {
        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;
      }
      if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {
        FUN_004443d0(local_58,param_8);
        puVar12 = local_58[0];
        uVar22 = gettext("relocation overflow: %u against \'%s\'");
                    /* try { // try from 002c2bde to 002c2be2 has its CatchHandler @ 002c47b3 */
        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);
        if (local_58[0] == auStack_48) goto LAB_002c193c;
      }
      else {
        uVar22 = *(undefined8 *)(param_8[2] + 8);
        FUN_004443d0(local_58,param_8);
        puVar12 = local_58[0];
        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");
                    /* try { // try from 002c1a5e to 002c1a62 has its CatchHandler @ 002c47ab */
        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);
        if (local_58[0] == auStack_48) goto LAB_002c193c;
      }
      FUN_0049e340();
    }
  }
  else if (uVar17 != 0) {
    if (uVar17 == 2) {
      pcVar39 = "unexpected opcode while processing relocation";
    }
    else {
      if (uVar17 != 3) {
                    /* WARNING: Subroutine does not return */
        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");
      }
      pcVar39 = "unaligned PC-relative relocation";
    }
    uVar22 = gettext(pcVar39);
    FUN_0034ad90(param_2,param_6,iVar3,uVar22);
  }
LAB_002c193c:
  FUN_001a5bc0(local_c8);
  return 1;
}


PUSH RBP
MOV RAX,RSI
MOV RBP,RSP
PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBX
SUB RSP,0x108
MOV RBX,qword ptr [RAX + 0x20]
MOV qword ptr [RBP + -0xa0],RCX
MOV RCX,qword ptr [RBP + 0x10]
MOV qword ptr [RBP + -0xd8],RSI
MOV ESI,EDX
MOV EAX,dword ptr [RBX + 0x14]
MOV dword ptr [RBP + -0xe4],EDX
XOR EDX,EDX
MOV qword ptr [RBP + -0x98],RDI
MOV EDI,dword ptr [RCX + 0x4]
DIV dword ptr [RBX + 0x24]
MOV EBX,dword ptr [RCX]
MOV qword ptr [RBP + -0x108],R8
MOV qword ptr [RBP + -0xf0],R9
MOV R14,qword ptr [RBP + 0x18]
MOV dword ptr [RBP + -0xa4],EBX
MOV dword ptr [RBP + -0x90],EDI
MOV EBX,EDI
MOVZX R15D,DIL
LEA RDX,[R9 + 0x1]
SHR EBX,0x8
MOV dword ptr [RBP + -0xe0],EBX
CMP ESI,0x4
JZ 0x002c1b58
CMP RAX,RDX
JA 0x002c1500
MOV dword ptr [RBP + -0xb8],0x0
MOV dword ptr [RBP + -0xb4],0xffffffff
MOV dword ptr [RBP + -0xc4],0x0
MOV RAX,qword ptr [RBP + -0xd8]
MOV dword ptr [RBP + -0x68],0x80000000
MOV dword ptr [RBP + -0x60],0x0
MOV RAX,qword ptr [RAX + 0x10]
MOV qword ptr [RBP + -0x88],RAX
MOV RAX,-0x100000000
MOV qword ptr [RBP + -0x70],RAX
TEST R14,R14
JZ 0x002c2a40
MOVZX EAX,byte ptr [R14 + 0x39]
SHR AL,0x2
MOV EDX,EAX
AND EDX,0x3c
CMP DL,0x3c
SETZ R12B
AND EAX,0x30
CMP AL,0x20
MOV EAX,R12D
SETZ BL
OR AL,BL
MOV byte ptr [RBP + -0xc5],AL
JNZ 0x002c1570
LEA RAX,[RBP + -0x70]
MOV byte ptr [RBP + -0xc5],0x0
MOV qword ptr [RBP + -0xc0],RAX
LEA EAX,[R15 + -0x1]
XOR ESI,ESI
CMP EAX,0xf8
JA 0x002c11c8
LEA RDX,[0x55e3e0]
MOVSX ESI,byte ptr [RDX + RAX*0x1]
MOV RDI,R14
CALL 0x00228fa0
MOVZX EDX,byte ptr [R14 + 0x65]
TEST AL,AL
JNZ 0x002c1528
TEST DL,DL
JZ 0x002c1217
MOV RAX,qword ptr [RBP + -0xa0]
MOV RDX,qword ptr [RAX + 0xb8]
TEST RDX,RDX
JZ 0x002c464e
TEST byte ptr [RDX + 0x20],0x1
JZ 0x002c458e
MOV EAX,dword ptr [R14 + 0x54]
ADD EAX,dword ptr [RDX + 0x8]
MOV dword ptr [RBP + -0x60],EAX
MOV RAX,qword ptr [RBP + -0xc0]
MOV qword ptr [RBP + 0x20],RAX
MOV RAX,qword ptr [R14]
MOV ECX,0x9
LEA RDI,[0x55842d]
MOV RSI,RAX
CMPSB.REPE RDI,RSI
MOV RSI,RAX
MOV ECX,0xf
LEA RDI,[0x55841e]
SETA DL
SBB DL,0x0
CMPSB.REPE RDI,RSI
SETA AL
SBB AL,0x0
MOVSX EAX,AL
TEST DL,DL
JNZ 0x002c15d0
MOV RDI,qword ptr [RBP + -0x88]
MOVZX EDI,byte ptr [RDI + 0x36c]
MOV EDX,EDI
MOV byte ptr [RBP + -0xb0],DIL
SHR DL,0x1
AND EDX,0x1
XOR EDX,0x1
TEST EAX,EAX
JZ 0x002c1740
TEST DL,DL
JZ 0x002c15d8
LEA EAX,[R15 + -0x68]
CMP EAX,0x1
JBE 0x002c12d2
LEA EAX,[R15 + -0x5]
CMP EAX,0x1
JBE 0x002c12d2
LEA EAX,[R15 + -0x86]
CMP EAX,0x1
JBE 0x002c12d2
LEA EAX,[R15 + -0x40]
CMP EAX,0x1
JBE 0x002c12d2
LEA RDI,[0x558b78]
CALL 0x00177320
MOV EDX,dword ptr [RBP + -0xa4]
MOV RSI,qword ptr [RBP + -0xf0]
MOV RDI,qword ptr [RBP + -0xd8]
MOV RCX,RAX
XOR EAX,EAX
CALL 0x0034ad90
MOV byte ptr [RBP + -0xfc],0x1
CMP R15D,0x64
JNZ 0x002c15e9
MOV RDI,qword ptr [R14 + 0x78]
TEST RDI,RDI
JZ 0x002c1d70
CMP dword ptr [R14 + 0x24],-0x1
JNZ 0x002c2d20
TEST R12B,R12B
JZ 0x002c2d20
MOV EDX,dword ptr [R14 + 0x4c]
CMP EDX,-0x1
JNZ 0x002c17c6
MOV EAX,0x1
NOP word ptr CS:[RAX + RAX*0x1]
CMP dword ptr [R14 + 0x24],-0x1
JZ 0x002c13a0
MOV ECX,dword ptr [R14 + 0x6c]
CMP ECX,-0x1
JZ 0x002c13a0
CMP dword ptr [R14 + 0x68],-0x1
JZ 0x002c13a0
MOV RBX,qword ptr [RBP + -0xa0]
MOV RDX,qword ptr [RBX + 0x30]
TEST RDX,RDX
JZ 0x002c46e7
TEST byte ptr [RDX + 0x20],0x1
JZ 0x002c46e2
MOV RBX,qword ptr [RBP + -0xa0]
MOV ESI,dword ptr [RDX + 0x68]
ADD ESI,dword ptr [RDX + 0x60]
LEA ECX,[RCX + RSI*0x1 + 0x1]
ADD ECX,dword ptr [RDX + 0x8]
CMP byte ptr [RBX + 0x14],0x0
MOV dword ptr [RBP + -0x60],ECX
JZ 0x002c46dd
MOV RBX,qword ptr [RBP + -0xa0]
MOV RSI,qword ptr [RBP + -0xc0]
MOV EBX,dword ptr [RBX + 0x10]
MOV qword ptr [RBP + 0x20],RSI
MOV EDX,EBX
MOV dword ptr [RBP + -0xb0],EBX
AND EDX,0x2000000
SETNZ BL
SETZ R12B
MOV R13D,EBX
AND R13B,AL
JNZ 0x002c1840
MOV ECX,dword ptr [RBP + -0x90]
AND ECX,0xf7
CMP ECX,0x85
JZ 0x002c1870
LEA EDX,[R15 + -0x8b]
MOV R13D,EAX
CMP EDX,0x1
JBE 0x002c1870
TEST R14,R14
JNZ 0x002c16b8
MOV EAX,R12D
XOR EAX,0x1
AND AL,R13B
MOV byte ptr [RBP + -0xc6],AL
JZ 0x002c1bb0
MOVZX EAX,byte ptr [RBP + -0xc6]
MOV byte ptr [RBP + -0xc7],AL
CMP dword ptr [RBP + -0xe4],0x9
LEA EAX,[R15 + -0x64]
MOV dword ptr [RBP + -0x7c],R15D
LEA EDX,[R15 + -0x85]
SETZ byte ptr [RBP + -0xb0]
MOV qword ptr [RBP + -0x78],0x0
MOV dword ptr [RBP + -0xe8],EAX
CMP EAX,0xc
JA 0x002c1b2f
MOV RAX,qword ptr [RBP + 0x28]
MOV RBX,qword ptr [RBP + 0x28]
MOVZX EAX,word ptr [RAX]
MOVZX ECX,word ptr [RBX + 0x2]
CMP EDX,0x28
JBE 0x002c1c28
CMP R15D,0x64
JNZ 0x002c1c3c
MOV dword ptr [RBP + -0xe8],0x0
SHL EAX,0x10
OR EAX,ECX
MOV RBX,qword ptr [RBP + 0x28]
MOV dword ptr [RBX],EAX
LEA R13,[RBP + -0x7c]
MOV dword ptr [RBP + -0x90],R15D
XOR R12D,R12D
MOV dword ptr [RBP + -0xdc],0x0
LEA RAX,[R13 + 0xc]
MOV qword ptr [RBP + -0xd0],RAX
MOV ESI,dword ptr [RBP + -0x90]
TEST ESI,ESI
JZ 0x002c18d0
MOV R8D,dword ptr [RBP + -0xb8]
MOV EBX,dword ptr [RBP + -0xa4]
CMP dword ptr [RBP + -0xb4],EBX
SETZ BL
TEST R8D,R8D
SETNZ AL
AND EBX,EAX
MOV RAX,qword ptr [RBP + -0x98]
CMP byte ptr [RAX + 0x4],0x0
JZ 0x002c18a0
MOV ECX,dword ptr [RAX]
MOV byte ptr [RAX + 0x4],BL
MOV dword ptr [RBP + -0xc4],ECX
MOV dword ptr [RBP + -0xa8],ECX
CMP ESI,0xf9
JA 0x002c2998
LEA RCX,[0x55d438]
MOV EDX,ESI
MOVSXD RAX,dword ptr [RCX + RDX*0x4]
ADD RAX,RCX
JMP RAX
MOV dword ptr [RBP + -0xc4],0x0
MOV EAX,dword ptr [RCX + 0x8]
MOV dword ptr [RBP + -0xb4],EAX
MOVZX EAX,byte ptr [RCX + 0xc]
MOV dword ptr [RBP + -0xb8],EAX
JMP 0x002c113a
TEST DL,DL
JNZ 0x002c11e1
MOV RCX,qword ptr [RBP + -0xa0]
MOV EAX,dword ptr [R14 + 0x68]
MOV RDX,qword ptr [RCX + 0x30]
CMP EAX,-0x1
JZ 0x002c2c60
TEST RDX,RDX
JZ 0x002c4644
TEST byte ptr [RDX + 0x20],0x1
JZ 0x002c4649
ADD EAX,dword ptr [RDX + 0x8]
XOR EBX,EBX
ADD EAX,dword ptr [RDX + 0x68]
XOR R12D,R12D
JMP 0x002c1209
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
LEA RAX,[RBP + -0x70]
XOR EDX,EDX
MOV qword ptr [RBP + -0xc0],RAX
CALL 0x001a5ac0
TEST EAX,EAX
JZ 0x002c119e
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
LEA RAX,[RBP + -0x70]
XOR EDX,EDX
MOV qword ptr [RBP + -0xc0],RAX
CALL 0x001a5ac0
OR EAX,0x1
MOV dword ptr [RBP + -0x60],EAX
LEA RAX,[RBP + -0x70]
MOV qword ptr [RBP + -0xc0],RAX
MOV qword ptr [RBP + 0x20],RAX
JMP 0x002c11b0
TEST EAX,EAX
JZ 0x002c1750
MOV byte ptr [RBP + -0xfc],0x0
CMP R15D,0x64
JZ 0x002c12e3
CMP qword ptr [R14 + 0x70],0x0
JZ 0x002c17b9
CMP R15D,0x67
JZ 0x002c2c38
MOV RAX,qword ptr [RBP + -0xd8]
MOV RDI,qword ptr [RBP + -0x88]
MOV R13D,dword ptr [RAX + 0x30]
MOV ESI,R13D
CALL 0x002972f0
TEST AL,AL
JNZ 0x002c17b0
MOV RAX,qword ptr [RBP + -0x88]
CMP R13D,dword ptr [RAX + 0x3f0]
JZ 0x002c17b0
TEST R14,R14
JZ 0x002c3d36
CMP byte ptr [R14 + 0x48],0x0
JZ 0x002c4775
MOV EAX,dword ptr [R14 + 0x4c]
CMP EAX,-0x1
JZ 0x002c430a
MOV RSI,qword ptr [RBP + -0xa0]
MOV RDX,qword ptr [RSI + 0x98]
TEST RDX,RDX
JZ 0x002c46d3
MOVZX ECX,byte ptr [RDX + 0x20]
AND ECX,0x1
MOV byte ptr [RBP + -0xc5],CL
JZ 0x002c4670
MOV EDI,dword ptr [RBP + -0x90]
ADD EAX,dword ptr [RDX + 0x8]
CMP R15D,0x64
MOV dword ptr [RBP + -0x60],EAX
SETZ AL
XOR R12D,R12D
AND EDI,0xf7
CMP EDI,0x85
JNZ 0x002c39ba
MOV R13D,EAX
MOV RAX,qword ptr [RBP + -0xc0]
MOV qword ptr [RBP + 0x20],RAX
NOP dword ptr [RAX]
MOV RDI,R14
CALL 0x002e7200
TEST AL,AL
JNZ 0x002c1ba0
MOV EAX,R12D
XOR EAX,0x1
AND AL,R13B
MOV byte ptr [RBP + -0xc7],AL
JZ 0x002c1cc0
MOV R9D,dword ptr [R14 + 0x20]
XOR ESI,ESI
TEST R9D,R9D
SETNZ SIL
CMP byte ptr [R14 + 0x64],0x0
JZ 0x002c1a80
MOV EDX,0x1
MOV RDI,R14
CALL 0x0028d190
MOV byte ptr [RBP + -0xc6],AL
TEST AL,AL
JNZ 0x002c1402
CMP R15D,0x92
SETZ AL
CMP R15D,0x14
SETZ R13B
OR AL,R13B
MOV byte ptr [RBP + -0xc6],AL
JNZ 0x002c1ab9
JMP 0x002c1402
TEST DL,DL
JNZ 0x002c1281
NOP dword ptr [RAX + RAX*0x1]
MOV RCX,qword ptr [RBP + -0xa0]
MOV RAX,qword ptr [RCX + 0x28]
TEST RAX,RAX
JZ 0x002c3cc8
MOV RDX,qword ptr [RCX + 0x20]
MOV EAX,dword ptr [RAX + 0x40]
TEST RDX,RDX
JZ 0x002c1793
CMP qword ptr [RDX + 0xd0],0x0
JZ 0x002c1793
MOV RDI,qword ptr [RBP + -0x88]
MOV RDX,qword ptr [RDI + 0x370]
TEST RDX,RDX
JZ 0x002c1793
ADD EAX,dword ptr [RDX + 0x10c]
MOV dword ptr [RBP + -0x60],EAX
MOV RAX,qword ptr [RBP + -0xc0]
MOV qword ptr [RBP + 0x20],RAX
JMP 0x002c15d8
TEST R14,R14
JZ 0x002c1c17
MOV EDX,dword ptr [R14 + 0x4c]
CMP EDX,-0x1
JZ 0x002c1848
MOV RAX,qword ptr [RBP + -0x88]
TEST byte ptr [RAX + 0x36c],0x1
JNZ 0x002c1848
MOVZX ESI,R12B
MOV EDI,R15D
CALL 0x00290610
TEST AL,AL
JZ 0x002c1848
MOV RAX,qword ptr [RBP + -0xa0]
MOV RAX,qword ptr [RAX + 0x98]
TEST RAX,RAX
JZ 0x002c46a5
TEST byte ptr [RAX + 0x20],0x1
JZ 0x002c46a0
ADD EDX,dword ptr [RAX + 0x8]
MOVZX EAX,byte ptr [R14 + 0x39]
MOV R13D,EBX
MOV RCX,qword ptr [RBP + -0xc0]
SHR AL,0x2
AND EAX,0x30
MOV qword ptr [RBP + 0x20],RCX
CMP AL,0x20
SETZ AL
MOVZX EAX,AL
ADD EDX,EAX
CMP R15D,0x64
SETZ AL
MOV dword ptr [RBP + -0x60],EDX
AND R13B,AL
JZ 0x002c13ac
MOV EBX,R13D
JMP 0x002c187c
CMP R15D,0x64
SETZ AL
CMP R15D,0x85
SETZ DL
OR DL,AL
JNZ 0x002c1320
XOR EAX,EAX
JMP 0x002c13ac
MOV R13D,EAX
TEST R12B,R12B
JZ 0x002c13d7
LEA RDI,[0x558980]
CALL 0x00177320
MOV RDI,RAX
XOR EAX,EAX
CALL 0x0034a750
JMP 0x002c13d7
MOV RAX,qword ptr [RBP + -0x98]
MOV byte ptr [RAX + 0x4],BL
MOV EAX,dword ptr [RBP + -0x90]
CMP EAX,0xf9
JA 0x002c299f
LEA RDI,[0x55d820]
MOVSXD RAX,dword ptr [RDI + RAX*0x4]
ADD RAX,RDI
JMP RAX
CMP dword ptr [RBP + -0xe8],0xc
LEA EDX,[R15 + -0x85]
JBE 0x002c1978
CMP EDX,0x28
JA 0x002c18fd
MOV RAX,0x1b3e1fff3ff
BT RAX,RDX
JC 0x002c1ce8
CMP R12D,0x1
JZ 0x002c19d4
TEST R12D,R12D
JZ 0x002c193c
CMP R12D,0x2
JNZ 0x002c1960
LEA RDI,[0x558b20]
CALL 0x00177320
MOV EDX,dword ptr [RBP + -0xa4]
MOV RSI,qword ptr [RBP + -0xf0]
MOV RDI,qword ptr [RBP + -0xd8]
MOV RCX,RAX
XOR EAX,EAX
CALL 0x0034ad90
MOV RDI,qword ptr [RBP + -0xc0]
CALL 0x001a5bc0
LEA RSP,[RBP + -0x28]
MOV EAX,0x1
POP RBX
POP R12
POP R13
POP R14
POP R15
POP RBP
RET
CMP R12D,0x3
JNZ 0x002c4576
LEA RDI,[0x558b50]
JMP 0x002c1919
MOV RAX,qword ptr [RBP + 0x28]
MOV EAX,dword ptr [RAX]
MOV EDI,EAX
MOV ESI,EAX
SHR EDI,0x10
MOV ECX,EDI
CMP EDX,0x28
JBE 0x002c1c78
CMP R15D,0x64
SETZ R8B
CMP R15D,0x85
SETZ DL
OR EDX,R8D
CMP R15D,0x4
SETZ R9B
OR DL,R9B
JNZ 0x002c2dd0
TEST R8B,R8B
JZ 0x002c2dd0
MOV RAX,qword ptr [RBP + 0x28]
MOV word ptr [RAX + 0x2],SI
MOV word ptr [RAX],CX
CMP R12D,0x1
JNZ 0x002c1907
TEST R14,R14
JZ 0x002c3ce0
MOVZX EAX,byte ptr [R14 + 0x3a]
AND EAX,0x7
JNZ 0x002c1dc0
MOV EDI,dword ptr [R14 + 0x18]
TEST byte ptr [R14 + 0x3b],0x20
JZ 0x002c3cd0
TEST EDI,EDI
SETNZ AL
TEST AL,AL
JZ 0x002c2ba0
TEST byte ptr [R14 + 0x3a],0x7
JNZ 0x002c2ba0
MOV RAX,qword ptr [R14 + 0x10]
LEA RBX,[RBP + -0x50]
MOV RSI,R14
MOV RDI,RBX
MOV R13,qword ptr [RAX + 0x8]
CALL 0x004443d0
LEA RDI,[0x558ac0]
MOV R12,qword ptr [RBP + -0x50]
CALL 0x00177320
SUB RSP,0x8
MOV R8D,R15D
MOV EDX,dword ptr [RBP + -0xa4]
PUSH R13
MOV RSI,qword ptr [RBP + -0xf0]
MOV RCX,RAX
MOV R9,R12
MOV RDI,qword ptr [RBP + -0xd8]
XOR EAX,EAX
CALL 0x0034ad90
MOV RDI,qword ptr [RBP + -0x50]
ADD RBX,0x10
POP RAX
POP RDX
CMP RDI,RBX
JZ 0x002c193c
CALL 0x0049e340
JMP 0x002c193c
XOR EDX,EDX
MOV RDI,R14
CALL 0x0028d190
MOV byte ptr [RBP + -0xc6],AL
TEST AL,AL
JNZ 0x002c1402
CMP R15D,0x14
SETZ AL
CMP R15D,0x92
SETZ R13B
OR AL,R13B
MOV byte ptr [RBP + -0xc6],AL
JZ 0x002c1402
LEA ECX,[R15 + -0x85]
CMP ECX,0x28
JA 0x002c2c00
MOV RDX,0x1b3e1fff3ff
MOV EAX,0x1
SHL RAX,CL
AND RAX,RDX
CMP RAX,0x1
SBB EDX,EDX
AND EDX,0xffffff82
ADD EDX,0xc
CMP RAX,0x1
SBB EBX,EBX
AND EBX,0xffffff82
ADD EBX,0x2d
CMP RAX,0x1
SBB R15D,R15D
MOV dword ptr [RBP + -0xe8],EBX
AND R15D,0xffffff82
ADD R15D,0x91
MOV dword ptr [RBP + -0x7c],R15D
CMP dword ptr [RBP + -0xe4],0x9
MOV qword ptr [RBP + -0x78],0x0
MOV byte ptr [RBP + -0xc6],0x0
SETZ byte ptr [RBP + -0xb0]
CMP EDX,0x28
JA 0x002c146d
MOV RAX,0x1b3e1fff3ff
BT RAX,RDX
JNC 0x002c146d
JMP 0x002c1d4a
MOV dword ptr [RBP + -0xb8],0x0
MOV EBX,dword ptr [RCX + 0x8]
MOV dword ptr [RBP + -0xb4],0xffffffff
MOV dword ptr [RBP + -0xc4],EBX
CMP RAX,RDX
JBE 0x002c113a
MOV EAX,dword ptr [RCX + 0xc]
MOV dword ptr [RBP + -0xb4],EAX
MOVZX EAX,byte ptr [RCX + 0x10]
MOV dword ptr [RBP + -0xb8],EAX
JMP 0x002c113a
MOV byte ptr [RBP + -0xc7],0x0
JMP 0x002c16dd
MOV EAX,EBX
XOR EAX,0x1
CMP R15D,0x85
SETZ R13B
AND AL,R13B
MOV byte ptr [RBP + -0xc6],AL
JNZ 0x002c1d10
CMP R15D,0x4
SETZ AL
CMP R15D,0x25
SETZ R13B
OR EBX,R12D
OR AL,R13B
CMOVNZ EAX,EBX
MOV byte ptr [RBP + -0xc7],AL
TEST R14,R14
JNZ 0x002c16dd
MOV byte ptr [RBP + -0xc6],0x1
JMP 0x002c1402
MOV R12D,0x1
NOP dword ptr [RAX + RAX*0x1]
MOV byte ptr [RBP + -0xfc],0x0
CMP R15D,0x64
SETZ AL
JMP 0x002c13a0
MOV RSI,0x1b3e1fff3ff
BT RSI,RDX
JC 0x002c1462
MOVZX ESI,AX
MOV EDI,ECX
AND AX,0x7e0
AND ECX,0x1f
MOV EDX,ESI
SHL EDI,0xb
OR EAX,ECX
SHL EDX,0x10
AND EDI,0x7ff0000
SHL ESI,0xb
MOVZX EAX,AX
AND EDX,0xf8000000
MOVZX ESI,SI
OR EDX,EDI
OR EDX,ESI
OR EAX,EDX
JMP 0x002c1467
MOV R8,0x1b3e1fff3ff
BT R8,RDX
JC 0x002c19bf
MOV EDX,EAX
MOV ESI,EAX
AND DI,0xf800
AND AX,0x7e0
SHR EDX,0xb
OR EAX,EDI
AND ESI,0x1f
MOV R8D,EDX
AND EDX,0x1f
AND R8D,0xffffffe0
OR EAX,EDX
MOV ECX,EAX
OR ESI,R8D
JMP 0x002c19bf
MOV EAX,EBX
XOR EAX,0x1
CMP R15D,0x85
SETZ R13B
AND AL,R13B
MOV byte ptr [RBP + -0xc7],AL
JNZ 0x002c16dd
JMP 0x002c1bcf
LEA EAX,[R15 + -0x8b]
CMP EAX,0x1
JBE 0x002c18fd
MOV RAX,qword ptr [RBP + 0x28]
MOV EAX,dword ptr [RAX]
MOV ESI,EAX
SHR EAX,0x10
MOV ECX,EAX
JMP 0x002c19bf
MOVZX EAX,byte ptr [RBP + -0xc6]
MOV R15D,0x85
MOV qword ptr [RBP + -0x7c],0x85
MOV dword ptr [RBP + -0x74],0x0
CMP dword ptr [RBP + -0xe4],0x9
MOV byte ptr [RBP + -0xc7],AL
MOV dword ptr [RBP + -0xe8],0x21
SETZ byte ptr [RBP + -0xb0]
LEA EAX,[R15 + -0x8b]
CMP EAX,0x1
JBE 0x002c146d
MOV RAX,qword ptr [RBP + 0x28]
MOV RBX,qword ptr [RBP + 0x28]
MOVZX EAX,word ptr [RAX]
MOVZX ECX,word ptr [RBX + 0x2]
JMP 0x002c1462
CMP qword ptr [R14 + 0x80],0x0
JZ 0x002c1304
CMP dword ptr [R14 + 0x24],-0x1
JZ 0x002c4692
MOV RDI,qword ptr [R14 + 0x80]
LEA RSI,[RDI + 0x8]
CALL 0x00298370
MOV RSI,qword ptr [RBP + -0xc0]
MOV dword ptr [RBP + -0x60],EAX
MOV EAX,0x1
MOV byte ptr [RBP + -0xc5],0x1
MOV qword ptr [RBP + 0x20],RSI
JMP 0x002c13a0
CMP AL,0x4
SETNZ AL
JMP 0x002c19ff
MOV byte ptr [RBP + -0xb0],0x0
CMP dword ptr [RBP + -0xe4],0x4
JZ 0x002c4413
CMP dword ptr [RBP + -0xe4],0x9
JNZ 0x002c4653
MOV EDI,0x40
CALL 0x0049cb70
MOV RBX,qword ptr [RBP + 0x28]
MOV byte ptr [RAX + 0x3c],0x0
MOV RDI,RAX
XOR R12D,R12D
MOV dword ptr [RAX + 0x2c],0x0
LEA RSI,[0x67daa0]
MOV qword ptr [RAX + 0x10],RBX
MOV RBX,qword ptr [RBP + -0x88]
MOV qword ptr [RAX + 0x18],RBX
MOV RBX,qword ptr [RBP + 0x20]
MOV qword ptr [RAX + 0x20],RBX
MOV EBX,dword ptr [RBP + -0xc4]
MOV dword ptr [RAX + 0x28],EBX
MOV EBX,dword ptr [RBP + -0xe0]
MOV dword ptr [RAX + 0x30],EBX
MOVZX EBX,byte ptr [RBP + -0xb0]
MOV byte ptr [RAX + 0x34],BL
MOV EBX,dword ptr [RBP + 0x30]
MOV dword ptr [RAX + 0x38],EBX
CALL 0x004a11e0
ADD qword ptr [0x0067dab0],0x1
NOP word ptr [RAX + RAX*0x1]
ADD R13,0x4
CMP qword ptr [RBP + -0xd0],R13
JZ 0x002c18d0
MOV EAX,dword ptr [R13]
MOV dword ptr [RBP + -0x90],EAX
JMP 0x002c1490
MOV byte ptr [RBP + -0xb0],0x0
MOV RAX,qword ptr [RBP + 0x28]
CMP byte ptr [RBP + -0xb0],0x0
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
MOV EAX,dword ptr [RAX]
MOV R12D,EAX
MOVZX EAX,AX
CMOVZ EAX,dword ptr [RBP + -0xc4]
MOV EDX,EAX
CALL 0x001a5ac0
SUB EAX,0x7000
TEST BL,BL
JNZ 0x002c1f30
MOV EBX,R12D
XOR EAX,EBX
XOR R12D,R12D
MOVZX EAX,AX
XOR EAX,EBX
MOV RBX,qword ptr [RBP + 0x28]
MOV dword ptr [RBX],EAX
JMP 0x002c1e60
MOV byte ptr [RBP + -0xb0],0x0
MOV RAX,qword ptr [RBP + 0x28]
CMP byte ptr [RBP + -0xb0],0x0
MOV ECX,dword ptr [RAX]
MOV R12D,ECX
JZ 0x002c1eff
MOVZX ESI,CX
AND CH,0x80
LEA EAX,[RSI + -0x10000]
CMOVZ EAX,ESI
MOV dword ptr [RBP + -0xa8],EAX
MOV EDX,dword ptr [RBP + -0xa8]
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
CALL 0x001a5ac0
MOV EAX,EAX
MOV ECX,0x80008000
ADD RAX,RCX
SHR RAX,0x20
TEST BL,BL
JZ 0x002c1f80
NOP word ptr [RAX + RAX*0x1]
MOV RBX,qword ptr [RBP + -0x98]
XOR R12D,R12D
MOV dword ptr [RBX],EAX
JMP 0x002c1e60
MOV byte ptr [RBP + -0xb0],0x0
MOV RAX,qword ptr [RBP + 0x28]
CMP byte ptr [RBP + -0xb0],0x0
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
MOV EAX,dword ptr [RAX]
MOV R12D,EAX
MOVZX EAX,AX
CMOVZ EAX,dword ptr [RBP + -0xc4]
MOV EDX,EAX
CALL 0x001a5ac0
ADD EAX,0x1000
SHR EAX,0x10
TEST BL,BL
JNZ 0x002c1f30
MOV EBX,R12D
XOR R12D,R12D
XOR BX,BX
OR EAX,EBX
MOV RBX,qword ptr [RBP + 0x28]
MOV dword ptr [RBX],EAX
JMP 0x002c1e60
MOV byte ptr [RBP + -0xb0],0x0
MOV RAX,qword ptr [RBP + 0x28]
CMP byte ptr [RBP + -0xb0],0x0
MOV EDX,dword ptr [RBP + -0xc4]
MOV RSI,qword ptr [RBP + -0x88]
CMOVNZ EDX,dword ptr [RAX]
MOV RDI,qword ptr [RBP + 0x20]
CALL 0x001a5ac0
SUB EAX,0x7000
TEST BL,BL
JNZ 0x002c1f30
NOP
MOV RBX,qword ptr [RBP + 0x28]
MOV dword ptr [RBX],EAX
XOR R12D,R12D
JMP 0x002c1e60
MOV byte ptr [RBP + -0xb0],0x0
MOV RAX,qword ptr [RBP + -0xa0]
MOV RDI,qword ptr [RAX + 0x20]
TEST R14,R14
JZ 0x002c3a63
TEST RDI,RDI
JZ 0x002c47a6
MOV RCX,qword ptr [RBP + -0x88]
MOV EDX,0x1
MOV RSI,R14
CALL 0x0029b9e0
MOV dword ptr [RBP + -0xdc],EAX
MOV RAX,qword ptr [RBP + -0xa0]
MOV RDI,qword ptr [RAX + 0x20]
TEST RDI,RDI
JZ 0x002c47a1
MOV RDX,qword ptr [RBP + -0x88]
MOV ESI,dword ptr [RBP + -0xdc]
CALL 0x002924d0
JMP 0x002c211b
MOV byte ptr [RBP + -0xb0],0x0
MOV RAX,qword ptr [RBP + 0x28]
CMP byte ptr [RBP + -0xb0],0x0
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
MOV EAX,dword ptr [RAX]
MOV R12D,EAX
MOVZX EAX,AX
CMOVZ EAX,dword ptr [RBP + -0xc4]
MOV EDX,EAX
CALL 0x001a5ac0
SUB EAX,0x8000
TEST BL,BL
JZ 0x002c1ebc
JMP 0x002c1f30
MOV byte ptr [RBP + -0xb0],0x0
MOV RAX,qword ptr [RBP + 0x28]
CMP byte ptr [RBP + -0xb0],0x0
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
MOV EAX,dword ptr [RAX]
MOV R12D,EAX
MOVZX EAX,AX
CMOVZ EAX,dword ptr [RBP + -0xc4]
MOV EDX,EAX
CALL 0x001a5ac0
JMP 0x002c1f79
MOV byte ptr [RBP + -0xb0],0x0
MOV RAX,qword ptr [RBP + -0xa0]
MOV RDI,qword ptr [RAX + 0x20]
TEST RDI,RDI
JZ 0x002c463a
CMP qword ptr [RDI + 0xd0],0x0
JZ 0x002c3b5a
MOV RAX,qword ptr [RBP + -0x88]
MOV RAX,qword ptr [RAX + 0x370]
TEST RAX,RAX
JZ 0x002c46bb
MOV EAX,dword ptr [RAX + 0x14]
MOV RDX,qword ptr [RBP + -0x88]
MOV ESI,EAX
MOV dword ptr [RBP + -0xdc],EAX
CALL 0x002924d0
MOV RBX,qword ptr [RBP + -0x98]
CMP byte ptr [RBX + 0x4],0x0
JNZ 0x002c1fd4
MOV RBX,qword ptr [RBP + 0x28]
MOV ESI,dword ptr [RBX]
MOV ECX,ESI
XOR ECX,EAX
MOVZX EDX,CX
XOR EDX,ESI
JMP 0x002c2590
MOV byte ptr [RBP + -0xb0],0x0
MOV RAX,qword ptr [RBP + -0xa0]
MOV RDI,qword ptr [RAX + 0x20]
TEST R14,R14
JZ 0x002c3bc0
TEST RDI,RDI
JZ 0x002c4757
MOV RCX,qword ptr [RBP + -0x88]
MOV EDX,0x2
MOV RSI,R14
CALL 0x0029b9e0
MOV dword ptr [RBP + -0xdc],EAX
MOV RAX,qword ptr [RBP + -0xa0]
MOV RDI,qword ptr [RAX + 0x20]
TEST RDI,RDI
JNZ 0x002c2030
CALL 0x00290940
NOP word ptr [RAX + RAX*0x1]
MOV byte ptr [RBP + -0xb0],0x0
MOV RAX,qword ptr [RBP + 0x28]
CMP byte ptr [RBP + -0xb0],0x0
MOV EDX,dword ptr [RBP + -0xc4]
MOV RSI,qword ptr [RBP + -0x88]
CMOVNZ EDX,dword ptr [RAX]
MOV RDI,qword ptr [RBP + 0x20]
CALL 0x001a5ac0
SUB EAX,0x8000
TEST BL,BL
JZ 0x002c1fd0
JMP 0x002c1f30
MOV byte ptr [RBP + -0xb0],0x0
TEST R14,R14
JZ 0x002c2215
MOV EDI,dword ptr [R14 + 0x20]
XOR ESI,ESI
MOV EDX,0x1
TEST EDI,EDI
MOV RDI,R14
SETNZ SIL
CALL 0x0028d190
TEST AL,AL
JZ 0x002c1e60
MOV RAX,qword ptr [RBP + -0x98]
MOVZX EBX,byte ptr [RAX + 0x4]
CMP byte ptr [RBP + -0xb0],0x0
MOV EAX,0x0
CMOVZ EAX,dword ptr [RBP + -0xc4]
CMP dword ptr [RBP + -0x90],0x25
MOV EDX,EAX
MOV RAX,qword ptr [RBP + 0x28]
MOV R12D,dword ptr [RAX]
JNZ 0x002c22a0
CMP byte ptr [RBP + -0xc7],0x1
JZ 0x002c22a0
CMP R12D,0x3200008
JZ 0x002c2255
CMP R12D,0x320f809
JNZ 0x002c22a0
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
CALL 0x001a5ac0
SUB EAX,dword ptr [RBP + 0x30]
LEA EDX,[RAX + 0x1fffc]
CMP EDX,0x3ffff
JA 0x002c22a0
SUB EAX,0x4
SHR EAX,0x2
MOVZX EAX,AX
MOV EDX,EAX
OR EAX,0x4110000
OR EDX,0x10000000
CMP R12D,0x3200008
CMOVNZ EDX,EAX
MOV R12D,EDX
NOP dword ptr [RAX]
TEST BL,BL
JZ 0x002c4149
MOV RAX,qword ptr [RBP + -0x98]
MOV dword ptr [RAX],R12D
XOR R12D,R12D
JMP 0x002c1e60
MOV byte ptr [RBP + -0xb0],0x0
MOV RAX,qword ptr [RBP + -0xa0]
MOV RDI,qword ptr [RAX + 0x20]
TEST R14,R14
JZ 0x002c3b93
TEST RDI,RDI
JZ 0x002c476b
MOV RCX,qword ptr [RBP + -0x88]
XOR EDX,EDX
MOV RSI,R14
CALL 0x0029b9e0
MOV dword ptr [RBP + -0xdc],EAX
MOV RAX,qword ptr [RBP + -0xa0]
MOV RDI,qword ptr [RAX + 0x20]
TEST RDI,RDI
JZ 0x002c4766
MOV RDX,qword ptr [RBP + -0x88]
MOV ESI,dword ptr [RBP + -0xdc]
CALL 0x002924d0
MOV RBX,qword ptr [RBP + -0x98]
CMP byte ptr [RBX + 0x4],0x0
JNZ 0x002c2940
MOV RBX,qword ptr [RBP + 0x28]
XOR R12D,R12D
MOV EDX,dword ptr [RBX]
XOR EAX,EDX
MOVZX EAX,AX
XOR EAX,EDX
MOV dword ptr [RBX],EAX
JMP 0x002c2945
MOV byte ptr [RBP + -0xb0],0x0
MOV RAX,qword ptr [RBP + -0xa0]
MOV RDI,qword ptr [RAX + 0x20]
TEST R14,R14
JZ 0x002c3b66
TEST RDI,RDI
JZ 0x002c4730
MOV RCX,qword ptr [RBP + -0x88]
XOR EDX,EDX
MOV RSI,R14
CALL 0x0029b9e0
MOV dword ptr [RBP + -0xdc],EAX
MOV RAX,qword ptr [RBP + -0xa0]
MOV RDI,qword ptr [RAX + 0x20]
TEST RDI,RDI
JZ 0x002c472b
MOV RDX,qword ptr [RBP + -0x88]
MOV ESI,dword ptr [RBP + -0xdc]
CALL 0x002924d0
MOV RBX,qword ptr [RBP + -0x98]
ADD EAX,0x8000
SHR EAX,0x10
CMP byte ptr [RBX + 0x4],0x0
JNZ 0x002c2940
MOV RBX,qword ptr [RBP + 0x28]
XOR R12D,R12D
MOV word ptr [RBX],AX
JMP 0x002c2945
MOV byte ptr [RBP + -0xb0],0x0
MOV RAX,qword ptr [RBP + 0x28]
CMP byte ptr [RBP + -0xb0],0x0
MOV EAX,dword ptr [RAX]
MOV dword ptr [RBP + -0x90],EAX
MOVZX EAX,AX
CMOVZ EAX,dword ptr [RBP + -0xc4]
CMP byte ptr [RBP + -0xc6],0x0
MOV dword ptr [RBP + -0xa8],EAX
JNZ 0x002c39e1
TEST BL,BL
JNZ 0x002c39ca
MOV EBX,dword ptr [RBP + -0x90]
MOV EDI,dword ptr [RBP + -0xa8]
XOR R12D,R12D
MOV EAX,EBX
XOR EAX,EDI
MOVZX EAX,AX
XOR EAX,EBX
MOV RBX,qword ptr [RBP + 0x28]
MOV dword ptr [RBX],EAX
LEA EAX,[RDI + 0x8000]
CMP EAX,0xffff
SETA R12B
JMP 0x002c1e60
MOV byte ptr [RBP + -0xb0],0x0
MOV RAX,qword ptr [RBP + 0x28]
CMP byte ptr [RBP + -0xb0],0x0
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
MOV EAX,dword ptr [RAX]
MOV R12D,EAX
MOVZX EAX,AX
CMOVZ EAX,dword ptr [RBP + -0xc4]
MOV EDX,EAX
CALL 0x001a5ac0
LEA ESI,[RAX + 0x8000]
MOV RAX,qword ptr [RBP + -0xa0]
XOR SI,SI
MOV RDX,qword ptr [RAX + 0x20]
TEST RDX,RDX
JZ 0x002c4726
CMP qword ptr [RDX + 0xd0],0x0
JZ 0x002c3ac0
MOV RAX,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RAX + 0x370]
TEST RDI,RDI
JZ 0x002c4761
CALL 0x002c0d60
MOV RDI,qword ptr [RBP + -0xa0]
MOV RDI,qword ptr [RDI + 0x20]
TEST RDI,RDI
JZ 0x002c475c
MOV RDX,qword ptr [RBP + -0x88]
MOV ESI,EAX
CALL 0x002924d0
TEST BL,BL
JNZ 0x002c1f30
MOV EDX,R12D
MOV RBX,qword ptr [RBP + 0x28]
XOR EDX,EAX
MOVZX EDX,DX
XOR EDX,R12D
JMP 0x002c2590
MOV byte ptr [RBP + -0xb0],0x0
MOV RAX,qword ptr [RBP + -0xa0]
MOV RDI,qword ptr [RAX + 0x20]
TEST R14,R14
JZ 0x002c3a93
TEST RDI,RDI
JZ 0x002c4721
MOV RCX,qword ptr [RBP + -0x88]
XOR EDX,EDX
MOV RSI,R14
CALL 0x0029b9e0
MOV dword ptr [RBP + -0xdc],EAX
MOV RAX,qword ptr [RBP + -0xa0]
MOV RDI,qword ptr [RAX + 0x20]
TEST RDI,RDI
JZ 0x002c471c
MOV RDX,qword ptr [RBP + -0x88]
MOV ESI,dword ptr [RBP + -0xdc]
CALL 0x002924d0
MOV RBX,qword ptr [RBP + -0x98]
CMP dword ptr [RBP + -0x90],0xf9
MOVZX EDX,byte ptr [RBX + 0x4]
JZ 0x002c40ec
TEST DL,DL
JNZ 0x002c1f30
MOV RBX,qword ptr [RBP + 0x28]
MOV EDX,EAX
MOV ECX,dword ptr [RBX]
XOR EDX,ECX
MOVZX EDX,DX
XOR EDX,ECX
NOP dword ptr [RAX + RAX*0x1]
ADD EAX,0x8000
XOR R12D,R12D
MOV dword ptr [RBX],EDX
CMP EAX,0xffff
SETA R12B
JMP 0x002c1e60
MOV byte ptr [RBP + -0xb0],0x0
MOV RCX,qword ptr [RBP + -0xa0]
MOV RDX,qword ptr [RBP + -0x108]
MOV ESI,0x12
MOV RDI,R14
CALL 0x0029fae0
TEST AL,AL
JZ 0x002c1e60
MOV RAX,qword ptr [RBP + -0x98]
CMP byte ptr [RBP + -0xb0],0x0
MOV EDX,dword ptr [RBP + -0xc4]
MOVZX EBX,byte ptr [RAX + 0x4]
JZ 0x002c2f02
MOV RAX,qword ptr [RBP + 0x28]
MOV EDX,dword ptr [RAX]
JMP 0x002c2f02
MOV byte ptr [RBP + -0xb0],0x0
MOV RSI,qword ptr [RBP + -0xa0]
MOV RAX,qword ptr [RSI + 0x28]
TEST RAX,RAX
JZ 0x002c446a
MOV EDI,dword ptr [RAX + 0x40]
MOV RDX,qword ptr [RSI + 0x20]
MOV dword ptr [RBP + -0x90],EDI
TEST RDX,RDX
JZ 0x002c2653
CMP qword ptr [RDX + 0xd0],0x0
JZ 0x002c2653
MOV RAX,qword ptr [RBP + -0x88]
MOV RAX,qword ptr [RAX + 0x370]
TEST RAX,RAX
JZ 0x002c2653
MOV EAX,dword ptr [RAX + 0x10c]
ADD EDI,EAX
MOV dword ptr [RBP + -0x90],EDI
MOV RAX,qword ptr [RBP + 0x28]
MOV R12,qword ptr [RBP + -0x88]
CMP byte ptr [RBP + -0xb0],0x0
MOV EDX,dword ptr [RBP + -0xc4]
MOV RDI,qword ptr [RBP + 0x20]
CMOVNZ EDX,dword ptr [RAX]
MOV RSI,R12
CALL 0x001a5ac0
MOV ESI,dword ptr [R12 + 0x368]
MOV EDX,ESI
SUB EDX,dword ptr [RBP + -0x90]
MOV dword ptr [RBP + -0xa8],ESI
ADD EAX,EDX
TEST BL,BL
JZ 0x002c1fd0
JMP 0x002c1f30
MOV byte ptr [RBP + -0xb0],0x0
TEST R14,R14
JZ 0x002c467a
MOV RAX,qword ptr [RBP + -0xa0]
MOV RDI,qword ptr [RAX + 0x20]
TEST RDI,RDI
JZ 0x002c473a
MOV RCX,qword ptr [RBP + -0x88]
XOR EDX,EDX
MOV RSI,R14
CALL 0x0029b9e0
MOV dword ptr [RBP + -0xdc],EAX
MOV RAX,qword ptr [RBP + -0xa0]
MOV RDI,qword ptr [RAX + 0x20]
TEST RDI,RDI
JZ 0x002c4735
MOV RDX,qword ptr [RBP + -0x88]
MOV ESI,dword ptr [RBP + -0xdc]
CALL 0x002924d0
MOV RBX,qword ptr [RBP + -0x98]
CMP byte ptr [RBX + 0x4],0x0
JNZ 0x002c2940
MOV RBX,qword ptr [RBP + 0x28]
MOV ESI,dword ptr [RBX]
MOV ECX,ESI
XOR ECX,EAX
MOVZX EDX,CX
XOR EDX,ESI
JMP 0x002c27a6
MOV byte ptr [RBP + -0xb0],0x0
TEST R14,R14
JZ 0x002c3acc
MOV RAX,qword ptr [RBP + -0xa0]
MOV RDI,qword ptr [RAX + 0x20]
TEST RDI,RDI
JZ 0x002c479c
MOV RCX,qword ptr [RBP + -0x88]
XOR EDX,EDX
MOV RSI,R14
CALL 0x0029b9e0
MOV dword ptr [RBP + -0xdc],EAX
MOV RAX,qword ptr [RBP + -0xa0]
MOV RDI,qword ptr [RAX + 0x20]
TEST RDI,RDI
JZ 0x002c4797
MOV RDX,qword ptr [RBP + -0x88]
MOV ESI,dword ptr [RBP + -0xdc]
CALL 0x002924d0
MOV RBX,qword ptr [RBP + -0x98]
CMP byte ptr [RBX + 0x4],0x0
JNZ 0x002c2940
MOV RBX,qword ptr [RBP + 0x28]
MOV ECX,dword ptr [RBX]
MOV EDX,ECX
XOR EDX,EAX
MOVZX EDX,DX
XOR EDX,ECX
ADD EAX,0x8000
XOR R12D,R12D
MOV dword ptr [RBX],EDX
CMP EAX,0xffff
SETA R12B
JMP 0x002c2945
MOV byte ptr [RBP + -0xb0],0x0
CMP dword ptr [RBP + -0xe4],0x4
JZ 0x002c43bd
CMP dword ptr [RBP + -0xe4],0x9
JNZ 0x002c46ec
MOV EDI,0x40
CALL 0x0049cb70
MOV RBX,qword ptr [RBP + 0x28]
LEA RSI,[0x67dae0]
MOV RDI,RAX
XOR R12D,R12D
MOV qword ptr [RAX + 0x10],RBX
MOV RBX,qword ptr [RBP + -0x88]
MOV qword ptr [RAX + 0x18],RBX
MOV RBX,qword ptr [RBP + 0x20]
MOV qword ptr [RAX + 0x20],RBX
MOV EBX,dword ptr [RBP + -0xc4]
MOV dword ptr [RAX + 0x28],EBX
MOV EBX,dword ptr [RBP + -0x90]
MOV dword ptr [RAX + 0x2c],EBX
MOV EBX,dword ptr [RBP + -0xe0]
MOV dword ptr [RAX + 0x30],EBX
MOVZX EBX,byte ptr [RBP + -0xb0]
MOV byte ptr [RAX + 0x34],BL
MOV EBX,dword ptr [RBP + 0x30]
MOV dword ptr [RAX + 0x38],EBX
MOVZX EBX,byte ptr [RBP + -0xfc]
MOV byte ptr [RAX + 0x3c],BL
CALL 0x004a11e0
ADD qword ptr [0x0067daf0],0x1
JMP 0x002c1e60
MOV byte ptr [RBP + -0xb0],0x0
MOV RCX,qword ptr [RBP + -0xa0]
MOV RDX,qword ptr [RBP + -0x108]
MOV ESI,0x2
MOV RDI,R14
CALL 0x0029fae0
TEST AL,AL
JZ 0x002c28c0
MOV RAX,qword ptr [RBP + -0x98]
CMP byte ptr [RBP + -0xb0],0x0
MOVZX EBX,byte ptr [RAX + 0x4]
JNZ 0x002c42ff
MOV EDX,dword ptr [RBP + -0xc4]
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
CALL 0x001a5ac0
TEST BL,BL
JZ 0x002c42f1
MOV RBX,qword ptr [RBP + -0x98]
XOR R12D,R12D
MOV dword ptr [RBX],EAX
TEST R14,R14
JZ 0x002c1e60
MOVZX EAX,byte ptr [R14 + 0x39]
SHR AL,0x2
MOV EDX,EAX
AND EDX,0x3c
CMP DL,0x3c
JZ 0x002c28e6
AND EAX,0x30
CMP AL,0x20
JNZ 0x002c1e60
CMP dword ptr [R14 + 0x5c],0x1
JNZ 0x002c1e60
MOV RDI,qword ptr [R14 + 0x70]
TEST RDI,RDI
JZ 0x002c291c
CMP byte ptr [R14 + 0x48],0x0
JZ 0x002c473f
LEA RSI,[RDI + 0x8]
CALL 0x00298370
MOV dword ptr [RBP + -0x60],EAX
MOV RAX,qword ptr [RBP + -0xc0]
MOV qword ptr [RBP + 0x20],RAX
MOV EAX,dword ptr [R14 + 0x60]
MOV dword ptr [RBP + -0xdc],EAX
MOV RAX,qword ptr [RBP + -0xa0]
MOV RBX,qword ptr [RAX + 0x20]
TEST RBX,RBX
JNZ 0x002c2967
CALL 0x00290940
NOP dword ptr [RAX + RAX*0x1]
MOV dword ptr [RBX],EAX
XOR R12D,R12D
CMP byte ptr [RBP + -0xc5],0x0
JZ 0x002c1e60
MOV RAX,qword ptr [RBP + -0xa0]
MOV RBX,qword ptr [RAX + 0x20]
TEST RBX,RBX
JZ 0x002c2936
TEST R14,R14
JZ 0x002c2971
CMP byte ptr [R14 + 0x88],0x0
JNZ 0x002c29d8
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
XOR EDX,EDX
CALL 0x001a5ac0
MOV EDX,dword ptr [RBP + -0xdc]
MOV RCX,qword ptr [RBX + 0xb8]
MOV dword ptr [RCX + RDX*0x1],EAX
JMP 0x002c1e60
MOV byte ptr [RBP + -0xb0],0x0
LEA RDI,[0x53353d]
CALL 0x00177320
MOV EDX,dword ptr [RBP + -0xa4]
MOV R8D,dword ptr [RBP + -0x90]
MOV RSI,qword ptr [RBP + -0xf0]
MOV RDI,qword ptr [RBP + -0xd8]
MOV RCX,RAX
XOR EAX,EAX
CALL 0x0034ad90
JMP 0x002c1e60
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
XOR EDX,EDX
CALL 0x001a5ac0
CMP dword ptr [R14 + 0x5c],0x2
JZ 0x002c461d
MOV RCX,qword ptr [RBX + 0xd0]
TEST RCX,RCX
JZ 0x002c2c20
MOV EDX,dword ptr [RCX + 0x4]
ADD EDX,dword ptr [RCX]
LEA ECX,[RDX + 0x2]
MOV EDX,dword ptr [R14 + 0x20]
TEST EDX,EDX
JZ 0x002c4618
SUB EDX,dword ptr [RBX + 0xc0]
ADD EDX,ECX
MOV RCX,qword ptr [RBX + 0xb8]
SHL EDX,0x5
SHR EDX,0x3
MOV dword ptr [RCX + RDX*0x1],EAX
JMP 0x002c1e60
MOV RBX,qword ptr [RBP + -0x88]
MOV ESI,dword ptr [RBP + -0xe0]
MOV RAX,qword ptr [RBX + 0x238]
MOV RDX,qword ptr [RBX + 0x228]
MOV ECX,dword ptr [RBX + 0x240]
MOV qword ptr [RBP + -0xb0],RAX
SUB RAX,RDX
LEA RAX,[RCX + RAX*0x8]
MOV ECX,dword ptr [RBX + 0x230]
SUB RAX,RCX
CMP RSI,RAX
JNC 0x002c45f5
MOVZX ECX,byte ptr [RBP + -0xe0]
MOV R8,RSI
MOV EAX,0x1
MOV RBX,qword ptr [RBP + -0x88]
SHR R8,0x6
SHL RAX,CL
MOV RDI,qword ptr [RBX + 0x250]
MOV R9D,dword ptr [RBX + 0x268]
MOV RCX,RAX
MOV RAX,qword ptr [RDX + R8*0x8]
MOV RDX,qword ptr [RBX + 0x260]
MOV R13,RCX
AND R13,RAX
MOV qword ptr [RBP + -0xb0],RDX
SETNZ R12B
SUB RDX,RDI
LEA RDX,[R9 + RDX*0x8]
MOV R9D,dword ptr [RBX + 0x258]
SUB RDX,R9
CMP RSI,RDX
JNC 0x002c45d2
MOV RDX,qword ptr [RDI + R8*0x8]
TEST RCX,RDX
SETNZ BL
OR RAX,RDX
TEST RAX,RCX
JNZ 0x002c2e00
LEA RAX,[RBP + -0x70]
MOV byte ptr [RBP + -0xc5],0x0
MOV qword ptr [RBP + -0xc0],RAX
CMP R15D,0x64
JZ 0x002c2cc8
MOV RAX,qword ptr [RBP + -0x88]
LEA RCX,[RAX + 0x310]
MOV RAX,qword ptr [RAX + 0x318]
TEST RAX,RAX
JZ 0x002c1c10
MOV RDX,RCX
MOV ESI,dword ptr [RBP + -0xe0]
MOV EDI,dword ptr [RBP + -0x90]
JMP 0x002c2b5c
MOV RDX,RAX
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x002c2b6a
CMP dword ptr [RAX + 0x20],ESI
JNC 0x002c2b50
MOV RAX,qword ptr [RAX + 0x18]
TEST RAX,RAX
JNZ 0x002c2b5c
MOV dword ptr [RBP + -0x90],EDI
CMP RCX,RDX
JZ 0x002c1c10
MOV EAX,dword ptr [RBP + -0xe0]
CMP dword ptr [RDX + 0x20],EAX
JA 0x002c1c10
CMP qword ptr [RDX + 0x28],0x0
MOV byte ptr [RBP + -0xfc],0x0
JNZ 0x002c15fe
JMP 0x002c1c10
LEA RBX,[RBP + -0x50]
MOV RSI,R14
MOV RDI,RBX
CALL 0x004443d0
MOV R14,qword ptr [RBP + -0x50]
LEA RDI,[0x558af8]
CALL 0x00177320
MOV EDX,dword ptr [RBP + -0xa4]
MOV RSI,qword ptr [RBP + -0xf0]
MOV R8D,R15D
MOV RDI,qword ptr [RBP + -0xd8]
MOV RCX,RAX
MOV R9,R14
XOR EAX,EAX
CALL 0x0034ad90
MOV RDI,qword ptr [RBP + -0x50]
ADD RBX,0x10
CMP RDI,RBX
JNZ 0x002c1a76
JMP 0x002c193c
MOV EDX,0xffffff8e
MOV R15D,0x13
MOV dword ptr [RBP + -0xe8],0xffffffaf
JMP 0x002c1b0e
MOV RCX,qword ptr [RBX + 0xc8]
MOV EDX,dword ptr [RCX + 0x4]
ADD EDX,dword ptr [RCX]
LEA ECX,[RDX + 0x2]
JMP 0x002c2a0d
MOVZX EAX,byte ptr [R14 + 0x48]
TEST AL,AL
JNZ 0x002c15fe
MOV EDX,dword ptr [R14 + 0x4c]
CMP EDX,-0x1
JNZ 0x002c17c6
JMP 0x002c13ac
TEST RDX,RDX
JZ 0x002c45cd
MOV ECX,dword ptr [R14 + 0x6c]
CMP ECX,-0x1
JZ 0x002c45b5
TEST byte ptr [RDX + 0x20],0x1
JZ 0x002c45b0
MOV RDI,qword ptr [RBP + -0xa0]
MOV EAX,dword ptr [RDX + 0x68]
ADD EAX,dword ptr [RDX + 0x60]
LEA EAX,[RCX + RAX*0x1 + 0x1]
MOVZX ECX,byte ptr [RDI + 0x14]
ADD EAX,dword ptr [RDX + 0x8]
TEST CL,CL
JZ 0x002c45ab
MOV RDI,qword ptr [RBP + -0xa0]
MOV EDI,dword ptr [RDI + 0x10]
MOV EDX,EDI
MOV dword ptr [RBP + -0xb0],EDI
AND EDX,0x2000000
CMOVZ R12D,ECX
CMOVNZ EBX,ECX
JMP 0x002c1209
MOV RAX,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RAX + 0x348]
LEA RCX,[RAX + 0x340]
TEST RDI,RDI
JZ 0x002c1c10
MOV RDX,RCX
MOV RAX,RDI
MOV ESI,dword ptr [RBP + -0xe0]
MOV R10D,dword ptr [RBP + -0x90]
JMP 0x002c2d10
MOV RDX,RAX
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x002c3dd6
CMP dword ptr [RAX + 0x20],ESI
JNC 0x002c2d00
MOV RAX,qword ptr [RAX + 0x18]
JMP 0x002c2d07
MOV R10,qword ptr [R14 + 0x80]
TEST R10,R10
JZ 0x002c1d90
MOV RSI,qword ptr [RBP + -0x88]
MOV ECX,dword ptr [RSI + 0x38]
CMP ECX,0x1
JBE 0x002c1d90
MOV RAX,qword ptr [RSI + 0x3d8]
MOV R8,qword ptr [RSI + 0x3c8]
MOV EDX,dword ptr [RSI + 0x3e0]
MOV qword ptr [RBP + -0xb0],RAX
SUB RAX,R8
LEA RDX,[RDX + RAX*0x8]
MOV EAX,dword ptr [RSI + 0x3d0]
SUB RDX,RAX
CMP RDX,0x1
JBE 0x002c4593
MOV EAX,dword ptr [RBP + -0x90]
LEA ESI,[RCX + -0x2]
MOV R9D,0x1
MOV ECX,0x1
ADD RSI,0x1
MOV R13D,EAX
JMP 0x002c2dae
CMP RCX,RSI
JZ 0x002c3e91
ADD RCX,0x1
CMP RCX,RDX
JZ 0x002c4593
MOV RAX,RCX
MOV R11,R9
SHR RAX,0x6
SHL R11,CL
TEST qword ptr [R8 + RAX*0x8],R11
JZ 0x002c2d98
MOV dword ptr [RBP + -0x90],R13D
MOV RDI,R10
JMP 0x002c1d90
MOV EDX,EAX
SHR EDX,0xb
CMP R15D,0x64
JNZ 0x002c1c8c
MOV ECX,EDI
MOV EDI,EDX
SHR EAX,0x15
AND CX,0xfc00
AND DI,0x3e0
AND EAX,0x1f
OR ECX,EDI
OR ECX,EAX
JMP 0x002c19bf
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
LEA RAX,[RBP + -0x70]
MOV EDX,0x1
MOV qword ptr [RBP + -0xc0],RAX
CALL 0x001a5ac0
MOV dword ptr [RBP + -0x60],EAX
LEA RAX,[RBP + -0x70]
MOV byte ptr [RBP + -0xc5],0x1
MOV qword ptr [RBP + -0xc0],RAX
MOV qword ptr [RBP + 0x20],RAX
JMP 0x002c2b0d
MOV byte ptr [RBP + -0xb0],0x0
MOV RAX,qword ptr [RBP + 0x28]
CMP byte ptr [RBP + -0xb0],0x0
MOV R12D,dword ptr [RAX]
JZ 0x002c2e79
LEA EAX,[R12*0x4]
MOV ESI,EAX
AND ESI,0x3fffc
TEST EAX,0x20000
LEA EDX,[RSI + -0x40000]
CMOVZ EDX,ESI
MOV dword ptr [RBP + -0xa8],EDX
MOV EDX,dword ptr [RBP + -0xa8]
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
CALL 0x001a5ac0
SUB EAX,dword ptr [RBP + 0x30]
MOV dword ptr [RBP + -0x90],EAX
SHR EAX,0x2
TEST BL,BL
JNZ 0x002c1f30
XOR EAX,R12D
MOV EDX,dword ptr [RBP + -0xa8]
MOV RSI,qword ptr [RBP + -0x88]
MOVZX EAX,AX
MOV RDI,qword ptr [RBP + 0x20]
XOR R12D,EAX
MOV RAX,qword ptr [RBP + 0x28]
MOV dword ptr [RAX],R12D
CALL 0x001a5ac0
MOV R12D,0x3
TEST AL,0x3
JNZ 0x002c1e60
MOV EAX,dword ptr [RBP + -0x90]
XOR R12D,R12D
ADD EAX,0x20000
CMP EAX,0x3ffff
SETA R12B
JMP 0x002c1e60
MOV byte ptr [RBP + -0xb0],0x0
MOV EDX,dword ptr [RBP + -0xa8]
NEG EDX
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
CALL 0x001a5ac0
TEST BL,BL
JNZ 0x002c1f30
MOV RBX,qword ptr [RBP + 0x28]
MOV EAX,EAX
XOR R12D,R12D
MOV qword ptr [RBX],RAX
JMP 0x002c1e60
MOV byte ptr [RBP + -0xb0],0x0
MOV RAX,qword ptr [RBP + 0x28]
CMP byte ptr [RBP + -0xb0],0x0
MOV ESI,dword ptr [RAX]
MOV R12D,ESI
JZ 0x002c2f5c
MOVZX ECX,SI
AND ESI,0x8000
LEA EAX,[RCX + -0x10000]
CMOVZ EAX,ECX
MOV dword ptr [RBP + -0xa8],EAX
MOV EDX,dword ptr [RBP + -0xa8]
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
CALL 0x001a5ac0
TEST BL,BL
JZ 0x002c3d2b
MOV RAX,qword ptr [RBP + -0x98]
XOR R12D,R12D
MOV dword ptr [RAX],0x0
JMP 0x002c1e60
MOV byte ptr [RBP + -0xb0],0x0
MOV RAX,qword ptr [RBP + 0x28]
CMP byte ptr [RBP + -0xb0],0x0
MOV R12D,dword ptr [RAX]
JZ 0x002c2fca
LEA EAX,[R12*0x4]
MOV ECX,EAX
AND ECX,0x7ffffc
TEST EAX,0x400000
LEA EDX,[RCX + -0x800000]
CMOVZ EDX,ECX
MOV dword ptr [RBP + -0xa8],EDX
MOV EDX,dword ptr [RBP + -0xa8]
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
CALL 0x001a5ac0
SUB EAX,dword ptr [RBP + 0x30]
MOV dword ptr [RBP + -0x90],EAX
SHR EAX,0x2
TEST BL,BL
JNZ 0x002c1f30
XOR EAX,R12D
MOV EDX,dword ptr [RBP + -0xa8]
MOV RSI,qword ptr [RBP + -0x88]
AND EAX,0x1fffff
MOV RDI,qword ptr [RBP + 0x20]
XOR R12D,EAX
MOV RAX,qword ptr [RBP + 0x28]
MOV dword ptr [RAX],R12D
CALL 0x001a5ac0
MOV R12D,0x3
TEST AL,0x3
JNZ 0x002c1e60
MOV EAX,dword ptr [RBP + -0x90]
XOR R12D,R12D
ADD EAX,0x400000
CMP EAX,0x7fffff
SETA R12B
JMP 0x002c1e60
MOV byte ptr [RBP + -0xb0],0x0
MOV RAX,qword ptr [RBP + 0x28]
CMP byte ptr [RBP + -0xb0],0x0
MOV R12D,dword ptr [RAX]
JZ 0x002c3081
LEA EAX,[R12*0x4]
MOV EDI,EAX
AND EDI,0xffffffc
TEST EAX,0x8000000
LEA EDX,[RDI + -0x10000000]
CMOVZ EDX,EDI
MOV dword ptr [RBP + -0xa8],EDX
MOV EDX,dword ptr [RBP + -0xa8]
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
CALL 0x001a5ac0
SUB EAX,dword ptr [RBP + 0x30]
MOV dword ptr [RBP + -0x90],EAX
SHR EAX,0x2
TEST BL,BL
JNZ 0x002c1f30
XOR EAX,R12D
MOV EDX,dword ptr [RBP + -0xa8]
MOV RSI,qword ptr [RBP + -0x88]
AND EAX,0x3ffffff
MOV RDI,qword ptr [RBP + 0x20]
XOR R12D,EAX
MOV RAX,qword ptr [RBP + 0x28]
MOV dword ptr [RAX],R12D
CALL 0x001a5ac0
MOV R12D,0x3
TEST AL,0x3
JNZ 0x002c1e60
MOV EAX,dword ptr [RBP + -0x90]
XOR R12D,R12D
ADD EAX,0x8000000
CMP EAX,0xfffffff
SETA R12B
JMP 0x002c1e60
MOV byte ptr [RBP + -0xb0],0x0
MOV RAX,qword ptr [RBP + 0x28]
CMP byte ptr [RBP + -0xb0],0x0
MOV R12D,dword ptr [RAX]
JZ 0x002c3138
LEA EAX,[R12*0x8]
MOV ESI,EAX
AND ESI,0x1ffff8
TEST EAX,0x100000
LEA EDX,[RSI + -0x200000]
CMOVZ EDX,ESI
MOV dword ptr [RBP + -0xa8],EDX
MOV EDX,dword ptr [RBP + -0xa8]
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
CALL 0x001a5ac0
MOV EDX,dword ptr [RBP + 0x30]
AND EDX,0xfffffff8
SUB EAX,EDX
MOV dword ptr [RBP + -0x90],EAX
SHR EAX,0x3
TEST BL,BL
JNZ 0x002c1f30
XOR EAX,R12D
MOV EDX,dword ptr [RBP + -0xa8]
MOV RSI,qword ptr [RBP + -0x88]
AND EAX,0x3ffff
MOV RDI,qword ptr [RBP + 0x20]
XOR R12D,EAX
MOV RAX,qword ptr [RBP + 0x28]
MOV dword ptr [RAX],R12D
CALL 0x001a5ac0
MOV R12D,0x3
TEST AL,0x7
JNZ 0x002c1e60
MOV EAX,dword ptr [RBP + -0x90]
XOR R12D,R12D
ADD EAX,0x100000
CMP EAX,0x1fffff
SETA R12B
JMP 0x002c1e60
MOV byte ptr [RBP + -0xb0],0x0
MOV RAX,qword ptr [RBP + 0x28]
CMP byte ptr [RBP + -0xb0],0x0
MOV R12D,dword ptr [RAX]
JZ 0x002c31f4
LEA EAX,[R12*0x4]
MOV ECX,EAX
AND ECX,0x1ffffc
TEST EAX,0x100000
LEA EDX,[RCX + -0x200000]
CMOVZ EDX,ECX
MOV dword ptr [RBP + -0xa8],EDX
MOV EDX,dword ptr [RBP + -0xa8]
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
CALL 0x001a5ac0
SUB EAX,dword ptr [RBP + 0x30]
MOV dword ptr [RBP + -0x90],EAX
SHR EAX,0x2
TEST BL,BL
JNZ 0x002c1f30
XOR EAX,R12D
MOV EDX,dword ptr [RBP + -0xa8]
MOV RSI,qword ptr [RBP + -0x88]
AND EAX,0x7ffff
MOV RDI,qword ptr [RBP + 0x20]
XOR R12D,EAX
MOV RAX,qword ptr [RBP + 0x28]
MOV dword ptr [RAX],R12D
CALL 0x001a5ac0
MOV R12D,0x3
TEST AL,0x3
JZ 0x002c319d
JMP 0x002c1e60
MOV byte ptr [RBP + -0xb0],0x0
MOV EDX,dword ptr [RBP + -0xa8]
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
CALL 0x001a5ac0
SUB EAX,dword ptr [RBP + 0x30]
TEST BL,BL
JZ 0x002c1fd0
JMP 0x002c1f30
MOV byte ptr [RBP + -0xb0],0x0
MOV RAX,qword ptr [RBP + 0x28]
CMP byte ptr [RBP + -0xb0],0x0
MOV EAX,dword ptr [RAX]
MOV R12D,EAX
JZ 0x002c32bb
ADD EAX,EAX
MOV EDI,EAX
AND EDI,0x7fe
TEST AH,0x4
LEA EDX,[RDI + -0x800]
CMOVZ EDX,EDI
MOV dword ptr [RBP + -0xa8],EDX
MOV EDX,dword ptr [RBP + -0xa8]
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
CALL 0x001a5ac0
SUB EAX,dword ptr [RBP + 0x30]
MOV EDX,EAX
SHR EDX,0x1
TEST BL,BL
JNZ 0x002c3c10
XOR EDX,R12D
MOV RBX,qword ptr [RBP + 0x28]
ADD EAX,0x400
AND EDX,0x3ff
XOR EDX,R12D
XOR R12D,R12D
CMP EAX,0x7ff
MOV dword ptr [RBX],EDX
SETA R12B
JMP 0x002c1e60
MOV byte ptr [RBP + -0xb0],0x0
MOV RAX,qword ptr [RBP + 0x28]
CMP byte ptr [RBP + -0xb0],0x0
MOV R12D,dword ptr [RAX]
JZ 0x002c3339
MOVZX ECX,R12W
TEST R12D,0x8000
LEA EAX,[RCX + -0x10000]
CMOVZ EAX,ECX
MOV dword ptr [RBP + -0xa8],EAX
CMP dword ptr [RBP + -0xe4],0x9
JZ 0x002c3ff5
MOV EDX,dword ptr [RBP + -0xa8]
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
CALL 0x001a5ac0
SUB EAX,dword ptr [RBP + 0x30]
TEST BL,BL
JNZ 0x002c1f30
XOR EAX,R12D
MOV RBX,qword ptr [RBP + 0x28]
MOVZX EAX,AX
XOR EAX,R12D
XOR R12D,R12D
MOV dword ptr [RBX],EAX
JMP 0x002c1e60
MOV byte ptr [RBP + -0xb0],0x0
MOV RAX,qword ptr [RBP + 0x28]
CMP byte ptr [RBP + -0xb0],0x0
MOV EAX,dword ptr [RAX]
MOV R12D,EAX
JZ 0x002c33ad
ADD EAX,EAX
MOVZX EDI,AL
TEST AL,0x80
LEA EDX,[RDI + -0x100]
CMOVZ EDX,EDI
MOV dword ptr [RBP + -0xa8],EDX
MOV EDX,dword ptr [RBP + -0xa8]
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
CALL 0x001a5ac0
SUB EAX,dword ptr [RBP + 0x30]
MOV EDX,EAX
SHR EDX,0x1
TEST BL,BL
JNZ 0x002c3c10
XOR EDX,R12D
MOV RBX,qword ptr [RBP + 0x28]
SUB EAX,-0x80
AND EDX,0x7f
XOR EDX,R12D
XOR R12D,R12D
CMP EAX,0xff
MOV dword ptr [RBX],EDX
SETA R12B
JMP 0x002c1e60
MOV byte ptr [RBP + -0xb0],0x0
MOV RAX,qword ptr [RBP + 0x28]
CMP byte ptr [RBP + -0xb0],0x0
MOV EAX,dword ptr [RAX]
MOV R12D,EAX
JZ 0x002c342c
ADD EAX,EAX
MOV ESI,EAX
AND ESI,0x1fffe
TEST EAX,0x10000
LEA EDX,[RSI + -0x20000]
CMOVZ EDX,ESI
MOV dword ptr [RBP + -0xa8],EDX
MOV EDX,dword ptr [RBP + -0xa8]
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
CALL 0x001a5ac0
SUB EAX,dword ptr [RBP + 0x30]
MOV EDX,EAX
SHR EDX,0x1
TEST BL,BL
JNZ 0x002c3c10
XOR EDX,R12D
MOV RBX,qword ptr [RBP + 0x28]
ADD EAX,0x10000
MOVZX EDX,DX
XOR EDX,R12D
XOR R12D,R12D
CMP EAX,0x1ffff
MOV dword ptr [RBX],EDX
SETA R12B
JMP 0x002c1e60
MOV EAX,dword ptr [RBP + -0xc4]
TEST R14,R14
MOV ECX,EBX
SETZ R12B
XOR ECX,0x1
AND CL,byte ptr [RBP + -0xc7]
CMP byte ptr [RBP + -0xb0],0x0
MOV dword ptr [RBP + -0xa8],EAX
MOV RAX,qword ptr [RBP + 0x28]
MOV EAX,dword ptr [RAX]
MOV dword ptr [RBP + -0xf8],EAX
JZ 0x002c38d3
CMP dword ptr [RBP + -0x90],0x85
MOV EAX,dword ptr [RBP + -0xf8]
JZ 0x002c4479
SHL EAX,0x2
AND EAX,0xffffffc
MOV dword ptr [RBP + -0xa8],EAX
TEST CL,CL
JNZ 0x002c40f9
TEST R12B,R12B
JZ 0x002c4158
MOV dword ptr [RBP + -0x110],0x2
MOV EAX,0xf0000000
MOV EDI,dword ptr [RBP + 0x30]
MOV R12D,0x1
LEA EDX,[RDI + 0x4]
AND EDX,EAX
OR EDX,dword ptr [RBP + -0xa8]
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
CALL 0x001a5ac0
MOVZX ECX,byte ptr [RBP + -0x110]
SHR EAX,CL
MOV dword ptr [RBP + -0xa8],EAX
TEST BL,BL
JNZ 0x002c3c28
TEST R12B,R12B
JNZ 0x002c3c28
MOV RDI,R14
CALL 0x002e7200
TEST AL,AL
JNZ 0x002c3c28
MOV EAX,dword ptr [RBP + 0x30]
MOV ECX,dword ptr [RBP + -0x110]
MOV EDX,dword ptr [RBP + -0xa8]
ADD EAX,0x4
ADD ECX,0x1a
SHR EDX,0x1a
SHR EAX,CL
CMP EDX,EAX
JZ 0x002c3c28
MOV R12D,0x1
JMP 0x002c1e60
MOV RAX,qword ptr [RBP + 0x28]
CMP byte ptr [RBP + -0xb0],0x0
MOVZX EDX,word ptr [RAX]
JZ 0x002c46aa
MOVZX EAX,DX
TEST DX,DX
LEA ECX,[RAX + -0x10000]
CMOVS EAX,ECX
MOV dword ptr [RBP + -0xa8],EAX
MOV EDX,dword ptr [RBP + -0xa8]
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
CALL 0x001a5ac0
TEST BL,BL
JNZ 0x002c1f30
MOV RBX,qword ptr [RBP + 0x28]
XOR R12D,R12D
MOV word ptr [RBX],AX
ADD EAX,0x8000
CMP EAX,0xffff
SETA R12B
JMP 0x002c1e60
MOV EAX,dword ptr [RBP + -0xc4]
CMP byte ptr [RBP + -0xb0],0x0
MOV dword ptr [RBP + -0xa8],EAX
MOV RAX,qword ptr [RBP + 0x28]
MOV EAX,dword ptr [RAX]
MOV dword ptr [RBP + -0x100],EAX
JZ 0x002c3615
MOV EDI,dword ptr [RBP + -0x100]
MOVZX ESI,DI
AND EDI,0x8000
LEA EAX,[RSI + -0x10000]
CMOVZ EAX,ESI
MOV dword ptr [RBP + -0xa8],EAX
CMP dword ptr [RBP + -0xe4],0x9
JZ 0x002c3e9d
CMP byte ptr [RBP + -0xfc],0x0
JZ 0x002c42bd
MOV RAX,qword ptr [RBP + -0xa0]
CMP dword ptr [RBP + -0x90],0x69
MOV RAX,qword ptr [RAX + 0x28]
JZ 0x002c4327
MOV ECX,dword ptr [RBP + -0x90]
CMP ECX,0x87
JZ 0x002c4373
CMP ECX,0x9d
JZ 0x002c4373
TEST RAX,RAX
JZ 0x002c4568
MOV RCX,qword ptr [RBP + -0xa0]
MOV EAX,dword ptr [RAX + 0x40]
MOV RDX,qword ptr [RCX + 0x20]
TEST RDX,RDX
JZ 0x002c36a4
CMP qword ptr [RDX + 0xd0],0x0
JZ 0x002c36a4
MOV RSI,qword ptr [RBP + -0x88]
MOV RDX,qword ptr [RSI + 0x370]
TEST RDX,RDX
JZ 0x002c36a4
ADD EAX,dword ptr [RDX + 0x10c]
SUB EAX,dword ptr [RBP + 0x30]
ADD EAX,0x4
ADD EAX,dword ptr [RBP + -0xa8]
TEST BL,BL
JNZ 0x002c1f30
MOV EBX,dword ptr [RBP + -0x100]
JMP 0x002c1ebf
MOV EAX,dword ptr [RBP + -0xc4]
CMP byte ptr [RBP + -0xb0],0x0
MOV dword ptr [RBP + -0xa8],EAX
JZ 0x002c3260
MOV RAX,qword ptr [RBP + 0x28]
MOV EAX,dword ptr [RAX]
MOV dword ptr [RBP + -0xa8],EAX
JMP 0x002c3260
MOV EAX,dword ptr [RBP + -0xc4]
MOV dword ptr [RBP + -0xa8],EAX
MOV RAX,qword ptr [RBP + -0xa0]
MOV RAX,qword ptr [RAX + 0x28]
TEST RAX,RAX
JZ 0x002c44d5
MOV RDI,qword ptr [RBP + -0xa0]
MOV RDX,qword ptr [RDI + 0x20]
MOV EDI,dword ptr [RAX + 0x40]
MOV dword ptr [RBP + -0xf8],EDI
TEST RDX,RDX
JZ 0x002c3751
CMP qword ptr [RDX + 0xd0],0x0
JZ 0x002c3751
MOV RAX,qword ptr [RBP + -0x88]
MOV RAX,qword ptr [RAX + 0x370]
TEST RAX,RAX
JZ 0x002c3751
MOV EAX,dword ptr [RAX + 0x10c]
ADD EDI,EAX
MOV dword ptr [RBP + -0xf8],EDI
MOV RAX,qword ptr [RBP + 0x28]
CMP byte ptr [RBP + -0xb0],0x0
MOV R12D,dword ptr [RAX]
JZ 0x002c378b
CMP dword ptr [RBP + -0x90],0xac
JZ 0x002c448b
MOVZX ESI,R12W
TEST R12D,0x8000
LEA EAX,[RSI + -0x10000]
CMOVZ EAX,ESI
MOV dword ptr [RBP + -0xa8],EAX
MOV EDX,dword ptr [RBP + -0xa8]
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
CALL 0x001a5ac0
SUB EAX,dword ptr [RBP + -0xf8]
TEST R14,R14
JNZ 0x002c37b9
MOV RCX,qword ptr [RBP + -0x88]
ADD EAX,dword ptr [RCX + 0x368]
MOV EDX,EAX
XOR EDX,R12D
MOVZX ECX,DX
AND EDX,0x7f
XOR EDX,R12D
XOR R12D,ECX
CMP dword ptr [RBP + -0x90],0xac
CMOVZ R12D,EDX
TEST BL,BL
JNZ 0x002c1f30
MOV RBX,qword ptr [RBP + 0x28]
ADD EAX,0x8000
MOV dword ptr [RBX],R12D
CMP EAX,0xffff
JBE 0x002c1fd6
LEA RDI,[0x558a38]
CALL 0x00177320
MOV RDI,RAX
XOR EAX,EAX
CALL 0x0034a750
JMP 0x002c3567
MOV EAX,dword ptr [RBP + -0xc4]
CMP byte ptr [RBP + -0xb0],0x0
MOV dword ptr [RBP + -0xa8],EAX
JZ 0x002c2efa
MOV RAX,qword ptr [RBP + 0x28]
MOV EAX,dword ptr [RAX]
MOV dword ptr [RBP + -0xa8],EAX
JMP 0x002c2efa
MOV EAX,dword ptr [RBP + -0xc4]
MOV dword ptr [RBP + -0xa8],EAX
JMP 0x002c1ed8
MOV EAX,dword ptr [RBP + -0xc4]
MOV dword ptr [RBP + -0xa8],EAX
JMP 0x002c2f32
MOV EAX,dword ptr [RBP + -0xc4]
MOV dword ptr [RBP + -0xa8],EAX
JMP 0x002c2f96
MOV EAX,dword ptr [RBP + -0xc4]
MOV dword ptr [RBP + -0xa8],EAX
JMP 0x002c31c0
MOV EAX,dword ptr [RBP + -0xc4]
MOV dword ptr [RBP + -0xa8],EAX
JMP 0x002c304d
MOV EAX,dword ptr [RBP + -0xc4]
MOV dword ptr [RBP + -0xa8],EAX
JMP 0x002c3104
MOV byte ptr [RBP + -0xb0],0x0
JMP 0x002c359b
MOV RAX,qword ptr [RBP + 0x28]
MOV byte ptr [RBP + -0xb0],0x0
TEST R14,R14
MOV ECX,EBX
SETZ R12B
XOR ECX,0x1
AND CL,byte ptr [RBP + -0xc7]
MOV EAX,dword ptr [RAX]
MOV dword ptr [RBP + -0xf8],EAX
TEST CL,CL
JNZ 0x002c40ff
CMP byte ptr [RBP + -0xc7],0x1
JZ 0x002c34d9
CMP dword ptr [RBP + -0x90],0x85
JNZ 0x002c34d9
TEST R12B,R12B
JNZ 0x002c4313
MOV dword ptr [RBP + -0x110],0x1
MOV ECX,dword ptr [RBP + -0xa8]
MOV EDX,ECX
AND EDX,0x7ffffff
AND ECX,0x4000000
LEA EAX,[RDX + -0x8000000]
CMOVNZ EDX,EAX
JMP 0x002c3505
MOV RAX,qword ptr [RBP + -0xa0]
MOV RAX,qword ptr [RAX + 0x28]
TEST RAX,RAX
JZ 0x002c44e4
MOV byte ptr [RBP + -0xb0],0x0
JMP 0x002c370d
MOV EAX,dword ptr [RBP + -0xc4]
MOV dword ptr [RBP + -0xa8],EAX
JMP 0x002c2e45
MOV RAX,qword ptr [RBP + 0x28]
MOV byte ptr [RBP + -0xb0],0x0
MOV EAX,dword ptr [RAX]
MOV dword ptr [RBP + -0x100],EAX
JMP 0x002c3615
MOV EAX,dword ptr [RBP + -0xc4]
MOV dword ptr [RBP + -0xa8],EAX
JMP 0x002c330f
MOV EAX,dword ptr [RBP + -0xc4]
MOV dword ptr [RBP + -0xa8],EAX
JMP 0x002c3385
MOV EAX,dword ptr [RBP + -0xc4]
MOV dword ptr [RBP + -0xa8],EAX
JMP 0x002c328d
MOV EAX,dword ptr [RBP + -0xc4]
MOV dword ptr [RBP + -0xa8],EAX
JMP 0x002c33fc
MOV RDI,qword ptr [RBP + -0xc0]
MOV qword ptr [RBP + 0x20],RDI
JMP 0x002c13c4
MOV RAX,qword ptr [RBP + -0x98]
MOV EBX,dword ptr [RBP + -0xa8]
XOR R12D,R12D
MOV dword ptr [RAX],EBX
JMP 0x002c1e60
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
MOV EDX,EAX
CALL 0x001a5ac0
LEA R12D,[RAX + 0x8000]
MOV RAX,qword ptr [RBP + -0xa0]
XOR R12W,R12W
MOV RDX,qword ptr [RAX + 0x20]
TEST RDX,RDX
JZ 0x002c4635
CMP qword ptr [RDX + 0xd0],0x0
JZ 0x002c44b6
MOV RAX,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RAX + 0x370]
TEST RDI,RDI
JZ 0x002c463f
MOV ESI,R12D
CALL 0x002c0d60
MOV EDX,dword ptr [RBP + -0xa8]
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
CALL 0x001a5ac0
SUB EAX,R12D
MOV dword ptr [RBP + -0xa8],EAX
JMP 0x002c2403
TEST RDI,RDI
JZ 0x002c466b
MOV RDI,qword ptr [RBP + -0x88]
MOVSXD RCX,dword ptr [RBP + -0xc4]
MOV EDX,0x1
MOV ESI,dword ptr [RBP + -0xe0]
MOV RAX,qword ptr [RDI]
CALL qword ptr [RAX + 0x160]
JMP 0x002c2016
TEST RDI,RDI
JZ 0x002c478d
MOV RDI,qword ptr [RBP + -0x88]
MOVSXD RCX,dword ptr [RBP + -0xc4]
XOR EDX,EDX
MOV ESI,dword ptr [RBP + -0xe0]
MOV RAX,qword ptr [RDI]
CALL qword ptr [RAX + 0x160]
JMP 0x002c252a
MOV RDI,qword ptr [RDX + 0xc8]
JMP 0x002c24a9
CMP dword ptr [RBP + -0xe4],0x4
JZ 0x002c4501
CMP dword ptr [RBP + -0xe4],0x9
JNZ 0x002c4704
MOV EDI,0x40
CALL 0x0049cb70
MOV RBX,qword ptr [RBP + 0x28]
MOV byte ptr [RAX + 0x3c],0x0
MOV RDI,RAX
XOR R12D,R12D
MOV dword ptr [RAX + 0x38],0x0
LEA RSI,[0x67dac0]
MOV qword ptr [RAX + 0x10],RBX
MOV RBX,qword ptr [RBP + -0x88]
MOV qword ptr [RAX + 0x18],RBX
MOV RBX,qword ptr [RBP + 0x20]
MOV qword ptr [RAX + 0x20],RBX
MOV EBX,dword ptr [RBP + -0xc4]
MOV dword ptr [RAX + 0x28],EBX
MOV EBX,dword ptr [RBP + -0x90]
MOV dword ptr [RAX + 0x2c],EBX
MOV EBX,dword ptr [RBP + -0xe0]
MOV dword ptr [RAX + 0x30],EBX
MOVZX EBX,byte ptr [RBP + -0xb0]
MOV byte ptr [RAX + 0x34],BL
CALL 0x004a11e0
ADD qword ptr [0x0067dad0],0x1
JMP 0x002c2945
MOV RAX,qword ptr [RDI + 0xc8]
JMP 0x002c20fb
TEST RDI,RDI
JZ 0x002c46d8
MOV RDI,qword ptr [RBP + -0x88]
MOVSXD RCX,dword ptr [RBP + -0xc4]
XOR EDX,EDX
MOV ESI,dword ptr [RBP + -0xe0]
MOV RAX,qword ptr [RDI]
CALL qword ptr [RAX + 0x160]
JMP 0x002c2378
TEST RDI,RDI
JZ 0x002c4792
MOV RDI,qword ptr [RBP + -0x88]
MOVSXD RCX,dword ptr [RBP + -0xc4]
XOR EDX,EDX
MOV ESI,dword ptr [RBP + -0xe0]
MOV RAX,qword ptr [RDI]
CALL qword ptr [RAX + 0x160]
JMP 0x002c22ef
TEST RDI,RDI
JZ 0x002c4675
MOV RDI,qword ptr [RBP + -0x88]
MOVSXD RCX,dword ptr [RBP + -0xc4]
MOV EDX,0x2
MOV ESI,dword ptr [RBP + -0xe0]
MOV RAX,qword ptr [RDI]
CALL qword ptr [RAX + 0x160]
JMP 0x002c2178
LEA RDX,[0x55f4f8]
MOV ESI,0x2e62
LEA RDI,[0x55840b]
CALL 0x00352af0
MOV RAX,qword ptr [RBP + -0x98]
XOR R12D,R12D
MOV dword ptr [RAX],EDX
JMP 0x002c1e60
MOV EAX,dword ptr [RBP + -0xf8]
MOV R12D,dword ptr [RBP + -0xa8]
XOR R12D,EAX
AND R12D,0x3ffffff
XOR EAX,R12D
CMP byte ptr [RBP + -0xc7],0x0
MOV ECX,EAX
JZ 0x002c3c97
SHR EAX,0x1a
CMP dword ptr [RBP + -0x90],0x64
JZ 0x002c44a3
CMP dword ptr [RBP + -0x90],0x85
JZ 0x002c44c2
CMP EAX,0x3
SETZ DL
CMP EAX,0x1d
SETZ AL
OR EDX,EAX
MOV EAX,0x1d
TEST BL,BL
JNZ 0x002c3c8c
TEST DL,DL
JZ 0x002c4546
AND ECX,0x3ffffff
SHL EAX,0x1a
OR ECX,EAX
MOV RAX,qword ptr [0x0067cb08]
CMP qword ptr [RAX + 0x10],0x0
JZ 0x002c4770
TEST BL,BL
JZ 0x002c3e69
MOV RAX,qword ptr [RBP + -0x98]
XOR R12D,R12D
MOV dword ptr [RAX],ECX
JMP 0x002c1e60
XOR EAX,EAX
JMP 0x002c1793
CALL 0x00443190
XOR EAX,0x1
JMP 0x002c19ff
MOV RAX,qword ptr [RBP + -0x88]
LEA RDI,[0x558a88]
MOV RBX,qword ptr [RAX + 0x8]
CALL 0x00177320
SUB RSP,0x8
MOV R8D,R15D
MOV EDX,dword ptr [RBP + -0xa4]
PUSH RBX
MOV R9D,dword ptr [RBP + -0xe0]
MOV RCX,RAX
XOR EAX,EAX
MOV RSI,qword ptr [RBP + -0xf0]
MOV RDI,qword ptr [RBP + -0xd8]
CALL 0x0034ad90
POP RCX
POP RSI
JMP 0x002c193c
MOV EAX,R12D
XOR AX,AX
JMP 0x002c1fd0
MOV RDI,qword ptr [RAX + 0x318]
LEA RDX,[RAX + 0x310]
TEST RDI,RDI
JZ 0x002c3d91
MOV RAX,RDX
MOV ECX,dword ptr [RBP + -0xe0]
MOV ESI,dword ptr [RBP + -0x90]
JMP 0x002c3d6c
MOV RAX,RDI
MOV RDI,qword ptr [RDI + 0x10]
TEST RDI,RDI
JZ 0x002c3d77
CMP dword ptr [RDI + 0x20],ECX
JNC 0x002c3d60
MOV RDI,qword ptr [RDI + 0x18]
JMP 0x002c3d67
MOV dword ptr [RBP + -0x90],ESI
CMP RDX,RAX
JZ 0x002c3d91
MOV ECX,dword ptr [RBP + -0xe0]
CMP dword ptr [RAX + 0x20],ECX
JA 0x002c3d91
MOV RDI,qword ptr [RAX + 0x28]
LEA RSI,[RDI + 0x8]
CALL 0x00298370
MOV ECX,dword ptr [RBP + -0x90]
CMP R15D,0x64
MOV dword ptr [RBP + -0x60],EAX
SETZ AL
XOR R12D,R12D
AND ECX,0xf7
CMP ECX,0x85
JZ 0x002c3e77
MOV RCX,qword ptr [RBP + -0xc0]
MOV byte ptr [RBP + -0xc5],0x1
MOV qword ptr [RBP + 0x20],RCX
JMP 0x002c13c4
MOV dword ptr [RBP + -0x90],R10D
CMP RCX,RDX
JZ 0x002c1c10
MOV EAX,dword ptr [RBP + -0xe0]
CMP dword ptr [RDX + 0x20],EAX
JA 0x002c1c10
CMP qword ptr [RDX + 0x28],0x0
JZ 0x002c1c10
TEST R13,R13
JNZ 0x002c1c02
MOV RAX,RCX
MOV EDX,dword ptr [RBP + -0xe0]
MOV ESI,dword ptr [RBP + -0x90]
JMP 0x002c3e2c
MOV RAX,RDI
MOV RDI,qword ptr [RDI + 0x10]
TEST RDI,RDI
JZ 0x002c3e40
CMP dword ptr [RDI + 0x20],EDX
JNC 0x002c3e20
MOV RDI,qword ptr [RDI + 0x18]
JMP 0x002c3e27
MOV dword ptr [RBP + -0x90],ESI
CMP RCX,RAX
JZ 0x002c3e5a
MOV ESI,dword ptr [RBP + -0xe0]
CMP dword ptr [RAX + 0x20],ESI
JA 0x002c3e5a
MOV RDI,qword ptr [RAX + 0x28]
XOR R12D,R12D
MOV byte ptr [RBP + -0xfc],0x0
JMP 0x002c1d90
MOV RAX,qword ptr [RBP + 0x28]
XOR R12D,R12D
MOV dword ptr [RAX],ECX
JMP 0x002c1e60
MOV R13D,EAX
MOV RAX,qword ptr [RBP + -0xc0]
MOV byte ptr [RBP + -0xc5],0x1
MOV qword ptr [RBP + 0x20],RAX
JMP 0x002c13d7
MOV dword ptr [RBP + -0x90],R13D
JMP 0x002c1d90
MOVZX EAX,BL
MOV dword ptr [RBP + -0x11c],EAX
LEA RAX,[0x67dae0]
MOV RDI,qword ptr [RAX]
MOV qword ptr [RBP + -0xf8],RDI
CMP RDI,RAX
JNZ 0x002c3eed
JMP 0x002c4184
MOV RAX,qword ptr [RBP + -0xf8]
MOV RAX,qword ptr [RAX]
MOV qword ptr [RBP + -0xf8],RAX
LEA RCX,[0x67dae0]
CMP qword ptr [RBP + -0xf8],RCX
JZ 0x002c4184
MOV RAX,qword ptr [RBP + -0xf8]
MOV EDI,dword ptr [RBP + -0xe0]
CMP EDI,dword ptr [RAX + 0x30]
JNZ 0x002c3ec8
MOV EAX,dword ptr [RAX + 0x2c]
MOV ESI,dword ptr [RBP + -0x90]
MOV EDI,EAX
MOV dword ptr [RBP + -0x110],EAX
CALL 0x0028cc00
TEST AL,AL
JZ 0x002c3ec8
MOV RAX,qword ptr [RBP + -0xf8]
MOV ESI,dword ptr [RBP + -0x110]
MOV RDI,qword ptr [RAX + 0x10]
MOV RDX,qword ptr [RAX + 0x20]
MOV ECX,dword ptr [RAX + 0x28]
MOV R11,qword ptr [RAX + 0x18]
MOVZX R10D,byte ptr [RAX + 0x34]
MOV R12D,dword ptr [RAX + 0x38]
MOV qword ptr [RBP + -0x128],RDX
MOV dword ptr [RBP + -0x120],ECX
MOVZX R9D,byte ptr [RAX + 0x3c]
MOV qword ptr [RBP + -0x118],RDI
CALL 0x00293aa0
MOV ESI,dword ptr [RBP + -0x11c]
MOV R8D,R12D
MOV ECX,dword ptr [RBP + -0xa8]
MOV EAX,dword ptr [RBP + -0x110]
PUSH qword ptr [RBP + -0x98]
MOV RDX,qword ptr [RBP + -0x128]
PUSH RSI
MOV RSI,R11
PUSH qword ptr [RBP + -0xa0]
MOV RDI,qword ptr [RBP + -0x118]
PUSH RCX
PUSH R10
MOV ECX,dword ptr [RBP + -0x120]
PUSH RAX
CALL 0x002a95c0
MOV ESI,dword ptr [RBP + -0x110]
MOV R12D,EAX
ADD RSP,0x30
XOR EDX,EDX
MOV RDI,qword ptr [RBP + -0x118]
CALL 0x00293140
CMP R12D,0x1
JZ 0x002c1e60
MOV RAX,qword ptr [RBP + -0xf8]
MOV RDI,RAX
MOV R12,qword ptr [RAX]
SUB qword ptr [0x0067daf0],0x1
CALL 0x004a1200
MOV RDI,qword ptr [RBP + -0xf8]
CALL 0x0049e340
MOV qword ptr [RBP + -0xf8],R12
JMP 0x002c3ed9
LEA RAX,[0x67daa0]
MOV RSI,qword ptr [RAX]
MOV qword ptr [RBP + -0x90],RSI
CMP RSI,RAX
JNZ 0x002c4035
JMP 0x002c3346
MOV RAX,qword ptr [RBP + -0x90]
MOV RAX,qword ptr [RAX]
MOV qword ptr [RBP + -0x90],RAX
LEA RDI,[0x67daa0]
CMP qword ptr [RBP + -0x90],RDI
JZ 0x002c3346
MOV RAX,qword ptr [RBP + -0x90]
MOV ECX,dword ptr [RBP + -0xe0]
CMP ECX,dword ptr [RAX + 0x30]
JNZ 0x002c4010
MOV RSI,qword ptr [RAX + 0x10]
CMP byte ptr [RAX + 0x34],0x0
MOV EDX,dword ptr [RAX + 0x28]
MOV EDI,dword ptr [RSI]
MOV qword ptr [RBP + -0x110],RSI
MOV dword ptr [RBP + -0x100],EDI
JZ 0x002c406e
MOV EDX,dword ptr [RBP + -0xa8]
SHL EDI,0x10
ADD EDX,EDI
MOV RAX,qword ptr [RBP + -0x90]
MOV EDI,dword ptr [RAX + 0x38]
MOV RSI,qword ptr [RAX + 0x18]
MOV dword ptr [RBP + -0xf8],EDI
MOV RDI,qword ptr [RAX + 0x20]
CALL 0x001a5ac0
MOV EDX,0x8000
SUB EDX,dword ptr [RBP + -0xf8]
ADD EDX,EAX
SHR EDX,0x10
TEST BL,BL
JZ 0x002c42d8
MOV RAX,qword ptr [RBP + -0x98]
MOV dword ptr [RAX],EDX
MOV RAX,qword ptr [RBP + -0x90]
MOV RSI,qword ptr [RAX]
MOV RDI,RAX
SUB qword ptr [0x0067dab0],0x1
MOV qword ptr [RBP + -0xf8],RSI
CALL 0x004a1200
MOV RDI,qword ptr [RBP + -0x90]
CALL 0x0049e340
MOV RSI,qword ptr [RBP + -0xf8]
MOV qword ptr [RBP + -0x90],RSI
JMP 0x002c4021
TEST DL,DL
JZ 0x002c1fd0
JMP 0x002c1fd4
MOV byte ptr [RBP + -0xb0],CL
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
XOR EDX,EDX
CALL 0x001a5ac0
XOR EDX,EDX
AND EAX,0x3
CMP dword ptr [RBP + -0x90],0x4
SETZ DL
CMP EAX,EDX
JZ 0x002c38db
LEA RDI,[0x5589b8]
CALL 0x00177320
MOV RDI,RAX
XOR EAX,EAX
CALL 0x0034a800
MOV R12D,0x2
JMP 0x002c1e60
MOV RAX,qword ptr [RBP + 0x28]
MOV dword ptr [RAX],R12D
XOR R12D,R12D
JMP 0x002c1e60
MOV dword ptr [RBP + -0x110],0x2
MOV EDI,dword ptr [RBP + -0xa8]
MOV EDX,EDI
AND EDX,0xfffffff
AND EDI,0x8000000
LEA EAX,[RDX + -0x10000000]
CMOVNZ EDX,EAX
JMP 0x002c3505
MOV RAX,qword ptr [0x0067dac0]
LEA RCX,[0x67dac0]
MOV qword ptr [RBP + -0xf8],RAX
CMP RAX,RCX
JNZ 0x002c41cd
JMP 0x002c3622
MOV RAX,qword ptr [RBP + -0xf8]
MOV RAX,qword ptr [RAX]
MOV qword ptr [RBP + -0xf8],RAX
LEA RCX,[0x67dac0]
CMP qword ptr [RBP + -0xf8],RCX
JZ 0x002c3622
MOV RAX,qword ptr [RBP + -0xf8]
MOV EDI,dword ptr [RBP + -0xe0]
CMP EDI,dword ptr [RAX + 0x30]
JNZ 0x002c41a8
MOV EAX,dword ptr [RAX + 0x2c]
MOV ESI,dword ptr [RBP + -0x90]
MOV EDI,EAX
MOV dword ptr [RBP + -0x110],EAX
CALL 0x0028cc00
TEST AL,AL
JZ 0x002c41a8
MOV RAX,qword ptr [RBP + -0xf8]
MOV ESI,dword ptr [RBP + -0x110]
MOV RDI,qword ptr [RAX + 0x10]
MOV ECX,dword ptr [RAX + 0x28]
MOV R10,qword ptr [RAX + 0x18]
MOV R12,qword ptr [RAX + 0x20]
MOV dword ptr [RBP + -0x120],ECX
MOVZX R11D,byte ptr [RAX + 0x34]
MOV qword ptr [RBP + -0x118],RDI
CALL 0x00293aa0
MOV ECX,dword ptr [RBP + -0x11c]
SUB RSP,0x8
PUSH qword ptr [RBP + -0x98]
MOV R9D,dword ptr [RBP + -0xa8]
MOVZX R8D,R11B
MOV RDX,R12
MOV RSI,R10
PUSH RCX
MOV RDI,qword ptr [RBP + -0x118]
PUSH qword ptr [RBP + -0xa0]
MOV ECX,dword ptr [RBP + -0x120]
CALL 0x002c0e50
MOV ESI,dword ptr [RBP + -0x110]
MOV R12D,EAX
ADD RSP,0x20
XOR EDX,EDX
MOV RDI,qword ptr [RBP + -0x118]
CALL 0x00293140
CMP R12D,0x1
JZ 0x002c1e60
MOV RAX,qword ptr [RBP + -0xf8]
MOV RDI,RAX
MOV R12,qword ptr [RAX]
SUB qword ptr [0x0067dad0],0x1
CALL 0x004a1200
MOV RDI,qword ptr [RBP + -0xf8]
CALL 0x0049e340
MOV qword ptr [RBP + -0xf8],R12
JMP 0x002c41b9
MOV EDX,dword ptr [RBP + -0xa8]
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
CALL 0x001a5ac0
JMP 0x002c36b0
MOV EAX,dword ptr [RBP + -0x100]
XOR AX,AX
OR EDX,EAX
MOV RAX,qword ptr [RBP + -0x110]
MOV dword ptr [RAX],EDX
JMP 0x002c40ac
MOV RBX,qword ptr [RBP + 0x28]
XOR R12D,R12D
MOV dword ptr [RBX],EAX
JMP 0x002c28c0
MOV RAX,qword ptr [RBP + 0x28]
MOV EDX,dword ptr [RAX]
JMP 0x002c289c
MOV RDI,qword ptr [R14 + 0x70]
JMP 0x002c3d91
MOV dword ptr [RBP + -0x110],0x1
MOV EAX,0xf8000000
JMP 0x002c34f1
TEST RAX,RAX
JZ 0x002c456f
MOV RCX,qword ptr [RBP + -0xa0]
MOV EAX,dword ptr [RAX + 0x40]
MOV RDX,qword ptr [RCX + 0x20]
TEST RDX,RDX
JZ 0x002c4366
CMP qword ptr [RDX + 0xd0],0x0
JZ 0x002c4366
MOV RSI,qword ptr [RBP + -0x88]
MOV RDX,qword ptr [RSI + 0x370]
TEST RDX,RDX
JZ 0x002c4366
ADD EAX,dword ptr [RDX + 0x10c]
MOV EDX,dword ptr [RBP + 0x30]
AND EDX,0xfffffffc
SUB EAX,EDX
JMP 0x002c36aa
TEST RAX,RAX
JZ 0x002c4561
MOV RCX,qword ptr [RBP + -0xa0]
MOV EAX,dword ptr [RAX + 0x40]
MOV RDX,qword ptr [RCX + 0x20]
TEST RDX,RDX
JZ 0x002c43b2
CMP qword ptr [RDX + 0xd0],0x0
JZ 0x002c43b2
MOV RCX,qword ptr [RBP + -0x88]
MOV RDX,qword ptr [RCX + 0x370]
TEST RDX,RDX
JZ 0x002c43b2
ADD EAX,dword ptr [RDX + 0x10c]
SUB EAX,dword ptr [RBP + 0x30]
ADD EAX,0x3
JMP 0x002c36aa
MOVZX EAX,byte ptr [RBP + -0xb0]
MOVZX EBX,BL
MOV R8D,dword ptr [RBP + 0x30]
PUSH qword ptr [RBP + -0x98]
MOV R9D,dword ptr [RBP + -0xfc]
PUSH RBX
MOV ECX,dword ptr [RBP + -0xc4]
PUSH qword ptr [RBP + -0xa0]
MOV RDX,qword ptr [RBP + 0x20]
PUSH 0x0
AND R9D,0x1
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x28]
PUSH RAX
MOV EAX,dword ptr [RBP + -0x90]
PUSH RAX
CALL 0x002a95c0
MOV R12D,EAX
ADD RSP,0x30
JMP 0x002c1e60
MOV RAX,qword ptr [RBP + 0x28]
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x20]
MOV EAX,dword ptr [RAX]
MOV EDX,EAX
MOV R12D,EAX
SHL EDX,0x10
CMP byte ptr [RBP + -0xb0],0x0
CMOVZ EDX,dword ptr [RBP + -0xc4]
CALL 0x001a5ac0
SUB EAX,dword ptr [RBP + 0x30]
ADD EAX,0x8000
SHR EAX,0x10
MOV EDX,EAX
TEST BL,BL
JNZ 0x002c3c10
MOV EAX,R12D
MOV RBX,qword ptr [RBP + 0x28]
XOR R12D,R12D
XOR AX,AX
OR EAX,EDX
MOV dword ptr [RBX],EAX
JMP 0x002c1e60
MOV dword ptr [RBP + -0x90],0x0
JMP 0x002c2653
ADD EAX,EAX
AND EAX,0x7fffffe
MOV dword ptr [RBP + -0xa8],EAX
JMP 0x002c38d3
LEA EAX,[R12*0x4]
AND EAX,0x1fc
MOV dword ptr [RBP + -0xa8],EAX
JMP 0x002c378b
SUB EAX,0x6
CMP EAX,0x1
MOV EAX,0x7
SETBE DL
JMP 0x002c3c80
MOV RDI,qword ptr [RDX + 0xc8]
JMP 0x002c3a2e
SUB EAX,0x3c
CMP EAX,0x1
MOV EAX,0x3c
SETBE DL
JMP 0x002c3c80
MOV dword ptr [RBP + -0xf8],0x0
JMP 0x002c3751
MOV RAX,qword ptr [RBP + 0x28]
MOV byte ptr [RBP + -0xb0],0x0
MOV dword ptr [RBP + -0xf8],0x0
MOV R12D,dword ptr [RAX]
JMP 0x002c378b
SUB RSP,0x8
MOVZX EBX,BL
PUSH qword ptr [RBP + -0x98]
XOR R9D,R9D
MOVZX R8D,byte ptr [RBP + -0xb0]
PUSH RBX
MOV ECX,dword ptr [RBP + -0xc4]
PUSH qword ptr [RBP + -0xa0]
MOV RDX,qword ptr [RBP + 0x20]
MOV RSI,qword ptr [RBP + -0x88]
MOV RDI,qword ptr [RBP + 0x28]
CALL 0x002c0e50
MOV R12D,EAX
ADD RSP,0x20
JMP 0x002c2945
LEA RDI,[0x5589e0]
CALL 0x00177320
MOV RDI,RAX
XOR EAX,EAX
CALL 0x0034a750
JMP 0x002c413e
XOR EAX,EAX
JMP 0x002c43b2
XOR EAX,EAX
JMP 0x002c36a4
XOR EAX,EAX
JMP 0x002c4366
LEA RDX,[0x55f4f8]
MOV ESI,0x3035
LEA RDI,[0x55840b]
CALL 0x00352af0
CALL 0x00291e90
LEA RDX,[0x55f430]
MOV ESI,0x723
LEA RDI,[0x55840b]
CALL 0x00352af0
CALL 0x00290d40
CALL 0x00291e90
LEA RDX,[0x55f3e0]
MOV ESI,0x9ed
LEA RDI,[0x55840b]
CALL 0x00352af0
CALL 0x00290920
LEA RAX,[RBP + -0x70]
LEA RDX,[0x55f4c0]
MOV ESI,0x668
LEA RDI,[0x55840b]
MOV qword ptr [RBP + -0xc0],RAX
CALL 0x00352af0
LEA RAX,[RBP + -0x70]
LEA RDX,[0x55f4e0]
MOV ESI,0x65f
LEA RDI,[0x55840b]
MOV qword ptr [RBP + -0xc0],RAX
CALL 0x00352af0
CALL 0x00290e30
LEA RDX,[0x55f330]
MOV ESI,0x895
LEA RDI,[0x55840b]
CALL 0x00352af0
CALL 0x00290940
CALL 0x00290940
CALL 0x00293350
CALL 0x00290920
CALL 0x00291e90
CALL 0x002908e0
LEA RDX,[0x55f4f8]
MOV ESI,0x2eda
LEA RDI,[0x55840b]
CALL 0x00352af0
CALL 0x00290940
CALL 0x00291e90
CALL 0x00290940
LEA RDX,[0x55f4f8]
MOV ESI,0x2f3d
LEA RDI,[0x55840b]
CALL 0x00352af0
TEST R12B,R12B
JNZ 0x002c1304
JMP 0x002c1d89
CALL 0x00291e90
CALL 0x00290900
MOV EAX,dword ptr [RBP + -0xc4]
MOV dword ptr [RBP + -0xa8],EAX
JMP 0x002c359b
LEA RDX,[0x55f358]
MOV ESI,0x86a
LEA RDI,[0x55840b]
CALL 0x00352af0
CALL 0x00290900
CALL 0x00290940
CALL 0x00290d40
CALL 0x00291e90
CALL 0x00290920
LEA RDX,[0x55f4f8]
MOV ESI,0x2e88
LEA RDI,[0x55840b]
CALL 0x00352af0
LEA RDX,[0x55f4f8]
MOV ESI,0x2f66
LEA RDI,[0x55840b]
CALL 0x00352af0
CALL 0x00290940
CALL 0x00290940
CALL 0x00290940
CALL 0x00290940
CALL 0x00290940
CALL 0x00290940
CALL 0x00290940
LEA RDX,[0x55f4f8]
MOV ESI,0x2e46
LEA RDI,[0x55840b]
CALL 0x00352af0
CALL 0x00290940
CALL 0x00290940
CALL 0x00293350
CALL 0x00290940
CALL 0x00290940
CALL 0x002932f0
LEA RDX,[0x55f4f8]
MOV ESI,0x2d5f
LEA RDI,[0x55840b]
CALL 0x00352af0
CALL 0x00290940
CALL 0x00290940
CALL 0x00290940
CALL 0x00290940
CALL 0x00290940
CALL 0x00290940
MOV R15,RAX
JMP 0x0017eb9a
(translation_unit "/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nundefined8\nFUN_002c1090(ulong *param_1,long param_2,int param_3,long param_4,undefined8 param_5,long param_6,\n            int *param_7,undefined8 *param_8,undefined8 *param_9,ulong *param_10,uint param_11)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  long *plVar6;\n  int *piVar7;\n  ulong uVar8;\n  uint *puVar9;\n  undefined8 *puVar10;\n  char cVar11;\n  undefined1 *puVar12;\n  byte bVar13;\n  byte bVar14;\n  char cVar15;\n  char cVar16;\n  uint uVar17;\n  uint uVar18;\n  undefined4 uVar19;\n  uint uVar20;\n  int iVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  ulong uVar24;\n  long lVar25;\n  long *plVar26;\n  long *plVar27;\n  long *plVar28;\n  long *plVar29;\n  ushort uVar30;\n  long lVar31;\n  int extraout_EDX;\n  ulong uVar32;\n  uint uVar33;\n  ulong *puVar34;\n  int iVar35;\n  uint uVar36;\n  byte *pbVar37;\n  byte *pbVar38;\n  char *pcVar39;\n  long *plVar40;\n  undefined8 uVar41;\n  byte bVar42;\n  uint *unaff_R13;\n  ulong uVar43;\n  uint uVar44;\n  bool bVar45;\n  bool bVar46;\n  byte bVar47;\n  bool bVar48;\n  bool bVar49;\n  sbyte local_118;\n  uint local_108;\n  undefined8 *local_100;\n  uint local_f0;\n  byte local_e8;\n  uint local_e4;\n  uint *local_d8;\n  byte local_cf;\n  byte local_ce;\n  bool local_cd;\n  uint local_cc;\n  undefined8 *local_c8;\n  int local_bc;\n  ulong local_b8;\n  uint local_b0;\n  undefined8 *local_98;\n  uint local_84;\n  undefined4 uStack_80;\n  undefined4 uStack_7c;\n  undefined8 local_78;\n  undefined4 local_70;\n  uint local_68;\n  undefined1 *local_58 [2];\n  undefined1 auStack_48 [24];\n  \n  bVar42 = 0;\n  uVar18 = param_7[1];\n  uVar32 = (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x14) /\n           (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x24);\n  iVar3 = *param_7;\n  uVar44 = uVar18 & 0xff;\n  uVar33 = uVar18 >> 8;\n  if (param_3 == 4) {\n    cVar11 = '\0';\n    local_cc = param_7[2];\n    local_bc = -1;\n    if (param_6 + 1U < uVar32) {\n      local_bc = param_7[3];\n      cVar11 = (char)param_7[4];\n    }\n  }\n  else if (param_6 + 1U < uVar32) {\n    local_cc = 0;\n    local_bc = param_7[2];\n    cVar11 = (char)param_7[3];\n  }\n  else {\n    cVar11 = '\0';\n    local_bc = -1;\n    local_cc = 0;\n  }\n  local_70 = 0x80000000;\n  local_68 = 0;\n  plVar6 = *(long **)(param_2 + 0x10);\n  local_78 = 0xffffffff00000000;\n  if (param_8 == (undefined8 *)0x0) {\n    if (((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46) <= (ulong)uVar33) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");\n    }\n    local_e8 = (byte)(uVar18 >> 8);\n    uVar24 = 1L << (local_e8 & 0x3f);\n    uVar32 = *(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8);\n    local_b8 = plVar6[0x4c];\n    uVar43 = uVar24 & uVar32;\n    bVar47 = uVar43 != 0;\n    if (((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b) <= (ulong)uVar33) {\nLAB_002c45d2:\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");\n    }\n    uVar8 = *(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8);\n    bVar14 = (uVar24 & uVar8) != 0;\n    local_cd = ((uVar32 | uVar8) & uVar24) != 0;\n    if (local_cd) {\n                    /* try { // try from 002c2e1b to 002c47aa has its CatchHandler @ 002c47bb */\n      local_68 = FUN_001a5ac0(param_9,plVar6,1);\n      param_9 = &local_78;\n    }\n    if (uVar44 == 100) {\n      plVar27 = (long *)plVar6[0x69];\n      plVar40 = plVar6 + 0x68;\n      plVar29 = plVar27;\n      plVar28 = plVar40;\n      if (plVar27 == (long *)0x0) goto LAB_002c1c10;\n      do {\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      } while (plVar26 != (long *)0x0);\n      if (((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))\n      goto LAB_002c1c10;\n      plVar29 = plVar40;\n      if (uVar43 != 0) {\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }\n      do {\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      } while (plVar27 != (long *)0x0);\n      lVar31 = 0;\n      if ((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)) {\n        lVar31 = plVar28[5];\n      }\n      bVar47 = 0;\n      cVar15 = '\0';\n      goto LAB_002c1d90;\n    }\n    plVar40 = (long *)plVar6[99];\n    plVar27 = plVar6 + 0x62;\n    if ((long *)plVar6[99] != (long *)0x0) {\n      do {\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      } while ((long *)plVar29[2] != (long *)0x0);\nLAB_002c2b6a:\n      if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;\n      goto LAB_002c15fe;\n    }\nLAB_002c1c10:\n    cVar15 = '\0';\nLAB_002c1c17:\n    bVar45 = uVar44 == 100;\nLAB_002c13a0:\n    bVar42 = bVar14 & bVar45;\n    bVar48 = (bool)bVar42;\n    if ((bool)bVar42 == false) {\nLAB_002c13ac:\n      bVar48 = bVar45;\n      if ((uVar18 & 0xf7) == 0x85) {\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }\n    }\n    else {\nLAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");\n      FUN_0034a750(uVar22);\n      bVar14 = bVar42;\n    }\nLAB_002c13d7:\n    if (param_8 != (undefined8 *)0x0) goto LAB_002c16b8;\n    local_cf = (bVar47 ^ 1) & bVar48;\n    local_ce = local_cf;\n    if (local_cf != 0) goto LAB_002c1402;\n    local_cf = (bVar14 ^ 1) & uVar44 == 0x85;\n    if (local_cf == 0) goto LAB_002c1bcf;\n    local_84 = 0x85;\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_f0 = 0x21;\n    local_b8 = (ulong)(param_3 == 9);\n    local_ce = local_cf;\nLAB_002c1d4a:\n    if (1 < local_84 - 0x8b) {\n      uVar17 = (uint)(ushort)*param_10;\n      uVar18 = (uint)*(ushort *)((long)param_10 + 2);\nLAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;\nLAB_002c1467:\n      *(uint *)param_10 = uVar18;\n    }\n  }\n  else {\n    bVar14 = *(byte *)((long)param_8 + 0x39) >> 2;\n    bVar47 = (bVar14 & 0x3c) == 0x3c;\n    bVar14 = (bVar14 & 0x30) == 0x20;\n    local_cd = (bool)bVar47 || (bool)bVar14;\n    if (((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)) {\n      local_68 = FUN_001a5ac0(param_9,plVar6,0);\n      local_68 = local_68 | 1;\n      param_9 = &local_78;\n    }\n    else {\n      local_cd = false;\n    }\n    local_c8 = &local_78;\n    iVar35 = 0;\n    if (uVar44 - 1 < 0xf9) {\n      iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];\n    }\n                    /* try { // try from 002c11cb to 002c1a28 has its CatchHandler @ 002c47bb */\n    cVar15 = FUN_00228fa0(param_8,iVar35);\n    if (cVar15 == '\0') {\n      bVar45 = false;\n      bVar48 = *(char *)((long)param_8 + 0x65) == '\0';\n      if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }\n    }\n    else {\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }\n    lVar31 = 9;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"_gp_disp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar45 = *pbVar37 < *pbVar38;\n      bVar48 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar48);\n    lVar31 = 0xf;\n    bVar48 = !bVar45 && !bVar48;\n    bVar46 = bVar48 < bVar45;\n    bVar49 = bVar48 == bVar45;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"__gnu_local_gp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar46 = *pbVar37 < *pbVar38;\n      bVar49 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar49);\n    if (bVar48 != bVar45) {\n      if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }\nLAB_002c15d8:\n      cVar15 = '\0';\n      if (uVar44 != 100) goto LAB_002c15e9;\nLAB_002c12e3:\n      lVar25 = param_8[0xf];\n      if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = true;\nLAB_002c1320:\n      local_c8 = &local_78;\n      if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }\n      goto LAB_002c13a0;\n    }\n    local_b8 = (ulong)*(byte *)((long)plVar6 + 0x36c);\n    bVar42 = *(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1;\n    if ((!bVar46 && !bVar49) == bVar46) {\n      if (bVar42 == 0) goto LAB_002c1750;\n    }\n    else if (bVar42 == 0) goto LAB_002c15d8;\n    if ((((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40)) {\n      uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n    }\n    cVar15 = '\x01';\n    if (uVar44 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    if (param_8[0xe] == 0) {\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    if ((uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0')) {\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = false;\n      goto LAB_002c13ac;\n    }\nLAB_002c15fe:\n    local_c8 = &local_78;\n    uVar17 = *(uint *)(param_2 + 0x30);\n    unaff_R13 = (uint *)(ulong)uVar17;\n    cVar16 = FUN_002972f0(plVar6,unaff_R13);\n    if ((cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e))) {\n      if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }\n    if (param_8 == (undefined8 *)0x0) {\n      plVar40 = (long *)plVar6[99];\n      plVar27 = plVar6 + 0x62;\n      if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }\nLAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);\n      bVar48 = uVar44 == 100;\n      bVar47 = 0;\n      if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }\n      param_9 = local_c8;\n      local_cd = true;\n      goto LAB_002c13d7;\n    }\n    if (*(char *)(param_8 + 9) == '\0') {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");\n    }\n    if (*(int *)((long)param_8 + 0x4c) == -1) {\n      plVar40 = (long *)param_8[0xe];\n      goto LAB_002c3d91;\n    }\n    lVar31 = *(long *)(param_4 + 0x98);\n    if (lVar31 == 0) {\n      FUN_00290900();\nLAB_002c46d8:\n      FUN_00290940();\n      goto LAB_002c46dd;\n    }\n    local_cd = (bool)(*(byte *)(lVar31 + 0x20) & 1);\n    if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c4670:\n                    /* WARNING: Subroutine does not return */\n      FUN_00291e90();\n    }\n    bVar48 = uVar44 == 100;\n    local_68 = *(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8);\n    bVar47 = 0;\n    if ((uVar18 & 0xf7) != 0x85) {\n      param_9 = local_c8;\n      goto LAB_002c13c4;\n    }\n    param_9 = local_c8;\nLAB_002c16b8:\n    cVar16 = FUN_002e7200(param_8);\n    if (cVar16 == '\0') {\n      local_cf = (bVar47 ^ 1) & bVar48;\n      if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    else {\n      local_cf = 0;\n    }\n    if (*(char *)((long)param_8 + 100) != '\0') {\n      local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n      if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar44 - 100;\n      uVar32 = (ulong)(uVar44 - 0x85);\n      local_b8 = (ulong)(param_3 == 9);\n      uStack_80 = 0;\n      uStack_7c = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar30 = (ushort)*param_10;\n      uVar17 = (uint)uVar30;\n      uVar2 = *(ushort *)((long)param_10 + 2);\n      uVar18 = (uint)uVar2;\n      local_84 = uVar44;\n      if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0);\n    if ((local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    if (uVar44 - 0x85 < 0x29) {\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_ce = 0;\n    local_b8 = (ulong)(param_3 == 9);\nLAB_002c1b2f:\n    local_84 = uVar44;\n    if (((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;\n  }\n  uStack_80 = 0;\n  uStack_7c = 0;\n  unaff_R13 = &local_84;\n  uVar17 = 0;\n  local_e4 = 0;\n  local_d8 = (uint *)&local_78;\n  uVar44 = local_84;\n  uVar18 = local_84;\n  while (local_c8 = &local_78, uVar18 != 0) {\n    bVar45 = local_bc == iVar3;\n    bVar48 = cVar11 != '\0';\n    bVar14 = bVar45 && bVar48;\n    puVar34 = param_1;\n    if (*(char *)((long)param_1 + 4) == '\0') {\n      *(byte *)((long)param_1 + 4) = bVar14;\n      switch(uVar18) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }\n    }\n    local_cc = (uint)*param_1;\n    *(byte *)((long)param_1 + 4) = bVar14;\n    local_b0 = local_cc;\n    switch(uVar18) {\n    default:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);\n      break;\n    case 1:\n      local_b8 = 0;\n      local_b0 = local_cc;\nLAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar14 != 0) goto LAB_002c1f30;\n      *(ushort *)param_10 = (ushort)uVar36;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);\n      if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }\n      if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }\n      break;\n    case 3:\nswitchD_002c14fa_caseD_3:\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");\n    case 4:\n    case 100:\n    case 0x85:\n      local_b8 = 0;\n      bVar42 = (!bVar45 || !bVar48) & local_cf;\n      uVar17 = (uint)*param_10;\n      goto LAB_002c38d3;\n    case 5:\n    case 0x68:\n    case 0x86:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }\n      break;\n    case 6:\n    case 0x69:\n    case 0x87:\n    case 0x9d:\n      local_b8 = 0;\n      local_108 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }\n      if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\nLAB_002c1ebf:\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;\n      break;\n    case 7:\n    case 8:\n    case 0x65:\n    case 0x88:\n    case 0x89:\n    case 0xac:\n      lVar31 = *(long *)(param_4 + 0x28);\n      if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }\n      local_b8 = 0;\n      iVar35 = 0;\n      uVar17 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar21 - iVar35;\n      if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }\n      uVar20 = (uVar36 ^ uVar17) & 0xffff;\n      if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar17 ^ uVar20;\n      if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }\n      goto LAB_002c1fd6;\n    case 9:\n    case 0x66:\n    case 0x8a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case 10:\n      local_b8 = 0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }\n      break;\n    case 0xb:\n    case 0x67:\n    case 0x8e:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;\n    case 0xc:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);\n      goto joined_r0x002c327b;\n    case 0x12:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);\n      if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }\n      break;\n    case 0x13:\n    case 0x91:\n    case 0xf9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }\n      if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }\n      local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n      if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }\n      if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;\n      goto LAB_002c1fd4;\n    case 0x14:\n    case 0x92:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) goto LAB_002c4726;\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }\n      if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }\n      uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);\n      if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;\n      goto LAB_002c2590;\n    case 0x15:\n    case 0x93:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;\n      local_b0 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }\n      if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }\n      break;\n    case 0x16:\n    case 0x1e:\n    case 0x94:\n    case 0x99:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }\n      goto LAB_002c46d8;\n    case 0x17:\n    case 0x1f:\n    case 0x95:\n    case 0x9a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }\nLAB_002c4792:\n      FUN_00290940();\nLAB_002c4797:\n      FUN_00290940();\nLAB_002c479c:\n      FUN_00290940();\nLAB_002c47a1:\n      FUN_00290940();\nLAB_002c47a6:\n      FUN_00290940();\n                    /* catch() { ... } // from try @ 002c1a5e with catch @ 002c47ab */\n      uVar22 = FUN_0017eb9a();\n      return uVar22;\n    case 0x18:\n    case 0x96:\n      local_b8 = 0;\nLAB_002c2efa:\n      uVar18 = -local_b0;\nLAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      if (bVar14 != '\0') goto LAB_002c1f30;\n      uVar17 = 0;\n      *param_10 = (ulong)uVar36;\n      break;\n    case 0x1c:\n    case 0x97:\n      local_b8 = 0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }\n      uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);\n      goto joined_r0x002c1f7e;\n    case 0x1d:\n    case 0x98:\n      local_b8 = 0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar36 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }\n      FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }\n      uVar36 = uVar36 & 0xffff0000;\n      goto LAB_002c1fd0;\n    case 0x25:\n    case 0x9c:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }\n      uVar17 = (uint)*param_10;\n      uVar36 = uVar17;\n      if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }\n      if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }\n      break;\n    case 0x27:\n    case 0x29:\n      goto switchD_002c14fa_caseD_27;\n    case 0x2a:\n    case 0x6a:\n    case 0xa2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }\n      FUN_00290940();\nswitchD_002c14fa_caseD_27:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_27:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      goto joined_r0x002c327b;\n    case 0x2b:\n    case 0x6b:\n    case 0xa3:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }\n      if (lVar25 == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }\n      local_e4 = *(uint *)(lVar25 + 0x14);\n      uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\nLAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;\n      uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;\nLAB_002c2590:\n      *(uint *)param_10 = uVar18;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 0x2c:\n    case 0x6c:\n    case 0xa4:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      goto LAB_002c1f79;\n    case 0x2d:\n    case 0x6d:\n    case 0xa5:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x2e:\n    case 0x6e:\n    case 0xa6:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) goto LAB_002c2030;\n      goto LAB_002c47a1;\n    case 0x2f:\n    case 0x30:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    case 0x31:\n    case 0x6f:\n    case 0xa9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      uVar36 = iVar35 + 0x1000;\nLAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;\njoined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;\n      break;\n    case 0x32:\n    case 0x70:\n    case 0xaa:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x3c:\n      local_b8 = 0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }\n      break;\n    case 0x3d:\n      local_b8 = 0;\nLAB_002c304d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }\n      break;\n    case 0x3e:\n      local_b8 = 0;\nLAB_002c3104:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - (param_11 & 0xfffffff8);\n      uVar36 = uVar20 >> 3;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar32 = uVar32 & 7;\njoined_r0x002c324e:\n      uVar17 = 3;\n      if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }\n      break;\n    case 0x3f:\n      local_b8 = 0;\nLAB_002c31c0:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - param_11;\n      uVar36 = uVar20 >> 2;\n      if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }\nLAB_002c1f30:\n      uVar17 = 0;\n      *(uint *)param_1 = uVar36;\n      break;\n    case 0x40:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case 0x41:\n      local_b8 = 0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }\n      if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      break;\n    case 0x8b:\n      local_b8 = 0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }\n      break;\n    case 0x8c:\n      local_b8 = 0;\nLAB_002c328d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;\n      uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);\n      break;\n    case 0x8d:\n      local_b8 = 0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);\n      break;\n    case 0xf8:\n      local_b8 = 0;\nLAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\njoined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;\nLAB_002c1fd0:\n      puVar34 = param_10;\nLAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;\nLAB_002c1fd6:\n      uVar17 = 0;\n    }\nLAB_002c1e60:\n    unaff_R13 = unaff_R13 + 1;\n    if (local_d8 == unaff_R13) break;\n    uVar18 = *unaff_R13;\n  }\n  local_c8 = &local_78;\n  uVar18 = uVar44 - 0x85;\n  if (local_f0 < 0xd) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    if (uVar18 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)) {\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(ushort *)((long)param_10 + 2) = (ushort)uVar36;\n    *(ushort *)param_10 = uVar30;\n  }\n  else if (((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)) &&\n          (1 < uVar44 - 0x8b)) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    goto LAB_002c19bf;\n  }\n  if (uVar17 == 1) {\n    if (param_8 == (undefined8 *)0x0) {\n      lVar31 = plVar6[1];\n      uVar22 = gettext("relocation overflow: %u against local symbol %u in %s");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31);\n    }\n    else {\n      if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }\n      if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    /* try { // try from 002c2bde to 002c2be2 has its CatchHandler @ 002c47b3 */\n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    /* try { // try from 002c1a5e to 002c1a62 has its CatchHandler @ 002c47ab */\n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      FUN_0049e340();\n    }\n  }\n  else if (uVar17 != 0) {\n    if (uVar17 == 2) {\n      pcVar39 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (uVar17 != 3) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }\n    uVar22 = gettext(pcVar39);\n    FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n  }\nLAB_002c193c:\n  FUN_001a5bc0(local_c8);\n  return 1;\n}\n\n" comment (function_definition "undefined8\nFUN_002c1090(ulong *param_1,long param_2,int param_3,long param_4,undefined8 param_5,long param_6,\n            int *param_7,undefined8 *param_8,undefined8 *param_9,ulong *param_10,uint param_11)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  long *plVar6;\n  int *piVar7;\n  ulong uVar8;\n  uint *puVar9;\n  undefined8 *puVar10;\n  char cVar11;\n  undefined1 *puVar12;\n  byte bVar13;\n  byte bVar14;\n  char cVar15;\n  char cVar16;\n  uint uVar17;\n  uint uVar18;\n  undefined4 uVar19;\n  uint uVar20;\n  int iVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  ulong uVar24;\n  long lVar25;\n  long *plVar26;\n  long *plVar27;\n  long *plVar28;\n  long *plVar29;\n  ushort uVar30;\n  long lVar31;\n  int extraout_EDX;\n  ulong uVar32;\n  uint uVar33;\n  ulong *puVar34;\n  int iVar35;\n  uint uVar36;\n  byte *pbVar37;\n  byte *pbVar38;\n  char *pcVar39;\n  long *plVar40;\n  undefined8 uVar41;\n  byte bVar42;\n  uint *unaff_R13;\n  ulong uVar43;\n  uint uVar44;\n  bool bVar45;\n  bool bVar46;\n  byte bVar47;\n  bool bVar48;\n  bool bVar49;\n  sbyte local_118;\n  uint local_108;\n  undefined8 *local_100;\n  uint local_f0;\n  byte local_e8;\n  uint local_e4;\n  uint *local_d8;\n  byte local_cf;\n  byte local_ce;\n  bool local_cd;\n  uint local_cc;\n  undefined8 *local_c8;\n  int local_bc;\n  ulong local_b8;\n  uint local_b0;\n  undefined8 *local_98;\n  uint local_84;\n  undefined4 uStack_80;\n  undefined4 uStack_7c;\n  undefined8 local_78;\n  undefined4 local_70;\n  uint local_68;\n  undefined1 *local_58 [2];\n  undefined1 auStack_48 [24];\n  \n  bVar42 = 0;\n  uVar18 = param_7[1];\n  uVar32 = (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x14) /\n           (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x24);\n  iVar3 = *param_7;\n  uVar44 = uVar18 & 0xff;\n  uVar33 = uVar18 >> 8;\n  if (param_3 == 4) {\n    cVar11 = '\0';\n    local_cc = param_7[2];\n    local_bc = -1;\n    if (param_6 + 1U < uVar32) {\n      local_bc = param_7[3];\n      cVar11 = (char)param_7[4];\n    }\n  }\n  else if (param_6 + 1U < uVar32) {\n    local_cc = 0;\n    local_bc = param_7[2];\n    cVar11 = (char)param_7[3];\n  }\n  else {\n    cVar11 = '\0';\n    local_bc = -1;\n    local_cc = 0;\n  }\n  local_70 = 0x80000000;\n  local_68 = 0;\n  plVar6 = *(long **)(param_2 + 0x10);\n  local_78 = 0xffffffff00000000;\n  if (param_8 == (undefined8 *)0x0) {\n    if (((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46) <= (ulong)uVar33) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");\n    }\n    local_e8 = (byte)(uVar18 >> 8);\n    uVar24 = 1L << (local_e8 & 0x3f);\n    uVar32 = *(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8);\n    local_b8 = plVar6[0x4c];\n    uVar43 = uVar24 & uVar32;\n    bVar47 = uVar43 != 0;\n    if (((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b) <= (ulong)uVar33) {\nLAB_002c45d2:\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");\n    }\n    uVar8 = *(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8);\n    bVar14 = (uVar24 & uVar8) != 0;\n    local_cd = ((uVar32 | uVar8) & uVar24) != 0;\n    if (local_cd) {\n                    /* try { // try from 002c2e1b to 002c47aa has its CatchHandler @ 002c47bb */\n      local_68 = FUN_001a5ac0(param_9,plVar6,1);\n      param_9 = &local_78;\n    }\n    if (uVar44 == 100) {\n      plVar27 = (long *)plVar6[0x69];\n      plVar40 = plVar6 + 0x68;\n      plVar29 = plVar27;\n      plVar28 = plVar40;\n      if (plVar27 == (long *)0x0) goto LAB_002c1c10;\n      do {\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      } while (plVar26 != (long *)0x0);\n      if (((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))\n      goto LAB_002c1c10;\n      plVar29 = plVar40;\n      if (uVar43 != 0) {\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }\n      do {\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      } while (plVar27 != (long *)0x0);\n      lVar31 = 0;\n      if ((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)) {\n        lVar31 = plVar28[5];\n      }\n      bVar47 = 0;\n      cVar15 = '\0';\n      goto LAB_002c1d90;\n    }\n    plVar40 = (long *)plVar6[99];\n    plVar27 = plVar6 + 0x62;\n    if ((long *)plVar6[99] != (long *)0x0) {\n      do {\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      } while ((long *)plVar29[2] != (long *)0x0);\nLAB_002c2b6a:\n      if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;\n      goto LAB_002c15fe;\n    }\nLAB_002c1c10:\n    cVar15 = '\0';\nLAB_002c1c17:\n    bVar45 = uVar44 == 100;\nLAB_002c13a0:\n    bVar42 = bVar14 & bVar45;\n    bVar48 = (bool)bVar42;\n    if ((bool)bVar42 == false) {\nLAB_002c13ac:\n      bVar48 = bVar45;\n      if ((uVar18 & 0xf7) == 0x85) {\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }\n    }\n    else {\nLAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");\n      FUN_0034a750(uVar22);\n      bVar14 = bVar42;\n    }\nLAB_002c13d7:\n    if (param_8 != (undefined8 *)0x0) goto LAB_002c16b8;\n    local_cf = (bVar47 ^ 1) & bVar48;\n    local_ce = local_cf;\n    if (local_cf != 0) goto LAB_002c1402;\n    local_cf = (bVar14 ^ 1) & uVar44 == 0x85;\n    if (local_cf == 0) goto LAB_002c1bcf;\n    local_84 = 0x85;\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_f0 = 0x21;\n    local_b8 = (ulong)(param_3 == 9);\n    local_ce = local_cf;\nLAB_002c1d4a:\n    if (1 < local_84 - 0x8b) {\n      uVar17 = (uint)(ushort)*param_10;\n      uVar18 = (uint)*(ushort *)((long)param_10 + 2);\nLAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;\nLAB_002c1467:\n      *(uint *)param_10 = uVar18;\n    }\n  }\n  else {\n    bVar14 = *(byte *)((long)param_8 + 0x39) >> 2;\n    bVar47 = (bVar14 & 0x3c) == 0x3c;\n    bVar14 = (bVar14 & 0x30) == 0x20;\n    local_cd = (bool)bVar47 || (bool)bVar14;\n    if (((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)) {\n      local_68 = FUN_001a5ac0(param_9,plVar6,0);\n      local_68 = local_68 | 1;\n      param_9 = &local_78;\n    }\n    else {\n      local_cd = false;\n    }\n    local_c8 = &local_78;\n    iVar35 = 0;\n    if (uVar44 - 1 < 0xf9) {\n      iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];\n    }\n                    /* try { // try from 002c11cb to 002c1a28 has its CatchHandler @ 002c47bb */\n    cVar15 = FUN_00228fa0(param_8,iVar35);\n    if (cVar15 == '\0') {\n      bVar45 = false;\n      bVar48 = *(char *)((long)param_8 + 0x65) == '\0';\n      if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }\n    }\n    else {\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }\n    lVar31 = 9;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"_gp_disp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar45 = *pbVar37 < *pbVar38;\n      bVar48 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar48);\n    lVar31 = 0xf;\n    bVar48 = !bVar45 && !bVar48;\n    bVar46 = bVar48 < bVar45;\n    bVar49 = bVar48 == bVar45;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"__gnu_local_gp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar46 = *pbVar37 < *pbVar38;\n      bVar49 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar49);\n    if (bVar48 != bVar45) {\n      if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }\nLAB_002c15d8:\n      cVar15 = '\0';\n      if (uVar44 != 100) goto LAB_002c15e9;\nLAB_002c12e3:\n      lVar25 = param_8[0xf];\n      if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = true;\nLAB_002c1320:\n      local_c8 = &local_78;\n      if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }\n      goto LAB_002c13a0;\n    }\n    local_b8 = (ulong)*(byte *)((long)plVar6 + 0x36c);\n    bVar42 = *(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1;\n    if ((!bVar46 && !bVar49) == bVar46) {\n      if (bVar42 == 0) goto LAB_002c1750;\n    }\n    else if (bVar42 == 0) goto LAB_002c15d8;\n    if ((((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40)) {\n      uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n    }\n    cVar15 = '\x01';\n    if (uVar44 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    if (param_8[0xe] == 0) {\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    if ((uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0')) {\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = false;\n      goto LAB_002c13ac;\n    }\nLAB_002c15fe:\n    local_c8 = &local_78;\n    uVar17 = *(uint *)(param_2 + 0x30);\n    unaff_R13 = (uint *)(ulong)uVar17;\n    cVar16 = FUN_002972f0(plVar6,unaff_R13);\n    if ((cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e))) {\n      if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }\n    if (param_8 == (undefined8 *)0x0) {\n      plVar40 = (long *)plVar6[99];\n      plVar27 = plVar6 + 0x62;\n      if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }\nLAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);\n      bVar48 = uVar44 == 100;\n      bVar47 = 0;\n      if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }\n      param_9 = local_c8;\n      local_cd = true;\n      goto LAB_002c13d7;\n    }\n    if (*(char *)(param_8 + 9) == '\0') {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");\n    }\n    if (*(int *)((long)param_8 + 0x4c) == -1) {\n      plVar40 = (long *)param_8[0xe];\n      goto LAB_002c3d91;\n    }\n    lVar31 = *(long *)(param_4 + 0x98);\n    if (lVar31 == 0) {\n      FUN_00290900();\nLAB_002c46d8:\n      FUN_00290940();\n      goto LAB_002c46dd;\n    }\n    local_cd = (bool)(*(byte *)(lVar31 + 0x20) & 1);\n    if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c4670:\n                    /* WARNING: Subroutine does not return */\n      FUN_00291e90();\n    }\n    bVar48 = uVar44 == 100;\n    local_68 = *(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8);\n    bVar47 = 0;\n    if ((uVar18 & 0xf7) != 0x85) {\n      param_9 = local_c8;\n      goto LAB_002c13c4;\n    }\n    param_9 = local_c8;\nLAB_002c16b8:\n    cVar16 = FUN_002e7200(param_8);\n    if (cVar16 == '\0') {\n      local_cf = (bVar47 ^ 1) & bVar48;\n      if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    else {\n      local_cf = 0;\n    }\n    if (*(char *)((long)param_8 + 100) != '\0') {\n      local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n      if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar44 - 100;\n      uVar32 = (ulong)(uVar44 - 0x85);\n      local_b8 = (ulong)(param_3 == 9);\n      uStack_80 = 0;\n      uStack_7c = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar30 = (ushort)*param_10;\n      uVar17 = (uint)uVar30;\n      uVar2 = *(ushort *)((long)param_10 + 2);\n      uVar18 = (uint)uVar2;\n      local_84 = uVar44;\n      if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0);\n    if ((local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    if (uVar44 - 0x85 < 0x29) {\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_ce = 0;\n    local_b8 = (ulong)(param_3 == 9);\nLAB_002c1b2f:\n    local_84 = uVar44;\n    if (((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;\n  }\n  uStack_80 = 0;\n  uStack_7c = 0;\n  unaff_R13 = &local_84;\n  uVar17 = 0;\n  local_e4 = 0;\n  local_d8 = (uint *)&local_78;\n  uVar44 = local_84;\n  uVar18 = local_84;\n  while (local_c8 = &local_78, uVar18 != 0) {\n    bVar45 = local_bc == iVar3;\n    bVar48 = cVar11 != '\0';\n    bVar14 = bVar45 && bVar48;\n    puVar34 = param_1;\n    if (*(char *)((long)param_1 + 4) == '\0') {\n      *(byte *)((long)param_1 + 4) = bVar14;\n      switch(uVar18) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }\n    }\n    local_cc = (uint)*param_1;\n    *(byte *)((long)param_1 + 4) = bVar14;\n    local_b0 = local_cc;\n    switch(uVar18) {\n    default:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);\n      break;\n    case 1:\n      local_b8 = 0;\n      local_b0 = local_cc;\nLAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar14 != 0) goto LAB_002c1f30;\n      *(ushort *)param_10 = (ushort)uVar36;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);\n      if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }\n      if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }\n      break;\n    case 3:\nswitchD_002c14fa_caseD_3:\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");\n    case 4:\n    case 100:\n    case 0x85:\n      local_b8 = 0;\n      bVar42 = (!bVar45 || !bVar48) & local_cf;\n      uVar17 = (uint)*param_10;\n      goto LAB_002c38d3;\n    case 5:\n    case 0x68:\n    case 0x86:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }\n      break;\n    case 6:\n    case 0x69:\n    case 0x87:\n    case 0x9d:\n      local_b8 = 0;\n      local_108 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }\n      if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\nLAB_002c1ebf:\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;\n      break;\n    case 7:\n    case 8:\n    case 0x65:\n    case 0x88:\n    case 0x89:\n    case 0xac:\n      lVar31 = *(long *)(param_4 + 0x28);\n      if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }\n      local_b8 = 0;\n      iVar35 = 0;\n      uVar17 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar21 - iVar35;\n      if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }\n      uVar20 = (uVar36 ^ uVar17) & 0xffff;\n      if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar17 ^ uVar20;\n      if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }\n      goto LAB_002c1fd6;\n    case 9:\n    case 0x66:\n    case 0x8a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case 10:\n      local_b8 = 0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }\n      break;\n    case 0xb:\n    case 0x67:\n    case 0x8e:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;\n    case 0xc:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);\n      goto joined_r0x002c327b;\n    case 0x12:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);\n      if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }\n      break;\n    case 0x13:\n    case 0x91:\n    case 0xf9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }\n      if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }\n      local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n      if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }\n      if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;\n      goto LAB_002c1fd4;\n    case 0x14:\n    case 0x92:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) goto LAB_002c4726;\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }\n      if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }\n      uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);\n      if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;\n      goto LAB_002c2590;\n    case 0x15:\n    case 0x93:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;\n      local_b0 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }\n      if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }\n      break;\n    case 0x16:\n    case 0x1e:\n    case 0x94:\n    case 0x99:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }\n      goto LAB_002c46d8;\n    case 0x17:\n    case 0x1f:\n    case 0x95:\n    case 0x9a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }\nLAB_002c4792:\n      FUN_00290940();\nLAB_002c4797:\n      FUN_00290940();\nLAB_002c479c:\n      FUN_00290940();\nLAB_002c47a1:\n      FUN_00290940();\nLAB_002c47a6:\n      FUN_00290940();\n                    /* catch() { ... } // from try @ 002c1a5e with catch @ 002c47ab */\n      uVar22 = FUN_0017eb9a();\n      return uVar22;\n    case 0x18:\n    case 0x96:\n      local_b8 = 0;\nLAB_002c2efa:\n      uVar18 = -local_b0;\nLAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      if (bVar14 != '\0') goto LAB_002c1f30;\n      uVar17 = 0;\n      *param_10 = (ulong)uVar36;\n      break;\n    case 0x1c:\n    case 0x97:\n      local_b8 = 0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }\n      uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);\n      goto joined_r0x002c1f7e;\n    case 0x1d:\n    case 0x98:\n      local_b8 = 0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar36 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }\n      FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }\n      uVar36 = uVar36 & 0xffff0000;\n      goto LAB_002c1fd0;\n    case 0x25:\n    case 0x9c:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }\n      uVar17 = (uint)*param_10;\n      uVar36 = uVar17;\n      if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }\n      if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }\n      break;\n    case 0x27:\n    case 0x29:\n      goto switchD_002c14fa_caseD_27;\n    case 0x2a:\n    case 0x6a:\n    case 0xa2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }\n      FUN_00290940();\nswitchD_002c14fa_caseD_27:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_27:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      goto joined_r0x002c327b;\n    case 0x2b:\n    case 0x6b:\n    case 0xa3:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }\n      if (lVar25 == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }\n      local_e4 = *(uint *)(lVar25 + 0x14);\n      uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\nLAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;\n      uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;\nLAB_002c2590:\n      *(uint *)param_10 = uVar18;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 0x2c:\n    case 0x6c:\n    case 0xa4:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      goto LAB_002c1f79;\n    case 0x2d:\n    case 0x6d:\n    case 0xa5:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x2e:\n    case 0x6e:\n    case 0xa6:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) goto LAB_002c2030;\n      goto LAB_002c47a1;\n    case 0x2f:\n    case 0x30:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    case 0x31:\n    case 0x6f:\n    case 0xa9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      uVar36 = iVar35 + 0x1000;\nLAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;\njoined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;\n      break;\n    case 0x32:\n    case 0x70:\n    case 0xaa:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x3c:\n      local_b8 = 0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }\n      break;\n    case 0x3d:\n      local_b8 = 0;\nLAB_002c304d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }\n      break;\n    case 0x3e:\n      local_b8 = 0;\nLAB_002c3104:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - (param_11 & 0xfffffff8);\n      uVar36 = uVar20 >> 3;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar32 = uVar32 & 7;\njoined_r0x002c324e:\n      uVar17 = 3;\n      if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }\n      break;\n    case 0x3f:\n      local_b8 = 0;\nLAB_002c31c0:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - param_11;\n      uVar36 = uVar20 >> 2;\n      if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }\nLAB_002c1f30:\n      uVar17 = 0;\n      *(uint *)param_1 = uVar36;\n      break;\n    case 0x40:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case 0x41:\n      local_b8 = 0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }\n      if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      break;\n    case 0x8b:\n      local_b8 = 0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }\n      break;\n    case 0x8c:\n      local_b8 = 0;\nLAB_002c328d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;\n      uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);\n      break;\n    case 0x8d:\n      local_b8 = 0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);\n      break;\n    case 0xf8:\n      local_b8 = 0;\nLAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\njoined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;\nLAB_002c1fd0:\n      puVar34 = param_10;\nLAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;\nLAB_002c1fd6:\n      uVar17 = 0;\n    }\nLAB_002c1e60:\n    unaff_R13 = unaff_R13 + 1;\n    if (local_d8 == unaff_R13) break;\n    uVar18 = *unaff_R13;\n  }\n  local_c8 = &local_78;\n  uVar18 = uVar44 - 0x85;\n  if (local_f0 < 0xd) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    if (uVar18 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)) {\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(ushort *)((long)param_10 + 2) = (ushort)uVar36;\n    *(ushort *)param_10 = uVar30;\n  }\n  else if (((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)) &&\n          (1 < uVar44 - 0x8b)) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    goto LAB_002c19bf;\n  }\n  if (uVar17 == 1) {\n    if (param_8 == (undefined8 *)0x0) {\n      lVar31 = plVar6[1];\n      uVar22 = gettext("relocation overflow: %u against local symbol %u in %s");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31);\n    }\n    else {\n      if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }\n      if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    /* try { // try from 002c2bde to 002c2be2 has its CatchHandler @ 002c47b3 */\n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    /* try { // try from 002c1a5e to 002c1a62 has its CatchHandler @ 002c47ab */\n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      FUN_0049e340();\n    }\n  }\n  else if (uVar17 != 0) {\n    if (uVar17 == 2) {\n      pcVar39 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (uVar17 != 3) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }\n    uVar22 = gettext(pcVar39);\n    FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n  }\nLAB_002c193c:\n  FUN_001a5bc0(local_c8);\n  return 1;\n}" type_identifier (function_declarator "FUN_002c1090(ulong *param_1,long param_2,int param_3,long param_4,undefined8 param_5,long param_6,\n            int *param_7,undefined8 *param_8,undefined8 *param_9,ulong *param_10,uint param_11)" identifier (parameter_list "(ulong *param_1,long param_2,int param_3,long param_4,undefined8 param_5,long param_6,\n            int *param_7,undefined8 *param_8,undefined8 *param_9,ulong *param_10,uint param_11)" ( (parameter_declaration "ulong *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "long param_4" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_5" type_identifier identifier) , (parameter_declaration "long param_6" (sized_type_specifier "long" long) identifier) , (parameter_declaration "int *param_7" primitive_type (pointer_declarator "*param_7" * identifier)) , (parameter_declaration "undefined8 *param_8" type_identifier (pointer_declarator "*param_8" * identifier)) , (parameter_declaration "undefined8 *param_9" type_identifier (pointer_declarator "*param_9" * identifier)) , (parameter_declaration "ulong *param_10" type_identifier (pointer_declarator "*param_10" * identifier)) , (parameter_declaration "uint param_11" type_identifier identifier) ))) (compound_statement "{\n  byte bVar1;\n  ushort uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  long *plVar6;\n  int *piVar7;\n  ulong uVar8;\n  uint *puVar9;\n  undefined8 *puVar10;\n  char cVar11;\n  undefined1 *puVar12;\n  byte bVar13;\n  byte bVar14;\n  char cVar15;\n  char cVar16;\n  uint uVar17;\n  uint uVar18;\n  undefined4 uVar19;\n  uint uVar20;\n  int iVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  ulong uVar24;\n  long lVar25;\n  long *plVar26;\n  long *plVar27;\n  long *plVar28;\n  long *plVar29;\n  ushort uVar30;\n  long lVar31;\n  int extraout_EDX;\n  ulong uVar32;\n  uint uVar33;\n  ulong *puVar34;\n  int iVar35;\n  uint uVar36;\n  byte *pbVar37;\n  byte *pbVar38;\n  char *pcVar39;\n  long *plVar40;\n  undefined8 uVar41;\n  byte bVar42;\n  uint *unaff_R13;\n  ulong uVar43;\n  uint uVar44;\n  bool bVar45;\n  bool bVar46;\n  byte bVar47;\n  bool bVar48;\n  bool bVar49;\n  sbyte local_118;\n  uint local_108;\n  undefined8 *local_100;\n  uint local_f0;\n  byte local_e8;\n  uint local_e4;\n  uint *local_d8;\n  byte local_cf;\n  byte local_ce;\n  bool local_cd;\n  uint local_cc;\n  undefined8 *local_c8;\n  int local_bc;\n  ulong local_b8;\n  uint local_b0;\n  undefined8 *local_98;\n  uint local_84;\n  undefined4 uStack_80;\n  undefined4 uStack_7c;\n  undefined8 local_78;\n  undefined4 local_70;\n  uint local_68;\n  undefined1 *local_58 [2];\n  undefined1 auStack_48 [24];\n  \n  bVar42 = 0;\n  uVar18 = param_7[1];\n  uVar32 = (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x14) /\n           (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x24);\n  iVar3 = *param_7;\n  uVar44 = uVar18 & 0xff;\n  uVar33 = uVar18 >> 8;\n  if (param_3 == 4) {\n    cVar11 = '\0';\n    local_cc = param_7[2];\n    local_bc = -1;\n    if (param_6 + 1U < uVar32) {\n      local_bc = param_7[3];\n      cVar11 = (char)param_7[4];\n    }\n  }\n  else if (param_6 + 1U < uVar32) {\n    local_cc = 0;\n    local_bc = param_7[2];\n    cVar11 = (char)param_7[3];\n  }\n  else {\n    cVar11 = '\0';\n    local_bc = -1;\n    local_cc = 0;\n  }\n  local_70 = 0x80000000;\n  local_68 = 0;\n  plVar6 = *(long **)(param_2 + 0x10);\n  local_78 = 0xffffffff00000000;\n  if (param_8 == (undefined8 *)0x0) {\n    if (((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46) <= (ulong)uVar33) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");\n    }\n    local_e8 = (byte)(uVar18 >> 8);\n    uVar24 = 1L << (local_e8 & 0x3f);\n    uVar32 = *(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8);\n    local_b8 = plVar6[0x4c];\n    uVar43 = uVar24 & uVar32;\n    bVar47 = uVar43 != 0;\n    if (((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b) <= (ulong)uVar33) {\nLAB_002c45d2:\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");\n    }\n    uVar8 = *(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8);\n    bVar14 = (uVar24 & uVar8) != 0;\n    local_cd = ((uVar32 | uVar8) & uVar24) != 0;\n    if (local_cd) {\n                    /* try { // try from 002c2e1b to 002c47aa has its CatchHandler @ 002c47bb */\n      local_68 = FUN_001a5ac0(param_9,plVar6,1);\n      param_9 = &local_78;\n    }\n    if (uVar44 == 100) {\n      plVar27 = (long *)plVar6[0x69];\n      plVar40 = plVar6 + 0x68;\n      plVar29 = plVar27;\n      plVar28 = plVar40;\n      if (plVar27 == (long *)0x0) goto LAB_002c1c10;\n      do {\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      } while (plVar26 != (long *)0x0);\n      if (((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))\n      goto LAB_002c1c10;\n      plVar29 = plVar40;\n      if (uVar43 != 0) {\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }\n      do {\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      } while (plVar27 != (long *)0x0);\n      lVar31 = 0;\n      if ((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)) {\n        lVar31 = plVar28[5];\n      }\n      bVar47 = 0;\n      cVar15 = '\0';\n      goto LAB_002c1d90;\n    }\n    plVar40 = (long *)plVar6[99];\n    plVar27 = plVar6 + 0x62;\n    if ((long *)plVar6[99] != (long *)0x0) {\n      do {\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      } while ((long *)plVar29[2] != (long *)0x0);\nLAB_002c2b6a:\n      if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;\n      goto LAB_002c15fe;\n    }\nLAB_002c1c10:\n    cVar15 = '\0';\nLAB_002c1c17:\n    bVar45 = uVar44 == 100;\nLAB_002c13a0:\n    bVar42 = bVar14 & bVar45;\n    bVar48 = (bool)bVar42;\n    if ((bool)bVar42 == false) {\nLAB_002c13ac:\n      bVar48 = bVar45;\n      if ((uVar18 & 0xf7) == 0x85) {\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }\n    }\n    else {\nLAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");\n      FUN_0034a750(uVar22);\n      bVar14 = bVar42;\n    }\nLAB_002c13d7:\n    if (param_8 != (undefined8 *)0x0) goto LAB_002c16b8;\n    local_cf = (bVar47 ^ 1) & bVar48;\n    local_ce = local_cf;\n    if (local_cf != 0) goto LAB_002c1402;\n    local_cf = (bVar14 ^ 1) & uVar44 == 0x85;\n    if (local_cf == 0) goto LAB_002c1bcf;\n    local_84 = 0x85;\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_f0 = 0x21;\n    local_b8 = (ulong)(param_3 == 9);\n    local_ce = local_cf;\nLAB_002c1d4a:\n    if (1 < local_84 - 0x8b) {\n      uVar17 = (uint)(ushort)*param_10;\n      uVar18 = (uint)*(ushort *)((long)param_10 + 2);\nLAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;\nLAB_002c1467:\n      *(uint *)param_10 = uVar18;\n    }\n  }\n  else {\n    bVar14 = *(byte *)((long)param_8 + 0x39) >> 2;\n    bVar47 = (bVar14 & 0x3c) == 0x3c;\n    bVar14 = (bVar14 & 0x30) == 0x20;\n    local_cd = (bool)bVar47 || (bool)bVar14;\n    if (((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)) {\n      local_68 = FUN_001a5ac0(param_9,plVar6,0);\n      local_68 = local_68 | 1;\n      param_9 = &local_78;\n    }\n    else {\n      local_cd = false;\n    }\n    local_c8 = &local_78;\n    iVar35 = 0;\n    if (uVar44 - 1 < 0xf9) {\n      iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];\n    }\n                    /* try { // try from 002c11cb to 002c1a28 has its CatchHandler @ 002c47bb */\n    cVar15 = FUN_00228fa0(param_8,iVar35);\n    if (cVar15 == '\0') {\n      bVar45 = false;\n      bVar48 = *(char *)((long)param_8 + 0x65) == '\0';\n      if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }\n    }\n    else {\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }\n    lVar31 = 9;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"_gp_disp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar45 = *pbVar37 < *pbVar38;\n      bVar48 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar48);\n    lVar31 = 0xf;\n    bVar48 = !bVar45 && !bVar48;\n    bVar46 = bVar48 < bVar45;\n    bVar49 = bVar48 == bVar45;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"__gnu_local_gp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar46 = *pbVar37 < *pbVar38;\n      bVar49 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar49);\n    if (bVar48 != bVar45) {\n      if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }\nLAB_002c15d8:\n      cVar15 = '\0';\n      if (uVar44 != 100) goto LAB_002c15e9;\nLAB_002c12e3:\n      lVar25 = param_8[0xf];\n      if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = true;\nLAB_002c1320:\n      local_c8 = &local_78;\n      if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }\n      goto LAB_002c13a0;\n    }\n    local_b8 = (ulong)*(byte *)((long)plVar6 + 0x36c);\n    bVar42 = *(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1;\n    if ((!bVar46 && !bVar49) == bVar46) {\n      if (bVar42 == 0) goto LAB_002c1750;\n    }\n    else if (bVar42 == 0) goto LAB_002c15d8;\n    if ((((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40)) {\n      uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n    }\n    cVar15 = '\x01';\n    if (uVar44 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    if (param_8[0xe] == 0) {\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    if ((uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0')) {\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = false;\n      goto LAB_002c13ac;\n    }\nLAB_002c15fe:\n    local_c8 = &local_78;\n    uVar17 = *(uint *)(param_2 + 0x30);\n    unaff_R13 = (uint *)(ulong)uVar17;\n    cVar16 = FUN_002972f0(plVar6,unaff_R13);\n    if ((cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e))) {\n      if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }\n    if (param_8 == (undefined8 *)0x0) {\n      plVar40 = (long *)plVar6[99];\n      plVar27 = plVar6 + 0x62;\n      if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }\nLAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);\n      bVar48 = uVar44 == 100;\n      bVar47 = 0;\n      if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }\n      param_9 = local_c8;\n      local_cd = true;\n      goto LAB_002c13d7;\n    }\n    if (*(char *)(param_8 + 9) == '\0') {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");\n    }\n    if (*(int *)((long)param_8 + 0x4c) == -1) {\n      plVar40 = (long *)param_8[0xe];\n      goto LAB_002c3d91;\n    }\n    lVar31 = *(long *)(param_4 + 0x98);\n    if (lVar31 == 0) {\n      FUN_00290900();\nLAB_002c46d8:\n      FUN_00290940();\n      goto LAB_002c46dd;\n    }\n    local_cd = (bool)(*(byte *)(lVar31 + 0x20) & 1);\n    if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c4670:\n                    /* WARNING: Subroutine does not return */\n      FUN_00291e90();\n    }\n    bVar48 = uVar44 == 100;\n    local_68 = *(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8);\n    bVar47 = 0;\n    if ((uVar18 & 0xf7) != 0x85) {\n      param_9 = local_c8;\n      goto LAB_002c13c4;\n    }\n    param_9 = local_c8;\nLAB_002c16b8:\n    cVar16 = FUN_002e7200(param_8);\n    if (cVar16 == '\0') {\n      local_cf = (bVar47 ^ 1) & bVar48;\n      if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    else {\n      local_cf = 0;\n    }\n    if (*(char *)((long)param_8 + 100) != '\0') {\n      local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n      if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar44 - 100;\n      uVar32 = (ulong)(uVar44 - 0x85);\n      local_b8 = (ulong)(param_3 == 9);\n      uStack_80 = 0;\n      uStack_7c = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar30 = (ushort)*param_10;\n      uVar17 = (uint)uVar30;\n      uVar2 = *(ushort *)((long)param_10 + 2);\n      uVar18 = (uint)uVar2;\n      local_84 = uVar44;\n      if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0);\n    if ((local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    if (uVar44 - 0x85 < 0x29) {\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_ce = 0;\n    local_b8 = (ulong)(param_3 == 9);\nLAB_002c1b2f:\n    local_84 = uVar44;\n    if (((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;\n  }\n  uStack_80 = 0;\n  uStack_7c = 0;\n  unaff_R13 = &local_84;\n  uVar17 = 0;\n  local_e4 = 0;\n  local_d8 = (uint *)&local_78;\n  uVar44 = local_84;\n  uVar18 = local_84;\n  while (local_c8 = &local_78, uVar18 != 0) {\n    bVar45 = local_bc == iVar3;\n    bVar48 = cVar11 != '\0';\n    bVar14 = bVar45 && bVar48;\n    puVar34 = param_1;\n    if (*(char *)((long)param_1 + 4) == '\0') {\n      *(byte *)((long)param_1 + 4) = bVar14;\n      switch(uVar18) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }\n    }\n    local_cc = (uint)*param_1;\n    *(byte *)((long)param_1 + 4) = bVar14;\n    local_b0 = local_cc;\n    switch(uVar18) {\n    default:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);\n      break;\n    case 1:\n      local_b8 = 0;\n      local_b0 = local_cc;\nLAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar14 != 0) goto LAB_002c1f30;\n      *(ushort *)param_10 = (ushort)uVar36;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);\n      if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }\n      if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }\n      break;\n    case 3:\nswitchD_002c14fa_caseD_3:\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");\n    case 4:\n    case 100:\n    case 0x85:\n      local_b8 = 0;\n      bVar42 = (!bVar45 || !bVar48) & local_cf;\n      uVar17 = (uint)*param_10;\n      goto LAB_002c38d3;\n    case 5:\n    case 0x68:\n    case 0x86:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }\n      break;\n    case 6:\n    case 0x69:\n    case 0x87:\n    case 0x9d:\n      local_b8 = 0;\n      local_108 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }\n      if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\nLAB_002c1ebf:\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;\n      break;\n    case 7:\n    case 8:\n    case 0x65:\n    case 0x88:\n    case 0x89:\n    case 0xac:\n      lVar31 = *(long *)(param_4 + 0x28);\n      if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }\n      local_b8 = 0;\n      iVar35 = 0;\n      uVar17 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar21 - iVar35;\n      if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }\n      uVar20 = (uVar36 ^ uVar17) & 0xffff;\n      if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar17 ^ uVar20;\n      if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }\n      goto LAB_002c1fd6;\n    case 9:\n    case 0x66:\n    case 0x8a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case 10:\n      local_b8 = 0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }\n      break;\n    case 0xb:\n    case 0x67:\n    case 0x8e:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;\n    case 0xc:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);\n      goto joined_r0x002c327b;\n    case 0x12:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);\n      if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }\n      break;\n    case 0x13:\n    case 0x91:\n    case 0xf9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }\n      if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }\n      local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n      if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }\n      if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;\n      goto LAB_002c1fd4;\n    case 0x14:\n    case 0x92:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) goto LAB_002c4726;\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }\n      if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }\n      uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);\n      if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;\n      goto LAB_002c2590;\n    case 0x15:\n    case 0x93:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;\n      local_b0 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }\n      if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }\n      break;\n    case 0x16:\n    case 0x1e:\n    case 0x94:\n    case 0x99:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }\n      goto LAB_002c46d8;\n    case 0x17:\n    case 0x1f:\n    case 0x95:\n    case 0x9a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }\nLAB_002c4792:\n      FUN_00290940();\nLAB_002c4797:\n      FUN_00290940();\nLAB_002c479c:\n      FUN_00290940();\nLAB_002c47a1:\n      FUN_00290940();\nLAB_002c47a6:\n      FUN_00290940();\n                    /* catch() { ... } // from try @ 002c1a5e with catch @ 002c47ab */\n      uVar22 = FUN_0017eb9a();\n      return uVar22;\n    case 0x18:\n    case 0x96:\n      local_b8 = 0;\nLAB_002c2efa:\n      uVar18 = -local_b0;\nLAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      if (bVar14 != '\0') goto LAB_002c1f30;\n      uVar17 = 0;\n      *param_10 = (ulong)uVar36;\n      break;\n    case 0x1c:\n    case 0x97:\n      local_b8 = 0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }\n      uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);\n      goto joined_r0x002c1f7e;\n    case 0x1d:\n    case 0x98:\n      local_b8 = 0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar36 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }\n      FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }\n      uVar36 = uVar36 & 0xffff0000;\n      goto LAB_002c1fd0;\n    case 0x25:\n    case 0x9c:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }\n      uVar17 = (uint)*param_10;\n      uVar36 = uVar17;\n      if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }\n      if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }\n      break;\n    case 0x27:\n    case 0x29:\n      goto switchD_002c14fa_caseD_27;\n    case 0x2a:\n    case 0x6a:\n    case 0xa2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }\n      FUN_00290940();\nswitchD_002c14fa_caseD_27:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_27:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      goto joined_r0x002c327b;\n    case 0x2b:\n    case 0x6b:\n    case 0xa3:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }\n      if (lVar25 == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }\n      local_e4 = *(uint *)(lVar25 + 0x14);\n      uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\nLAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;\n      uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;\nLAB_002c2590:\n      *(uint *)param_10 = uVar18;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 0x2c:\n    case 0x6c:\n    case 0xa4:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      goto LAB_002c1f79;\n    case 0x2d:\n    case 0x6d:\n    case 0xa5:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x2e:\n    case 0x6e:\n    case 0xa6:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) goto LAB_002c2030;\n      goto LAB_002c47a1;\n    case 0x2f:\n    case 0x30:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    case 0x31:\n    case 0x6f:\n    case 0xa9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      uVar36 = iVar35 + 0x1000;\nLAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;\njoined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;\n      break;\n    case 0x32:\n    case 0x70:\n    case 0xaa:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x3c:\n      local_b8 = 0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }\n      break;\n    case 0x3d:\n      local_b8 = 0;\nLAB_002c304d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }\n      break;\n    case 0x3e:\n      local_b8 = 0;\nLAB_002c3104:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - (param_11 & 0xfffffff8);\n      uVar36 = uVar20 >> 3;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar32 = uVar32 & 7;\njoined_r0x002c324e:\n      uVar17 = 3;\n      if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }\n      break;\n    case 0x3f:\n      local_b8 = 0;\nLAB_002c31c0:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - param_11;\n      uVar36 = uVar20 >> 2;\n      if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }\nLAB_002c1f30:\n      uVar17 = 0;\n      *(uint *)param_1 = uVar36;\n      break;\n    case 0x40:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case 0x41:\n      local_b8 = 0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }\n      if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      break;\n    case 0x8b:\n      local_b8 = 0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }\n      break;\n    case 0x8c:\n      local_b8 = 0;\nLAB_002c328d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;\n      uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);\n      break;\n    case 0x8d:\n      local_b8 = 0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);\n      break;\n    case 0xf8:\n      local_b8 = 0;\nLAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\njoined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;\nLAB_002c1fd0:\n      puVar34 = param_10;\nLAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;\nLAB_002c1fd6:\n      uVar17 = 0;\n    }\nLAB_002c1e60:\n    unaff_R13 = unaff_R13 + 1;\n    if (local_d8 == unaff_R13) break;\n    uVar18 = *unaff_R13;\n  }\n  local_c8 = &local_78;\n  uVar18 = uVar44 - 0x85;\n  if (local_f0 < 0xd) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    if (uVar18 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)) {\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(ushort *)((long)param_10 + 2) = (ushort)uVar36;\n    *(ushort *)param_10 = uVar30;\n  }\n  else if (((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)) &&\n          (1 < uVar44 - 0x8b)) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    goto LAB_002c19bf;\n  }\n  if (uVar17 == 1) {\n    if (param_8 == (undefined8 *)0x0) {\n      lVar31 = plVar6[1];\n      uVar22 = gettext("relocation overflow: %u against local symbol %u in %s");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31);\n    }\n    else {\n      if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }\n      if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    /* try { // try from 002c2bde to 002c2be2 has its CatchHandler @ 002c47b3 */\n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    /* try { // try from 002c1a5e to 002c1a62 has its CatchHandler @ 002c47ab */\n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      FUN_0049e340();\n    }\n  }\n  else if (uVar17 != 0) {\n    if (uVar17 == 2) {\n      pcVar39 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (uVar17 != 3) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }\n    uVar22 = gettext(pcVar39);\n    FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n  }\nLAB_002c193c:\n  FUN_001a5bc0(local_c8);\n  return 1;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "long *plVar6;" (sized_type_specifier "long" long) (pointer_declarator "*plVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "ulong uVar8;" type_identifier identifier ;) (declaration "uint *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined8 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "char cVar11;" primitive_type identifier ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "byte bVar14;" type_identifier identifier ;) (declaration "char cVar15;" primitive_type identifier ;) (declaration "char cVar16;" primitive_type identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "undefined4 uVar19;" type_identifier identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "undefined8 uVar22;" type_identifier identifier ;) (declaration "undefined8 uVar23;" type_identifier identifier ;) (declaration "ulong uVar24;" type_identifier identifier ;) (declaration "long lVar25;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar26;" (sized_type_specifier "long" long) (pointer_declarator "*plVar26" * identifier) ;) (declaration "long *plVar27;" (sized_type_specifier "long" long) (pointer_declarator "*plVar27" * identifier) ;) (declaration "long *plVar28;" (sized_type_specifier "long" long) (pointer_declarator "*plVar28" * identifier) ;) (declaration "long *plVar29;" (sized_type_specifier "long" long) (pointer_declarator "*plVar29" * identifier) ;) (declaration "ushort uVar30;" type_identifier identifier ;) (declaration "long lVar31;" (sized_type_specifier "long" long) identifier ;) (declaration "int extraout_EDX;" primitive_type identifier ;) (declaration "ulong uVar32;" type_identifier identifier ;) (declaration "uint uVar33;" type_identifier identifier ;) (declaration "ulong *puVar34;" type_identifier (pointer_declarator "*puVar34" * identifier) ;) (declaration "int iVar35;" primitive_type identifier ;) (declaration "uint uVar36;" type_identifier identifier ;) (declaration "byte *pbVar37;" type_identifier (pointer_declarator "*pbVar37" * identifier) ;) (declaration "byte *pbVar38;" type_identifier (pointer_declarator "*pbVar38" * identifier) ;) (declaration "char *pcVar39;" primitive_type (pointer_declarator "*pcVar39" * identifier) ;) (declaration "long *plVar40;" (sized_type_specifier "long" long) (pointer_declarator "*plVar40" * identifier) ;) (declaration "undefined8 uVar41;" type_identifier identifier ;) (declaration "byte bVar42;" type_identifier identifier ;) (declaration "uint *unaff_R13;" type_identifier (pointer_declarator "*unaff_R13" * identifier) ;) (declaration "ulong uVar43;" type_identifier identifier ;) (declaration "uint uVar44;" type_identifier identifier ;) (declaration "bool bVar45;" primitive_type identifier ;) (declaration "bool bVar46;" primitive_type identifier ;) (declaration "byte bVar47;" type_identifier identifier ;) (declaration "bool bVar48;" primitive_type identifier ;) (declaration "bool bVar49;" primitive_type identifier ;) (declaration "sbyte local_118;" type_identifier identifier ;) (declaration "uint local_108;" type_identifier identifier ;) (declaration "undefined8 *local_100;" type_identifier (pointer_declarator "*local_100" * identifier) ;) (declaration "uint local_f0;" type_identifier identifier ;) (declaration "byte local_e8;" type_identifier identifier ;) (declaration "uint local_e4;" type_identifier identifier ;) (declaration "uint *local_d8;" type_identifier (pointer_declarator "*local_d8" * identifier) ;) (declaration "byte local_cf;" type_identifier identifier ;) (declaration "byte local_ce;" type_identifier identifier ;) (declaration "bool local_cd;" primitive_type identifier ;) (declaration "uint local_cc;" type_identifier identifier ;) (declaration "undefined8 *local_c8;" type_identifier (pointer_declarator "*local_c8" * identifier) ;) (declaration "int local_bc;" primitive_type identifier ;) (declaration "ulong local_b8;" type_identifier identifier ;) (declaration "uint local_b0;" type_identifier identifier ;) (declaration "undefined8 *local_98;" type_identifier (pointer_declarator "*local_98" * identifier) ;) (declaration "uint local_84;" type_identifier identifier ;) (declaration "undefined4 uStack_80;" type_identifier identifier ;) (declaration "undefined4 uStack_7c;" type_identifier identifier ;) (declaration "undefined8 local_78;" type_identifier identifier ;) (declaration "undefined4 local_70;" type_identifier identifier ;) (declaration "uint local_68;" type_identifier identifier ;) (declaration "undefined1 *local_58 [2];" type_identifier (pointer_declarator "*local_58 [2]" * (array_declarator "local_58 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 auStack_48 [24];" type_identifier (array_declarator "auStack_48 [24]" identifier [ number_literal ]) ;) (expression_statement "bVar42 = 0;" (assignment_expression "bVar42 = 0" identifier = number_literal) ;) (expression_statement "uVar18 = param_7[1];" (assignment_expression "uVar18 = param_7[1]" identifier = (subscript_expression "param_7[1]" identifier [ number_literal ])) ;) (expression_statement "uVar32 = (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x14) /\n           (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x24);" (assignment_expression "uVar32 = (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x14) /\n           (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x24)" identifier = (binary_expression "(ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x14) /\n           (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x24)" (binary_expression "(ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x14) /\n           (ulong)" (binary_expression "(ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x14)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(*(long *)(param_2 + 0x20) + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_2 + 0x20) + 0x14)" ( (binary_expression "*(long *)(param_2 + 0x20) + 0x14" (pointer_expression "*(long *)(param_2 + 0x20)" * (cast_expression "(long *)(param_2 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) )))) + number_literal) )))) / (parenthesized_expression "(ulong)" ( identifier ))) * (cast_expression "(uint *)(*(long *)(param_2 + 0x20) + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_2 + 0x20) + 0x24)" ( (binary_expression "*(long *)(param_2 + 0x20) + 0x24" (pointer_expression "*(long *)(param_2 + 0x20)" * (cast_expression "(long *)(param_2 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar3 = *param_7;" (assignment_expression "iVar3 = *param_7" identifier = (pointer_expression "*param_7" * identifier)) ;) (expression_statement "uVar44 = uVar18 & 0xff;" (assignment_expression "uVar44 = uVar18 & 0xff" identifier = (binary_expression "uVar18 & 0xff" identifier & number_literal)) ;) (expression_statement "uVar33 = uVar18 >> 8;" (assignment_expression "uVar33 = uVar18 >> 8" identifier = (binary_expression "uVar18 >> 8" identifier >> number_literal)) ;) (if_statement "if (param_3 == 4) {\n    cVar11 = '\0';\n    local_cc = param_7[2];\n    local_bc = -1;\n    if (param_6 + 1U < uVar32) {\n      local_bc = param_7[3];\n      cVar11 = (char)param_7[4];\n    }\n  }\n  else if (param_6 + 1U < uVar32) {\n    local_cc = 0;\n    local_bc = param_7[2];\n    cVar11 = (char)param_7[3];\n  }\n  else {\n    cVar11 = '\0';\n    local_bc = -1;\n    local_cc = 0;\n  }" if (parenthesized_expression "(param_3 == 4)" ( (binary_expression "param_3 == 4" identifier == number_literal) )) (compound_statement "{\n    cVar11 = '\0';\n    local_cc = param_7[2];\n    local_bc = -1;\n    if (param_6 + 1U < uVar32) {\n      local_bc = param_7[3];\n      cVar11 = (char)param_7[4];\n    }\n  }" { (expression_statement "cVar11 = '\0';" (assignment_expression "cVar11 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_cc = param_7[2];" (assignment_expression "local_cc = param_7[2]" identifier = (subscript_expression "param_7[2]" identifier [ number_literal ])) ;) (expression_statement "local_bc = -1;" (assignment_expression "local_bc = -1" identifier = number_literal) ;) (if_statement "if (param_6 + 1U < uVar32) {\n      local_bc = param_7[3];\n      cVar11 = (char)param_7[4];\n    }" if (parenthesized_expression "(param_6 + 1U < uVar32)" ( (binary_expression "param_6 + 1U < uVar32" (binary_expression "param_6 + 1U" identifier + number_literal) < identifier) )) (compound_statement "{\n      local_bc = param_7[3];\n      cVar11 = (char)param_7[4];\n    }" { (expression_statement "local_bc = param_7[3];" (assignment_expression "local_bc = param_7[3]" identifier = (subscript_expression "param_7[3]" identifier [ number_literal ])) ;) (expression_statement "cVar11 = (char)param_7[4];" (assignment_expression "cVar11 = (char)param_7[4]" identifier = (cast_expression "(char)param_7[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_7[4]" identifier [ number_literal ]))) ;) })) }) (else_clause "else if (param_6 + 1U < uVar32) {\n    local_cc = 0;\n    local_bc = param_7[2];\n    cVar11 = (char)param_7[3];\n  }\n  else {\n    cVar11 = '\0';\n    local_bc = -1;\n    local_cc = 0;\n  }" else (if_statement "if (param_6 + 1U < uVar32) {\n    local_cc = 0;\n    local_bc = param_7[2];\n    cVar11 = (char)param_7[3];\n  }\n  else {\n    cVar11 = '\0';\n    local_bc = -1;\n    local_cc = 0;\n  }" if (parenthesized_expression "(param_6 + 1U < uVar32)" ( (binary_expression "param_6 + 1U < uVar32" (binary_expression "param_6 + 1U" identifier + number_literal) < identifier) )) (compound_statement "{\n    local_cc = 0;\n    local_bc = param_7[2];\n    cVar11 = (char)param_7[3];\n  }" { (expression_statement "local_cc = 0;" (assignment_expression "local_cc = 0" identifier = number_literal) ;) (expression_statement "local_bc = param_7[2];" (assignment_expression "local_bc = param_7[2]" identifier = (subscript_expression "param_7[2]" identifier [ number_literal ])) ;) (expression_statement "cVar11 = (char)param_7[3];" (assignment_expression "cVar11 = (char)param_7[3]" identifier = (cast_expression "(char)param_7[3]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_7[3]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n    cVar11 = '\0';\n    local_bc = -1;\n    local_cc = 0;\n  }" else (compound_statement "{\n    cVar11 = '\0';\n    local_bc = -1;\n    local_cc = 0;\n  }" { (expression_statement "cVar11 = '\0';" (assignment_expression "cVar11 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_bc = -1;" (assignment_expression "local_bc = -1" identifier = number_literal) ;) (expression_statement "local_cc = 0;" (assignment_expression "local_cc = 0" identifier = number_literal) ;) }))))) (expression_statement "local_70 = 0x80000000;" (assignment_expression "local_70 = 0x80000000" identifier = number_literal) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "plVar6 = *(long **)(param_2 + 0x10);" (assignment_expression "plVar6 = *(long **)(param_2 + 0x10)" identifier = (pointer_expression "*(long **)(param_2 + 0x10)" * (cast_expression "(long **)(param_2 + 0x10)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_78 = 0xffffffff00000000;" (assignment_expression "local_78 = 0xffffffff00000000" identifier = number_literal) ;) (if_statement "if (param_8 == (undefined8 *)0x0) {\n    if (((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46) <= (ulong)uVar33) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");\n    }\n    local_e8 = (byte)(uVar18 >> 8);\n    uVar24 = 1L << (local_e8 & 0x3f);\n    uVar32 = *(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8);\n    local_b8 = plVar6[0x4c];\n    uVar43 = uVar24 & uVar32;\n    bVar47 = uVar43 != 0;\n    if (((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b) <= (ulong)uVar33) {\nLAB_002c45d2:\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");\n    }\n    uVar8 = *(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8);\n    bVar14 = (uVar24 & uVar8) != 0;\n    local_cd = ((uVar32 | uVar8) & uVar24) != 0;\n    if (local_cd) {\n                    /* try { // try from 002c2e1b to 002c47aa has its CatchHandler @ 002c47bb */\n      local_68 = FUN_001a5ac0(param_9,plVar6,1);\n      param_9 = &local_78;\n    }\n    if (uVar44 == 100) {\n      plVar27 = (long *)plVar6[0x69];\n      plVar40 = plVar6 + 0x68;\n      plVar29 = plVar27;\n      plVar28 = plVar40;\n      if (plVar27 == (long *)0x0) goto LAB_002c1c10;\n      do {\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      } while (plVar26 != (long *)0x0);\n      if (((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))\n      goto LAB_002c1c10;\n      plVar29 = plVar40;\n      if (uVar43 != 0) {\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }\n      do {\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      } while (plVar27 != (long *)0x0);\n      lVar31 = 0;\n      if ((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)) {\n        lVar31 = plVar28[5];\n      }\n      bVar47 = 0;\n      cVar15 = '\0';\n      goto LAB_002c1d90;\n    }\n    plVar40 = (long *)plVar6[99];\n    plVar27 = plVar6 + 0x62;\n    if ((long *)plVar6[99] != (long *)0x0) {\n      do {\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      } while ((long *)plVar29[2] != (long *)0x0);\nLAB_002c2b6a:\n      if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;\n      goto LAB_002c15fe;\n    }\nLAB_002c1c10:\n    cVar15 = '\0';\nLAB_002c1c17:\n    bVar45 = uVar44 == 100;\nLAB_002c13a0:\n    bVar42 = bVar14 & bVar45;\n    bVar48 = (bool)bVar42;\n    if ((bool)bVar42 == false) {\nLAB_002c13ac:\n      bVar48 = bVar45;\n      if ((uVar18 & 0xf7) == 0x85) {\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }\n    }\n    else {\nLAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");\n      FUN_0034a750(uVar22);\n      bVar14 = bVar42;\n    }\nLAB_002c13d7:\n    if (param_8 != (undefined8 *)0x0) goto LAB_002c16b8;\n    local_cf = (bVar47 ^ 1) & bVar48;\n    local_ce = local_cf;\n    if (local_cf != 0) goto LAB_002c1402;\n    local_cf = (bVar14 ^ 1) & uVar44 == 0x85;\n    if (local_cf == 0) goto LAB_002c1bcf;\n    local_84 = 0x85;\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_f0 = 0x21;\n    local_b8 = (ulong)(param_3 == 9);\n    local_ce = local_cf;\nLAB_002c1d4a:\n    if (1 < local_84 - 0x8b) {\n      uVar17 = (uint)(ushort)*param_10;\n      uVar18 = (uint)*(ushort *)((long)param_10 + 2);\nLAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;\nLAB_002c1467:\n      *(uint *)param_10 = uVar18;\n    }\n  }\n  else {\n    bVar14 = *(byte *)((long)param_8 + 0x39) >> 2;\n    bVar47 = (bVar14 & 0x3c) == 0x3c;\n    bVar14 = (bVar14 & 0x30) == 0x20;\n    local_cd = (bool)bVar47 || (bool)bVar14;\n    if (((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)) {\n      local_68 = FUN_001a5ac0(param_9,plVar6,0);\n      local_68 = local_68 | 1;\n      param_9 = &local_78;\n    }\n    else {\n      local_cd = false;\n    }\n    local_c8 = &local_78;\n    iVar35 = 0;\n    if (uVar44 - 1 < 0xf9) {\n      iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];\n    }\n                    /* try { // try from 002c11cb to 002c1a28 has its CatchHandler @ 002c47bb */\n    cVar15 = FUN_00228fa0(param_8,iVar35);\n    if (cVar15 == '\0') {\n      bVar45 = false;\n      bVar48 = *(char *)((long)param_8 + 0x65) == '\0';\n      if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }\n    }\n    else {\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }\n    lVar31 = 9;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"_gp_disp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar45 = *pbVar37 < *pbVar38;\n      bVar48 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar48);\n    lVar31 = 0xf;\n    bVar48 = !bVar45 && !bVar48;\n    bVar46 = bVar48 < bVar45;\n    bVar49 = bVar48 == bVar45;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"__gnu_local_gp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar46 = *pbVar37 < *pbVar38;\n      bVar49 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar49);\n    if (bVar48 != bVar45) {\n      if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }\nLAB_002c15d8:\n      cVar15 = '\0';\n      if (uVar44 != 100) goto LAB_002c15e9;\nLAB_002c12e3:\n      lVar25 = param_8[0xf];\n      if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = true;\nLAB_002c1320:\n      local_c8 = &local_78;\n      if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }\n      goto LAB_002c13a0;\n    }\n    local_b8 = (ulong)*(byte *)((long)plVar6 + 0x36c);\n    bVar42 = *(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1;\n    if ((!bVar46 && !bVar49) == bVar46) {\n      if (bVar42 == 0) goto LAB_002c1750;\n    }\n    else if (bVar42 == 0) goto LAB_002c15d8;\n    if ((((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40)) {\n      uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n    }\n    cVar15 = '\x01';\n    if (uVar44 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    if (param_8[0xe] == 0) {\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    if ((uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0')) {\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = false;\n      goto LAB_002c13ac;\n    }\nLAB_002c15fe:\n    local_c8 = &local_78;\n    uVar17 = *(uint *)(param_2 + 0x30);\n    unaff_R13 = (uint *)(ulong)uVar17;\n    cVar16 = FUN_002972f0(plVar6,unaff_R13);\n    if ((cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e))) {\n      if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }\n    if (param_8 == (undefined8 *)0x0) {\n      plVar40 = (long *)plVar6[99];\n      plVar27 = plVar6 + 0x62;\n      if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }\nLAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);\n      bVar48 = uVar44 == 100;\n      bVar47 = 0;\n      if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }\n      param_9 = local_c8;\n      local_cd = true;\n      goto LAB_002c13d7;\n    }\n    if (*(char *)(param_8 + 9) == '\0') {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");\n    }\n    if (*(int *)((long)param_8 + 0x4c) == -1) {\n      plVar40 = (long *)param_8[0xe];\n      goto LAB_002c3d91;\n    }\n    lVar31 = *(long *)(param_4 + 0x98);\n    if (lVar31 == 0) {\n      FUN_00290900();\nLAB_002c46d8:\n      FUN_00290940();\n      goto LAB_002c46dd;\n    }\n    local_cd = (bool)(*(byte *)(lVar31 + 0x20) & 1);\n    if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c4670:\n                    /* WARNING: Subroutine does not return */\n      FUN_00291e90();\n    }\n    bVar48 = uVar44 == 100;\n    local_68 = *(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8);\n    bVar47 = 0;\n    if ((uVar18 & 0xf7) != 0x85) {\n      param_9 = local_c8;\n      goto LAB_002c13c4;\n    }\n    param_9 = local_c8;\nLAB_002c16b8:\n    cVar16 = FUN_002e7200(param_8);\n    if (cVar16 == '\0') {\n      local_cf = (bVar47 ^ 1) & bVar48;\n      if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    else {\n      local_cf = 0;\n    }\n    if (*(char *)((long)param_8 + 100) != '\0') {\n      local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n      if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar44 - 100;\n      uVar32 = (ulong)(uVar44 - 0x85);\n      local_b8 = (ulong)(param_3 == 9);\n      uStack_80 = 0;\n      uStack_7c = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar30 = (ushort)*param_10;\n      uVar17 = (uint)uVar30;\n      uVar2 = *(ushort *)((long)param_10 + 2);\n      uVar18 = (uint)uVar2;\n      local_84 = uVar44;\n      if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0);\n    if ((local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    if (uVar44 - 0x85 < 0x29) {\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_ce = 0;\n    local_b8 = (ulong)(param_3 == 9);\nLAB_002c1b2f:\n    local_84 = uVar44;\n    if (((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;\n  }" if (parenthesized_expression "(param_8 == (undefined8 *)0x0)" ( (binary_expression "param_8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46) <= (ulong)uVar33) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");\n    }\n    local_e8 = (byte)(uVar18 >> 8);\n    uVar24 = 1L << (local_e8 & 0x3f);\n    uVar32 = *(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8);\n    local_b8 = plVar6[0x4c];\n    uVar43 = uVar24 & uVar32;\n    bVar47 = uVar43 != 0;\n    if (((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b) <= (ulong)uVar33) {\nLAB_002c45d2:\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");\n    }\n    uVar8 = *(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8);\n    bVar14 = (uVar24 & uVar8) != 0;\n    local_cd = ((uVar32 | uVar8) & uVar24) != 0;\n    if (local_cd) {\n                    /* try { // try from 002c2e1b to 002c47aa has its CatchHandler @ 002c47bb */\n      local_68 = FUN_001a5ac0(param_9,plVar6,1);\n      param_9 = &local_78;\n    }\n    if (uVar44 == 100) {\n      plVar27 = (long *)plVar6[0x69];\n      plVar40 = plVar6 + 0x68;\n      plVar29 = plVar27;\n      plVar28 = plVar40;\n      if (plVar27 == (long *)0x0) goto LAB_002c1c10;\n      do {\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      } while (plVar26 != (long *)0x0);\n      if (((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))\n      goto LAB_002c1c10;\n      plVar29 = plVar40;\n      if (uVar43 != 0) {\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }\n      do {\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      } while (plVar27 != (long *)0x0);\n      lVar31 = 0;\n      if ((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)) {\n        lVar31 = plVar28[5];\n      }\n      bVar47 = 0;\n      cVar15 = '\0';\n      goto LAB_002c1d90;\n    }\n    plVar40 = (long *)plVar6[99];\n    plVar27 = plVar6 + 0x62;\n    if ((long *)plVar6[99] != (long *)0x0) {\n      do {\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      } while ((long *)plVar29[2] != (long *)0x0);\nLAB_002c2b6a:\n      if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;\n      goto LAB_002c15fe;\n    }\nLAB_002c1c10:\n    cVar15 = '\0';\nLAB_002c1c17:\n    bVar45 = uVar44 == 100;\nLAB_002c13a0:\n    bVar42 = bVar14 & bVar45;\n    bVar48 = (bool)bVar42;\n    if ((bool)bVar42 == false) {\nLAB_002c13ac:\n      bVar48 = bVar45;\n      if ((uVar18 & 0xf7) == 0x85) {\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }\n    }\n    else {\nLAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");\n      FUN_0034a750(uVar22);\n      bVar14 = bVar42;\n    }\nLAB_002c13d7:\n    if (param_8 != (undefined8 *)0x0) goto LAB_002c16b8;\n    local_cf = (bVar47 ^ 1) & bVar48;\n    local_ce = local_cf;\n    if (local_cf != 0) goto LAB_002c1402;\n    local_cf = (bVar14 ^ 1) & uVar44 == 0x85;\n    if (local_cf == 0) goto LAB_002c1bcf;\n    local_84 = 0x85;\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_f0 = 0x21;\n    local_b8 = (ulong)(param_3 == 9);\n    local_ce = local_cf;\nLAB_002c1d4a:\n    if (1 < local_84 - 0x8b) {\n      uVar17 = (uint)(ushort)*param_10;\n      uVar18 = (uint)*(ushort *)((long)param_10 + 2);\nLAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;\nLAB_002c1467:\n      *(uint *)param_10 = uVar18;\n    }\n  }" { (if_statement "if (((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46) <= (ulong)uVar33) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");\n    }" if (parenthesized_expression "(((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46) <= (ulong)uVar33)" ( (binary_expression "((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46) <= (ulong)uVar33" (binary_expression "((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46)" (parenthesized_expression "((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8)" ( (binary_expression "(ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8" (binary_expression "(ulong)*(uint *)(plVar6 + 0x48)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(plVar6 + 0x48)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0x48)" ( (binary_expression "plVar6 + 0x48" identifier + number_literal) )))) + (binary_expression "(plVar6[0x47] - plVar6[0x45]) * 8" (parenthesized_expression "(plVar6[0x47] - plVar6[0x45])" ( (binary_expression "plVar6[0x47] - plVar6[0x45]" (subscript_expression "plVar6[0x47]" identifier [ number_literal ]) - (subscript_expression "plVar6[0x45]" identifier [ number_literal ])) )) * number_literal)) )) - (binary_expression "(ulong)*(uint *)(plVar6 + 0x46)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(plVar6 + 0x46)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0x46)" ( (binary_expression "plVar6 + 0x46" identifier + number_literal) ))))) <= (cast_expression "(ulong)uVar33" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");\n    }" { comment (expression_statement "FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16")" identifier (argument_list "("../../gold/mips.cc",0x65f,"local_symbol_is_mips16")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""local_symbol_is_mips16"" " string_content ") ))) ;) })) (expression_statement "local_e8 = (byte)(uVar18 >> 8);" (assignment_expression "local_e8 = (byte)(uVar18 >> 8)" identifier = (call_expression "(byte)(uVar18 >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar18 >> 8)" ( (binary_expression "uVar18 >> 8" identifier >> number_literal) )))) ;) (expression_statement "uVar24 = 1L << (local_e8 & 0x3f);" (assignment_expression "uVar24 = 1L << (local_e8 & 0x3f)" identifier = (binary_expression "1L << (local_e8 & 0x3f)" number_literal << (parenthesized_expression "(local_e8 & 0x3f)" ( (binary_expression "local_e8 & 0x3f" identifier & number_literal) )))) ;) (expression_statement "uVar32 = *(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8);" (assignment_expression "uVar32 = *(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8)" identifier = (pointer_expression "*(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8)" * (cast_expression "(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8)" ( (binary_expression "plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8" (subscript_expression "plVar6[0x45]" identifier [ number_literal ]) + (binary_expression "(ulong)(uVar18 >> 0xe) * 8" (call_expression "(ulong)(uVar18 >> 0xe)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar18 >> 0xe)" ( (binary_expression "uVar18 >> 0xe" identifier >> number_literal) ))) * number_literal)) ))))) ;) (expression_statement "local_b8 = plVar6[0x4c];" (assignment_expression "local_b8 = plVar6[0x4c]" identifier = (subscript_expression "plVar6[0x4c]" identifier [ number_literal ])) ;) (expression_statement "uVar43 = uVar24 & uVar32;" (assignment_expression "uVar43 = uVar24 & uVar32" identifier = (binary_expression "uVar24 & uVar32" identifier & identifier)) ;) (expression_statement "bVar47 = uVar43 != 0;" (assignment_expression "bVar47 = uVar43 != 0" identifier = (binary_expression "uVar43 != 0" identifier != number_literal)) ;) (if_statement "if (((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b) <= (ulong)uVar33) {\nLAB_002c45d2:\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");\n    }" if (parenthesized_expression "(((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b) <= (ulong)uVar33)" ( (binary_expression "((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b) <= (ulong)uVar33" (binary_expression "((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b)" (parenthesized_expression "((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8)" ( (binary_expression "(ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8" (binary_expression "(ulong)*(uint *)(plVar6 + 0x4d)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(plVar6 + 0x4d)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0x4d)" ( (binary_expression "plVar6 + 0x4d" identifier + number_literal) )))) + (binary_expression "(local_b8 - plVar6[0x4a]) * 8" (parenthesized_expression "(local_b8 - plVar6[0x4a])" ( (binary_expression "local_b8 - plVar6[0x4a]" identifier - (subscript_expression "plVar6[0x4a]" identifier [ number_literal ])) )) * number_literal)) )) - (binary_expression "(ulong)*(uint *)(plVar6 + 0x4b)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(plVar6 + 0x4b)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0x4b)" ( (binary_expression "plVar6 + 0x4b" identifier + number_literal) ))))) <= (cast_expression "(ulong)uVar33" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\nLAB_002c45d2:\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");\n    }" { (labeled_statement "LAB_002c45d2:\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");" statement_identifier : comment (expression_statement "FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips")" identifier (argument_list "("../../gold/mips.cc",0x668,"local_symbol_is_micromips")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""local_symbol_is_micromips"" " string_content ") ))) ;)) })) (expression_statement "uVar8 = *(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8);" (assignment_expression "uVar8 = *(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8)" identifier = (pointer_expression "*(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8)" * (cast_expression "(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8)" ( (binary_expression "plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8" (subscript_expression "plVar6[0x4a]" identifier [ number_literal ]) + (binary_expression "(ulong)(uVar18 >> 0xe) * 8" (call_expression "(ulong)(uVar18 >> 0xe)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar18 >> 0xe)" ( (binary_expression "uVar18 >> 0xe" identifier >> number_literal) ))) * number_literal)) ))))) ;) (expression_statement "bVar14 = (uVar24 & uVar8) != 0;" (assignment_expression "bVar14 = (uVar24 & uVar8) != 0" identifier = (binary_expression "(uVar24 & uVar8) != 0" (parenthesized_expression "(uVar24 & uVar8)" ( (binary_expression "uVar24 & uVar8" identifier & identifier) )) != number_literal)) ;) (expression_statement "local_cd = ((uVar32 | uVar8) & uVar24) != 0;" (assignment_expression "local_cd = ((uVar32 | uVar8) & uVar24) != 0" identifier = (binary_expression "((uVar32 | uVar8) & uVar24) != 0" (parenthesized_expression "((uVar32 | uVar8) & uVar24)" ( (binary_expression "(uVar32 | uVar8) & uVar24" (parenthesized_expression "(uVar32 | uVar8)" ( (binary_expression "uVar32 | uVar8" identifier | identifier) )) & identifier) )) != number_literal)) ;) (if_statement "if (local_cd) {\n                    /* try { // try from 002c2e1b to 002c47aa has its CatchHandler @ 002c47bb */\n      local_68 = FUN_001a5ac0(param_9,plVar6,1);\n      param_9 = &local_78;\n    }" if (parenthesized_expression "(local_cd)" ( identifier )) (compound_statement "{\n                    /* try { // try from 002c2e1b to 002c47aa has its CatchHandler @ 002c47bb */\n      local_68 = FUN_001a5ac0(param_9,plVar6,1);\n      param_9 = &local_78;\n    }" { comment (expression_statement "local_68 = FUN_001a5ac0(param_9,plVar6,1);" (assignment_expression "local_68 = FUN_001a5ac0(param_9,plVar6,1)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,1)" identifier (argument_list "(param_9,plVar6,1)" ( identifier , identifier , number_literal )))) ;) (expression_statement "param_9 = &local_78;" (assignment_expression "param_9 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;) })) (if_statement "if (uVar44 == 100) {\n      plVar27 = (long *)plVar6[0x69];\n      plVar40 = plVar6 + 0x68;\n      plVar29 = plVar27;\n      plVar28 = plVar40;\n      if (plVar27 == (long *)0x0) goto LAB_002c1c10;\n      do {\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      } while (plVar26 != (long *)0x0);\n      if (((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))\n      goto LAB_002c1c10;\n      plVar29 = plVar40;\n      if (uVar43 != 0) {\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }\n      do {\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      } while (plVar27 != (long *)0x0);\n      lVar31 = 0;\n      if ((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)) {\n        lVar31 = plVar28[5];\n      }\n      bVar47 = 0;\n      cVar15 = '\0';\n      goto LAB_002c1d90;\n    }" if (parenthesized_expression "(uVar44 == 100)" ( (binary_expression "uVar44 == 100" identifier == number_literal) )) (compound_statement "{\n      plVar27 = (long *)plVar6[0x69];\n      plVar40 = plVar6 + 0x68;\n      plVar29 = plVar27;\n      plVar28 = plVar40;\n      if (plVar27 == (long *)0x0) goto LAB_002c1c10;\n      do {\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      } while (plVar26 != (long *)0x0);\n      if (((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))\n      goto LAB_002c1c10;\n      plVar29 = plVar40;\n      if (uVar43 != 0) {\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }\n      do {\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      } while (plVar27 != (long *)0x0);\n      lVar31 = 0;\n      if ((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)) {\n        lVar31 = plVar28[5];\n      }\n      bVar47 = 0;\n      cVar15 = '\0';\n      goto LAB_002c1d90;\n    }" { (expression_statement "plVar27 = (long *)plVar6[0x69];" (assignment_expression "plVar27 = (long *)plVar6[0x69]" identifier = (cast_expression "(long *)plVar6[0x69]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar6[0x69]" identifier [ number_literal ]))) ;) (expression_statement "plVar40 = plVar6 + 0x68;" (assignment_expression "plVar40 = plVar6 + 0x68" identifier = (binary_expression "plVar6 + 0x68" identifier + number_literal)) ;) (expression_statement "plVar29 = plVar27;" (assignment_expression "plVar29 = plVar27" identifier = identifier) ;) (expression_statement "plVar28 = plVar40;" (assignment_expression "plVar28 = plVar40" identifier = identifier) ;) (if_statement "if (plVar27 == (long *)0x0) goto LAB_002c1c10;" if (parenthesized_expression "(plVar27 == (long *)0x0)" ( (binary_expression "plVar27 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002c1c10;" goto statement_identifier ;)) (do_statement "do {\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      } while (plVar26 != (long *)0x0);" do (compound_statement "{\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      }" { (if_statement "if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }" if (parenthesized_expression "(*(uint *)(plVar29 + 4) < uVar33)" ( (binary_expression "*(uint *)(plVar29 + 4) < uVar33" (pointer_expression "*(uint *)(plVar29 + 4)" * (cast_expression "(uint *)(plVar29 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar29 + 4)" ( (binary_expression "plVar29 + 4" identifier + number_literal) )))) < identifier) )) (compound_statement "{\n          plVar26 = (long *)plVar29[3];\n        }" { (expression_statement "plVar26 = (long *)plVar29[3];" (assignment_expression "plVar26 = (long *)plVar29[3]" identifier = (cast_expression "(long *)plVar29[3]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar29[3]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }" else (compound_statement "{\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }" { (expression_statement "plVar26 = (long *)plVar29[2];" (assignment_expression "plVar26 = (long *)plVar29[2]" identifier = (cast_expression "(long *)plVar29[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar29[2]" identifier [ number_literal ]))) ;) (expression_statement "plVar28 = plVar29;" (assignment_expression "plVar28 = plVar29" identifier = identifier) ;) }))) (expression_statement "plVar29 = plVar26;" (assignment_expression "plVar29 = plVar26" identifier = identifier) ;) }) while (parenthesized_expression "(plVar26 != (long *)0x0)" ( (binary_expression "plVar26 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))\n      goto LAB_002c1c10;" if (parenthesized_expression "(((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))" ( (binary_expression "((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0)" (parenthesized_expression "((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4)))" ( (binary_expression "(plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))" (parenthesized_expression "(plVar40 == plVar28)" ( (binary_expression "plVar40 == plVar28" identifier == identifier) )) || (parenthesized_expression "(uVar33 < *(uint *)(plVar28 + 4))" ( (binary_expression "uVar33 < *(uint *)(plVar28 + 4)" identifier < (pointer_expression "*(uint *)(plVar28 + 4)" * (cast_expression "(uint *)(plVar28 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar28 + 4)" ( (binary_expression "plVar28 + 4" identifier + number_literal) ))))) ))) )) || (parenthesized_expression "(plVar28[5] == 0)" ( (binary_expression "plVar28[5] == 0" (subscript_expression "plVar28[5]" identifier [ number_literal ]) == number_literal) ))) )) (goto_statement "goto LAB_002c1c10;" goto statement_identifier ;)) (expression_statement "plVar29 = plVar40;" (assignment_expression "plVar29 = plVar40" identifier = identifier) ;) (if_statement "if (uVar43 != 0) {\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }" if (parenthesized_expression "(uVar43 != 0)" ( (binary_expression "uVar43 != 0" identifier != number_literal) )) (compound_statement "{\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }" { (expression_statement "bVar47 = true;" (assignment_expression "bVar47 = true" identifier = true) ;) (goto_statement "goto LAB_002c1c10;" goto statement_identifier ;) })) (do_statement "do {\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      } while (plVar27 != (long *)0x0);" do (compound_statement "{\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      }" { (expression_statement "plVar28 = plVar27;" (assignment_expression "plVar28 = plVar27" identifier = identifier) ;) (if_statement "if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }" if (parenthesized_expression "(*(uint *)(plVar28 + 4) < uVar33)" ( (binary_expression "*(uint *)(plVar28 + 4) < uVar33" (pointer_expression "*(uint *)(plVar28 + 4)" * (cast_expression "(uint *)(plVar28 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar28 + 4)" ( (binary_expression "plVar28 + 4" identifier + number_literal) )))) < identifier) )) (compound_statement "{\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }" { (expression_statement "plVar27 = (long *)plVar28[3];" (assignment_expression "plVar27 = (long *)plVar28[3]" identifier = (cast_expression "(long *)plVar28[3]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar28[3]" identifier [ number_literal ]))) ;) (expression_statement "plVar28 = plVar29;" (assignment_expression "plVar28 = plVar29" identifier = identifier) ;) }) (else_clause "else {\n          plVar27 = (long *)plVar28[2];\n        }" else (compound_statement "{\n          plVar27 = (long *)plVar28[2];\n        }" { (expression_statement "plVar27 = (long *)plVar28[2];" (assignment_expression "plVar27 = (long *)plVar28[2]" identifier = (cast_expression "(long *)plVar28[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar28[2]" identifier [ number_literal ]))) ;) }))) (expression_statement "plVar29 = plVar28;" (assignment_expression "plVar29 = plVar28" identifier = identifier) ;) }) while (parenthesized_expression "(plVar27 != (long *)0x0)" ( (binary_expression "plVar27 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "lVar31 = 0;" (assignment_expression "lVar31 = 0" identifier = number_literal) ;) (if_statement "if ((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)) {\n        lVar31 = plVar28[5];\n      }" if (parenthesized_expression "((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33))" ( (binary_expression "(plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)" (parenthesized_expression "(plVar40 != plVar28)" ( (binary_expression "plVar40 != plVar28" identifier != identifier) )) && (parenthesized_expression "(*(uint *)(plVar28 + 4) <= uVar33)" ( (binary_expression "*(uint *)(plVar28 + 4) <= uVar33" (pointer_expression "*(uint *)(plVar28 + 4)" * (cast_expression "(uint *)(plVar28 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar28 + 4)" ( (binary_expression "plVar28 + 4" identifier + number_literal) )))) <= identifier) ))) )) (compound_statement "{\n        lVar31 = plVar28[5];\n      }" { (expression_statement "lVar31 = plVar28[5];" (assignment_expression "lVar31 = plVar28[5]" identifier = (subscript_expression "plVar28[5]" identifier [ number_literal ])) ;) })) (expression_statement "bVar47 = 0;" (assignment_expression "bVar47 = 0" identifier = number_literal) ;) (expression_statement "cVar15 = '\0';" (assignment_expression "cVar15 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (goto_statement "goto LAB_002c1d90;" goto statement_identifier ;) })) (expression_statement "plVar40 = (long *)plVar6[99];" (assignment_expression "plVar40 = (long *)plVar6[99]" identifier = (cast_expression "(long *)plVar6[99]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar6[99]" identifier [ number_literal ]))) ;) (expression_statement "plVar27 = plVar6 + 0x62;" (assignment_expression "plVar27 = plVar6 + 0x62" identifier = (binary_expression "plVar6 + 0x62" identifier + number_literal)) ;) (if_statement "if ((long *)plVar6[99] != (long *)0x0) {\n      do {\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      } while ((long *)plVar29[2] != (long *)0x0);\nLAB_002c2b6a:\n      if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;\n      goto LAB_002c15fe;\n    }" if (parenthesized_expression "((long *)plVar6[99] != (long *)0x0)" ( (binary_expression "(long *)plVar6[99] != (long *)0x0" (cast_expression "(long *)plVar6[99]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar6[99]" identifier [ number_literal ])) != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      do {\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      } while ((long *)plVar29[2] != (long *)0x0);\nLAB_002c2b6a:\n      if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;\n      goto LAB_002c15fe;\n    }" { (do_statement "do {\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      } while ((long *)plVar29[2] != (long *)0x0);" do (compound_statement "{\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      }" { (while_statement "while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }" while (parenthesized_expression "(plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33)" ( (comma_expression "plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33" (assignment_expression "plVar29 = plVar40" identifier = identifier) , (binary_expression "*(uint *)(plVar29 + 4) < uVar33" (pointer_expression "*(uint *)(plVar29 + 4)" * (cast_expression "(uint *)(plVar29 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar29 + 4)" ( (binary_expression "plVar29 + 4" identifier + number_literal) )))) < identifier)) )) (compound_statement "{\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }" { (expression_statement "plVar28 = plVar29 + 3;" (assignment_expression "plVar28 = plVar29 + 3" identifier = (binary_expression "plVar29 + 3" identifier + number_literal)) ;) (expression_statement "plVar40 = (long *)*plVar28;" (assignment_expression "plVar40 = (long *)*plVar28" identifier = (cast_expression "(long *)*plVar28" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar28" * identifier))) ;) (expression_statement "plVar29 = plVar27;" (assignment_expression "plVar29 = plVar27" identifier = identifier) ;) (if_statement "if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;" if (parenthesized_expression "((long *)*plVar28 == (long *)0x0)" ( (binary_expression "(long *)*plVar28 == (long *)0x0" (cast_expression "(long *)*plVar28" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar28" * identifier)) == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002c2b6a;" goto statement_identifier ;)) })) (expression_statement "plVar40 = (long *)plVar29[2];" (assignment_expression "plVar40 = (long *)plVar29[2]" identifier = (cast_expression "(long *)plVar29[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar29[2]" identifier [ number_literal ]))) ;) (expression_statement "plVar27 = plVar29;" (assignment_expression "plVar27 = plVar29" identifier = identifier) ;) }) while (parenthesized_expression "((long *)plVar29[2] != (long *)0x0)" ( (binary_expression "(long *)plVar29[2] != (long *)0x0" (cast_expression "(long *)plVar29[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar29[2]" identifier [ number_literal ])) != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_002c2b6a:\n      if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;" statement_identifier : (if_statement "if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;" if (parenthesized_expression "(((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0))" ( (binary_expression "((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)" (parenthesized_expression "((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4)))" ( (binary_expression "(plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))" (parenthesized_expression "(plVar6 + 0x62 == plVar29)" ( (binary_expression "plVar6 + 0x62 == plVar29" (binary_expression "plVar6 + 0x62" identifier + number_literal) == identifier) )) || (parenthesized_expression "(uVar33 < *(uint *)(plVar29 + 4))" ( (binary_expression "uVar33 < *(uint *)(plVar29 + 4)" identifier < (pointer_expression "*(uint *)(plVar29 + 4)" * (cast_expression "(uint *)(plVar29 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar29 + 4)" ( (binary_expression "plVar29 + 4" identifier + number_literal) ))))) ))) )) || (parenthesized_expression "(cVar15 = '\0', plVar29[5] == 0)" ( (comma_expression "cVar15 = '\0', plVar29[5] == 0" (assignment_expression "cVar15 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) , (binary_expression "plVar29[5] == 0" (subscript_expression "plVar29[5]" identifier [ number_literal ]) == number_literal)) ))) )) (goto_statement "goto LAB_002c1c10;" goto statement_identifier ;))) (goto_statement "goto LAB_002c15fe;" goto statement_identifier ;) })) (labeled_statement "LAB_002c1c10:\n    cVar15 = '\0';" statement_identifier : (expression_statement "cVar15 = '\0';" (assignment_expression "cVar15 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;)) (labeled_statement "LAB_002c1c17:\n    bVar45 = uVar44 == 100;" statement_identifier : (expression_statement "bVar45 = uVar44 == 100;" (assignment_expression "bVar45 = uVar44 == 100" identifier = (binary_expression "uVar44 == 100" identifier == number_literal)) ;)) (labeled_statement "LAB_002c13a0:\n    bVar42 = bVar14 & bVar45;" statement_identifier : (expression_statement "bVar42 = bVar14 & bVar45;" (assignment_expression "bVar42 = bVar14 & bVar45" identifier = (binary_expression "bVar14 & bVar45" identifier & identifier)) ;)) (expression_statement "bVar48 = (bool)bVar42;" (assignment_expression "bVar48 = (bool)bVar42" identifier = (cast_expression "(bool)bVar42" ( (type_descriptor "bool" primitive_type) ) identifier)) ;) (if_statement "if ((bool)bVar42 == false) {\nLAB_002c13ac:\n      bVar48 = bVar45;\n      if ((uVar18 & 0xf7) == 0x85) {\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }\n    }\n    else {\nLAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");\n      FUN_0034a750(uVar22);\n      bVar14 = bVar42;\n    }" if (parenthesized_expression "((bool)bVar42 == false)" ( (binary_expression "(bool)bVar42 == false" (cast_expression "(bool)bVar42" ( (type_descriptor "bool" primitive_type) ) identifier) == false) )) (compound_statement "{\nLAB_002c13ac:\n      bVar48 = bVar45;\n      if ((uVar18 & 0xf7) == 0x85) {\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }\n    }" { (labeled_statement "LAB_002c13ac:\n      bVar48 = bVar45;" statement_identifier : (expression_statement "bVar48 = bVar45;" (assignment_expression "bVar48 = bVar45" identifier = identifier) ;)) (if_statement "if ((uVar18 & 0xf7) == 0x85) {\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }" if (parenthesized_expression "((uVar18 & 0xf7) == 0x85)" ( (binary_expression "(uVar18 & 0xf7) == 0x85" (parenthesized_expression "(uVar18 & 0xf7)" ( (binary_expression "uVar18 & 0xf7" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }" { (labeled_statement "LAB_002c1870:\n        bVar42 = bVar14;" statement_identifier : (expression_statement "bVar42 = bVar14;" (assignment_expression "bVar42 = bVar14" identifier = identifier) ;)) (if_statement "if (bVar47 != 0) goto LAB_002c187c;" if (parenthesized_expression "(bVar47 != 0)" ( (binary_expression "bVar47 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002c187c;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }" else (compound_statement "{\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }" { (labeled_statement "LAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;" statement_identifier : (if_statement "if (uVar44 - 0x8b < 2) goto LAB_002c1870;" if (parenthesized_expression "(uVar44 - 0x8b < 2)" ( (binary_expression "uVar44 - 0x8b < 2" (binary_expression "uVar44 - 0x8b" identifier - number_literal) < number_literal) )) (goto_statement "goto LAB_002c1870;" goto statement_identifier ;))) }))) }) (else_clause "else {\nLAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");\n      FUN_0034a750(uVar22);\n      bVar14 = bVar42;\n    }" else (compound_statement "{\nLAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");\n      FUN_0034a750(uVar22);\n      bVar14 = bVar42;\n    }" { (labeled_statement "LAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");" statement_identifier : (expression_statement "uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");" (assignment_expression "uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other")" identifier = (call_expression "gettext("MIPS16 and microMIPS functions cannot call each other")" identifier (argument_list "("MIPS16 and microMIPS functions cannot call each other")" ( (string_literal ""MIPS16 and microMIPS functions cannot call each other"" " string_content ") )))) ;)) (expression_statement "FUN_0034a750(uVar22);" (call_expression "FUN_0034a750(uVar22)" identifier (argument_list "(uVar22)" ( identifier ))) ;) (expression_statement "bVar14 = bVar42;" (assignment_expression "bVar14 = bVar42" identifier = identifier) ;) }))) (labeled_statement "LAB_002c13d7:\n    if (param_8 != (undefined8 *)0x0) goto LAB_002c16b8;" statement_identifier : (if_statement "if (param_8 != (undefined8 *)0x0) goto LAB_002c16b8;" if (parenthesized_expression "(param_8 != (undefined8 *)0x0)" ( (binary_expression "param_8 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002c16b8;" goto statement_identifier ;))) (expression_statement "local_cf = (bVar47 ^ 1) & bVar48;" (assignment_expression "local_cf = (bVar47 ^ 1) & bVar48" identifier = (binary_expression "(bVar47 ^ 1) & bVar48" (parenthesized_expression "(bVar47 ^ 1)" ( (binary_expression "bVar47 ^ 1" identifier ^ number_literal) )) & identifier)) ;) (expression_statement "local_ce = local_cf;" (assignment_expression "local_ce = local_cf" identifier = identifier) ;) (if_statement "if (local_cf != 0) goto LAB_002c1402;" if (parenthesized_expression "(local_cf != 0)" ( (binary_expression "local_cf != 0" identifier != number_literal) )) (goto_statement "goto LAB_002c1402;" goto statement_identifier ;)) (expression_statement "local_cf = (bVar14 ^ 1) & uVar44 == 0x85;" (assignment_expression "local_cf = (bVar14 ^ 1) & uVar44 == 0x85" identifier = (binary_expression "(bVar14 ^ 1) & uVar44 == 0x85" (parenthesized_expression "(bVar14 ^ 1)" ( (binary_expression "bVar14 ^ 1" identifier ^ number_literal) )) & (binary_expression "uVar44 == 0x85" identifier == number_literal))) ;) (if_statement "if (local_cf == 0) goto LAB_002c1bcf;" if (parenthesized_expression "(local_cf == 0)" ( (binary_expression "local_cf == 0" identifier == number_literal) )) (goto_statement "goto LAB_002c1bcf;" goto statement_identifier ;)) (expression_statement "local_84 = 0x85;" (assignment_expression "local_84 = 0x85" identifier = number_literal) ;) (expression_statement "uStack_80 = 0;" (assignment_expression "uStack_80 = 0" identifier = number_literal) ;) (expression_statement "uStack_7c = 0;" (assignment_expression "uStack_7c = 0" identifier = number_literal) ;) (expression_statement "local_f0 = 0x21;" (assignment_expression "local_f0 = 0x21" identifier = number_literal) ;) (expression_statement "local_b8 = (ulong)(param_3 == 9);" (assignment_expression "local_b8 = (ulong)(param_3 == 9)" identifier = (call_expression "(ulong)(param_3 == 9)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(param_3 == 9)" ( (binary_expression "param_3 == 9" identifier == number_literal) )))) ;) (expression_statement "local_ce = local_cf;" (assignment_expression "local_ce = local_cf" identifier = identifier) ;) (labeled_statement "LAB_002c1d4a:\n    if (1 < local_84 - 0x8b) {\n      uVar17 = (uint)(ushort)*param_10;\n      uVar18 = (uint)*(ushort *)((long)param_10 + 2);\nLAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;\nLAB_002c1467:\n      *(uint *)param_10 = uVar18;\n    }" statement_identifier : (if_statement "if (1 < local_84 - 0x8b) {\n      uVar17 = (uint)(ushort)*param_10;\n      uVar18 = (uint)*(ushort *)((long)param_10 + 2);\nLAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;\nLAB_002c1467:\n      *(uint *)param_10 = uVar18;\n    }" if (parenthesized_expression "(1 < local_84 - 0x8b)" ( (binary_expression "1 < local_84 - 0x8b" number_literal < (binary_expression "local_84 - 0x8b" identifier - number_literal)) )) (compound_statement "{\n      uVar17 = (uint)(ushort)*param_10;\n      uVar18 = (uint)*(ushort *)((long)param_10 + 2);\nLAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;\nLAB_002c1467:\n      *(uint *)param_10 = uVar18;\n    }" { (expression_statement "uVar17 = (uint)(ushort)*param_10;" (assignment_expression "uVar17 = (uint)(ushort)*param_10" identifier = (binary_expression "(uint)(ushort)*param_10" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ushort)" ( identifier ))) * identifier)) ;) (expression_statement "uVar18 = (uint)*(ushort *)((long)param_10 + 2);" (assignment_expression "uVar18 = (uint)*(ushort *)((long)param_10 + 2)" identifier = (binary_expression "(uint)*(ushort *)((long)param_10 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((long)param_10 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_10 + 2)" ( (binary_expression "(long)param_10 + 2" (cast_expression "(long)param_10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (labeled_statement "LAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;" statement_identifier : (expression_statement "uVar18 = uVar17 << 0x10 | uVar18;" (assignment_expression "uVar18 = uVar17 << 0x10 | uVar18" identifier = (binary_expression "uVar17 << 0x10 | uVar18" (binary_expression "uVar17 << 0x10" identifier << number_literal) | identifier)) ;)) (labeled_statement "LAB_002c1467:\n      *(uint *)param_10 = uVar18;" statement_identifier : (expression_statement "*(uint *)param_10 = uVar18;" (assignment_expression "*(uint *)param_10 = uVar18" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;)) }))) }) (else_clause "else {\n    bVar14 = *(byte *)((long)param_8 + 0x39) >> 2;\n    bVar47 = (bVar14 & 0x3c) == 0x3c;\n    bVar14 = (bVar14 & 0x30) == 0x20;\n    local_cd = (bool)bVar47 || (bool)bVar14;\n    if (((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)) {\n      local_68 = FUN_001a5ac0(param_9,plVar6,0);\n      local_68 = local_68 | 1;\n      param_9 = &local_78;\n    }\n    else {\n      local_cd = false;\n    }\n    local_c8 = &local_78;\n    iVar35 = 0;\n    if (uVar44 - 1 < 0xf9) {\n      iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];\n    }\n                    /* try { // try from 002c11cb to 002c1a28 has its CatchHandler @ 002c47bb */\n    cVar15 = FUN_00228fa0(param_8,iVar35);\n    if (cVar15 == '\0') {\n      bVar45 = false;\n      bVar48 = *(char *)((long)param_8 + 0x65) == '\0';\n      if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }\n    }\n    else {\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }\n    lVar31 = 9;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"_gp_disp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar45 = *pbVar37 < *pbVar38;\n      bVar48 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar48);\n    lVar31 = 0xf;\n    bVar48 = !bVar45 && !bVar48;\n    bVar46 = bVar48 < bVar45;\n    bVar49 = bVar48 == bVar45;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"__gnu_local_gp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar46 = *pbVar37 < *pbVar38;\n      bVar49 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar49);\n    if (bVar48 != bVar45) {\n      if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }\nLAB_002c15d8:\n      cVar15 = '\0';\n      if (uVar44 != 100) goto LAB_002c15e9;\nLAB_002c12e3:\n      lVar25 = param_8[0xf];\n      if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = true;\nLAB_002c1320:\n      local_c8 = &local_78;\n      if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }\n      goto LAB_002c13a0;\n    }\n    local_b8 = (ulong)*(byte *)((long)plVar6 + 0x36c);\n    bVar42 = *(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1;\n    if ((!bVar46 && !bVar49) == bVar46) {\n      if (bVar42 == 0) goto LAB_002c1750;\n    }\n    else if (bVar42 == 0) goto LAB_002c15d8;\n    if ((((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40)) {\n      uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n    }\n    cVar15 = '\x01';\n    if (uVar44 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    if (param_8[0xe] == 0) {\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    if ((uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0')) {\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = false;\n      goto LAB_002c13ac;\n    }\nLAB_002c15fe:\n    local_c8 = &local_78;\n    uVar17 = *(uint *)(param_2 + 0x30);\n    unaff_R13 = (uint *)(ulong)uVar17;\n    cVar16 = FUN_002972f0(plVar6,unaff_R13);\n    if ((cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e))) {\n      if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }\n    if (param_8 == (undefined8 *)0x0) {\n      plVar40 = (long *)plVar6[99];\n      plVar27 = plVar6 + 0x62;\n      if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }\nLAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);\n      bVar48 = uVar44 == 100;\n      bVar47 = 0;\n      if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }\n      param_9 = local_c8;\n      local_cd = true;\n      goto LAB_002c13d7;\n    }\n    if (*(char *)(param_8 + 9) == '\0') {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");\n    }\n    if (*(int *)((long)param_8 + 0x4c) == -1) {\n      plVar40 = (long *)param_8[0xe];\n      goto LAB_002c3d91;\n    }\n    lVar31 = *(long *)(param_4 + 0x98);\n    if (lVar31 == 0) {\n      FUN_00290900();\nLAB_002c46d8:\n      FUN_00290940();\n      goto LAB_002c46dd;\n    }\n    local_cd = (bool)(*(byte *)(lVar31 + 0x20) & 1);\n    if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c4670:\n                    /* WARNING: Subroutine does not return */\n      FUN_00291e90();\n    }\n    bVar48 = uVar44 == 100;\n    local_68 = *(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8);\n    bVar47 = 0;\n    if ((uVar18 & 0xf7) != 0x85) {\n      param_9 = local_c8;\n      goto LAB_002c13c4;\n    }\n    param_9 = local_c8;\nLAB_002c16b8:\n    cVar16 = FUN_002e7200(param_8);\n    if (cVar16 == '\0') {\n      local_cf = (bVar47 ^ 1) & bVar48;\n      if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    else {\n      local_cf = 0;\n    }\n    if (*(char *)((long)param_8 + 100) != '\0') {\n      local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n      if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar44 - 100;\n      uVar32 = (ulong)(uVar44 - 0x85);\n      local_b8 = (ulong)(param_3 == 9);\n      uStack_80 = 0;\n      uStack_7c = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar30 = (ushort)*param_10;\n      uVar17 = (uint)uVar30;\n      uVar2 = *(ushort *)((long)param_10 + 2);\n      uVar18 = (uint)uVar2;\n      local_84 = uVar44;\n      if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0);\n    if ((local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    if (uVar44 - 0x85 < 0x29) {\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_ce = 0;\n    local_b8 = (ulong)(param_3 == 9);\nLAB_002c1b2f:\n    local_84 = uVar44;\n    if (((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;\n  }" else (compound_statement "{\n    bVar14 = *(byte *)((long)param_8 + 0x39) >> 2;\n    bVar47 = (bVar14 & 0x3c) == 0x3c;\n    bVar14 = (bVar14 & 0x30) == 0x20;\n    local_cd = (bool)bVar47 || (bool)bVar14;\n    if (((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)) {\n      local_68 = FUN_001a5ac0(param_9,plVar6,0);\n      local_68 = local_68 | 1;\n      param_9 = &local_78;\n    }\n    else {\n      local_cd = false;\n    }\n    local_c8 = &local_78;\n    iVar35 = 0;\n    if (uVar44 - 1 < 0xf9) {\n      iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];\n    }\n                    /* try { // try from 002c11cb to 002c1a28 has its CatchHandler @ 002c47bb */\n    cVar15 = FUN_00228fa0(param_8,iVar35);\n    if (cVar15 == '\0') {\n      bVar45 = false;\n      bVar48 = *(char *)((long)param_8 + 0x65) == '\0';\n      if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }\n    }\n    else {\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }\n    lVar31 = 9;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"_gp_disp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar45 = *pbVar37 < *pbVar38;\n      bVar48 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar48);\n    lVar31 = 0xf;\n    bVar48 = !bVar45 && !bVar48;\n    bVar46 = bVar48 < bVar45;\n    bVar49 = bVar48 == bVar45;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"__gnu_local_gp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar46 = *pbVar37 < *pbVar38;\n      bVar49 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar49);\n    if (bVar48 != bVar45) {\n      if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }\nLAB_002c15d8:\n      cVar15 = '\0';\n      if (uVar44 != 100) goto LAB_002c15e9;\nLAB_002c12e3:\n      lVar25 = param_8[0xf];\n      if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = true;\nLAB_002c1320:\n      local_c8 = &local_78;\n      if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }\n      goto LAB_002c13a0;\n    }\n    local_b8 = (ulong)*(byte *)((long)plVar6 + 0x36c);\n    bVar42 = *(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1;\n    if ((!bVar46 && !bVar49) == bVar46) {\n      if (bVar42 == 0) goto LAB_002c1750;\n    }\n    else if (bVar42 == 0) goto LAB_002c15d8;\n    if ((((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40)) {\n      uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n    }\n    cVar15 = '\x01';\n    if (uVar44 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    if (param_8[0xe] == 0) {\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    if ((uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0')) {\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = false;\n      goto LAB_002c13ac;\n    }\nLAB_002c15fe:\n    local_c8 = &local_78;\n    uVar17 = *(uint *)(param_2 + 0x30);\n    unaff_R13 = (uint *)(ulong)uVar17;\n    cVar16 = FUN_002972f0(plVar6,unaff_R13);\n    if ((cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e))) {\n      if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }\n    if (param_8 == (undefined8 *)0x0) {\n      plVar40 = (long *)plVar6[99];\n      plVar27 = plVar6 + 0x62;\n      if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }\nLAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);\n      bVar48 = uVar44 == 100;\n      bVar47 = 0;\n      if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }\n      param_9 = local_c8;\n      local_cd = true;\n      goto LAB_002c13d7;\n    }\n    if (*(char *)(param_8 + 9) == '\0') {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");\n    }\n    if (*(int *)((long)param_8 + 0x4c) == -1) {\n      plVar40 = (long *)param_8[0xe];\n      goto LAB_002c3d91;\n    }\n    lVar31 = *(long *)(param_4 + 0x98);\n    if (lVar31 == 0) {\n      FUN_00290900();\nLAB_002c46d8:\n      FUN_00290940();\n      goto LAB_002c46dd;\n    }\n    local_cd = (bool)(*(byte *)(lVar31 + 0x20) & 1);\n    if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c4670:\n                    /* WARNING: Subroutine does not return */\n      FUN_00291e90();\n    }\n    bVar48 = uVar44 == 100;\n    local_68 = *(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8);\n    bVar47 = 0;\n    if ((uVar18 & 0xf7) != 0x85) {\n      param_9 = local_c8;\n      goto LAB_002c13c4;\n    }\n    param_9 = local_c8;\nLAB_002c16b8:\n    cVar16 = FUN_002e7200(param_8);\n    if (cVar16 == '\0') {\n      local_cf = (bVar47 ^ 1) & bVar48;\n      if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    else {\n      local_cf = 0;\n    }\n    if (*(char *)((long)param_8 + 100) != '\0') {\n      local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n      if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar44 - 100;\n      uVar32 = (ulong)(uVar44 - 0x85);\n      local_b8 = (ulong)(param_3 == 9);\n      uStack_80 = 0;\n      uStack_7c = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar30 = (ushort)*param_10;\n      uVar17 = (uint)uVar30;\n      uVar2 = *(ushort *)((long)param_10 + 2);\n      uVar18 = (uint)uVar2;\n      local_84 = uVar44;\n      if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0);\n    if ((local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    if (uVar44 - 0x85 < 0x29) {\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_ce = 0;\n    local_b8 = (ulong)(param_3 == 9);\nLAB_002c1b2f:\n    local_84 = uVar44;\n    if (((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;\n  }" { (expression_statement "bVar14 = *(byte *)((long)param_8 + 0x39) >> 2;" (assignment_expression "bVar14 = *(byte *)((long)param_8 + 0x39) >> 2" identifier = (binary_expression "*(byte *)((long)param_8 + 0x39) >> 2" (pointer_expression "*(byte *)((long)param_8 + 0x39)" * (cast_expression "(byte *)((long)param_8 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x39)" ( (binary_expression "(long)param_8 + 0x39" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) >> number_literal)) ;) (expression_statement "bVar47 = (bVar14 & 0x3c) == 0x3c;" (assignment_expression "bVar47 = (bVar14 & 0x3c) == 0x3c" identifier = (binary_expression "(bVar14 & 0x3c) == 0x3c" (parenthesized_expression "(bVar14 & 0x3c)" ( (binary_expression "bVar14 & 0x3c" identifier & number_literal) )) == number_literal)) ;) (expression_statement "bVar14 = (bVar14 & 0x30) == 0x20;" (assignment_expression "bVar14 = (bVar14 & 0x30) == 0x20" identifier = (binary_expression "(bVar14 & 0x30) == 0x20" (parenthesized_expression "(bVar14 & 0x30)" ( (binary_expression "bVar14 & 0x30" identifier & number_literal) )) == number_literal)) ;) (expression_statement "local_cd = (bool)bVar47 || (bool)bVar14;" (assignment_expression "local_cd = (bool)bVar47 || (bool)bVar14" identifier = (binary_expression "(bool)bVar47 || (bool)bVar14" (cast_expression "(bool)bVar47" ( (type_descriptor "bool" primitive_type) ) identifier) || (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier))) ;) (if_statement "if (((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)) {\n      local_68 = FUN_001a5ac0(param_9,plVar6,0);\n      local_68 = local_68 | 1;\n      param_9 = &local_78;\n    }\n    else {\n      local_cd = false;\n    }" if (parenthesized_expression "(((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0))" ( (binary_expression "((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)" (parenthesized_expression "((bool)bVar47 || (bool)bVar14)" ( (binary_expression "(bool)bVar47 || (bool)bVar14" (cast_expression "(bool)bVar47" ( (type_descriptor "bool" primitive_type) ) identifier) || (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier)) )) && (parenthesized_expression "(iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)" ( (comma_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,0)" identifier (argument_list "(param_9,plVar6,0)" ( identifier , identifier , number_literal )))) , (binary_expression "iVar35 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n      local_68 = FUN_001a5ac0(param_9,plVar6,0);\n      local_68 = local_68 | 1;\n      param_9 = &local_78;\n    }" { (expression_statement "local_68 = FUN_001a5ac0(param_9,plVar6,0);" (assignment_expression "local_68 = FUN_001a5ac0(param_9,plVar6,0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,0)" identifier (argument_list "(param_9,plVar6,0)" ( identifier , identifier , number_literal )))) ;) (expression_statement "local_68 = local_68 | 1;" (assignment_expression "local_68 = local_68 | 1" identifier = (binary_expression "local_68 | 1" identifier | number_literal)) ;) (expression_statement "param_9 = &local_78;" (assignment_expression "param_9 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;) }) (else_clause "else {\n      local_cd = false;\n    }" else (compound_statement "{\n      local_cd = false;\n    }" { (expression_statement "local_cd = false;" (assignment_expression "local_cd = false" identifier = false) ;) }))) (expression_statement "local_c8 = &local_78;" (assignment_expression "local_c8 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;) (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" identifier = number_literal) ;) (if_statement "if (uVar44 - 1 < 0xf9) {\n      iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];\n    }" if (parenthesized_expression "(uVar44 - 1 < 0xf9)" ( (binary_expression "uVar44 - 1 < 0xf9" (binary_expression "uVar44 - 1" identifier - number_literal) < number_literal) )) (compound_statement "{\n      iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];\n    }" { (expression_statement "iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];" (assignment_expression "iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1]" identifier = (cast_expression "(int)(char)(&DAT_0055e3e0)[uVar44 - 1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)(&DAT_0055e3e0)[uVar44 - 1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "(&DAT_0055e3e0)[uVar44 - 1]" (parenthesized_expression "(&DAT_0055e3e0)" ( (pointer_expression "&DAT_0055e3e0" & identifier) )) [ (binary_expression "uVar44 - 1" identifier - number_literal) ])))) ;) })) comment (expression_statement "cVar15 = FUN_00228fa0(param_8,iVar35);" (assignment_expression "cVar15 = FUN_00228fa0(param_8,iVar35)" identifier = (call_expression "FUN_00228fa0(param_8,iVar35)" identifier (argument_list "(param_8,iVar35)" ( identifier , identifier )))) ;) (if_statement "if (cVar15 == '\0') {\n      bVar45 = false;\n      bVar48 = *(char *)((long)param_8 + 0x65) == '\0';\n      if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }\n    }\n    else {\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }" if (parenthesized_expression "(cVar15 == '\0')" ( (binary_expression "cVar15 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      bVar45 = false;\n      bVar48 = *(char *)((long)param_8 + 0x65) == '\0';\n      if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }\n    }" { (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (expression_statement "bVar48 = *(char *)((long)param_8 + 0x65) == '\0';" (assignment_expression "bVar48 = *(char *)((long)param_8 + 0x65) == '\0'" identifier = (binary_expression "*(char *)((long)param_8 + 0x65) == '\0'" (pointer_expression "*(char *)((long)param_8 + 0x65)" * (cast_expression "(char *)((long)param_8 + 0x65)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x65)" ( (binary_expression "(long)param_8 + 0x65" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }" if (parenthesized_expression "(!bVar48)" ( (unary_expression "!bVar48" ! identifier) )) (compound_statement "{\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }" { (labeled_statement "LAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);" statement_identifier : (expression_statement "lVar31 = *(long *)(param_4 + 0xb8);" (assignment_expression "lVar31 = *(long *)(param_4 + 0xb8)" identifier = (pointer_expression "*(long *)(param_4 + 0xb8)" * (cast_expression "(long *)(param_4 + 0xb8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xb8)" ( (binary_expression "param_4 + 0xb8" identifier + number_literal) ))))) ;)) (if_statement "if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_002908e0();\nLAB_002c4653:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }" { (expression_statement "FUN_002908e0();" (call_expression "FUN_002908e0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_002c4653:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");" statement_identifier : comment (expression_statement "FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate")" identifier (argument_list "("../../gold/mips.cc",0x2eda,"relocate")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""relocate"" " string_content ") ))) ;)) })) (if_statement "if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }" if (parenthesized_expression "((*(byte *)(lVar31 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar31 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar31 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar31 + 0x20) & 1" (pointer_expression "*(byte *)(lVar31 + 0x20)" * (cast_expression "(byte *)(lVar31 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x20)" ( (binary_expression "lVar31 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }" { comment (expression_statement "FUN_00291e90();" (call_expression "FUN_00291e90()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));" (assignment_expression "bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8))" identifier = (call_expression "CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8))" identifier (argument_list "(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8))" ( (pointer_expression "*(uint *)((long)param_8 + 0x54)" * (cast_expression "(uint *)((long)param_8 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x54)" ( (binary_expression "(long)param_8 + 0x54" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) , (pointer_expression "*(uint *)(lVar31 + 8)" * (cast_expression "(uint *)(lVar31 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 8)" ( (binary_expression "lVar31 + 8" identifier + number_literal) )))) )))) ;) (expression_statement "uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);" (assignment_expression "uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8)" identifier = (binary_expression "*(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8)" (pointer_expression "*(uint *)((long)param_8 + 0x54)" * (cast_expression "(uint *)((long)param_8 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x54)" ( (binary_expression "(long)param_8 + 0x54" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) + (pointer_expression "*(uint *)(lVar31 + 8)" * (cast_expression "(uint *)(lVar31 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 8)" ( (binary_expression "lVar31 + 8" identifier + number_literal) )))))) ;) (expression_statement "bVar48 = uVar17 == 0;" (assignment_expression "bVar48 = uVar17 == 0" identifier = (binary_expression "uVar17 == 0" identifier == number_literal)) ;) (expression_statement "bVar13 = bVar47;" (assignment_expression "bVar13 = bVar47" identifier = identifier) ;) (goto_statement "goto LAB_002c1209;" goto statement_identifier ;) })) }) (else_clause "else {\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }" else (compound_statement "{\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }" { (if_statement "if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;" if (parenthesized_expression "(*(char *)((long)param_8 + 0x65) != '\0')" ( (binary_expression "*(char *)((long)param_8 + 0x65) != '\0'" (pointer_expression "*(char *)((long)param_8 + 0x65)" * (cast_expression "(char *)((long)param_8 + 0x65)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x65)" ( (binary_expression "(long)param_8 + 0x65" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002c11e1;" goto statement_identifier ;)) (expression_statement "lVar31 = *(long *)(param_4 + 0x30);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x30)" identifier = (pointer_expression "*(long *)(param_4 + 0x30)" * (cast_expression "(long *)(param_4 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x30)" ( (binary_expression "param_4 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }" if (parenthesized_expression "(*(int *)(param_8 + 0xd) == -1)" ( (binary_expression "*(int *)(param_8 + 0xd) == -1" (pointer_expression "*(int *)(param_8 + 0xd)" * (cast_expression "(int *)(param_8 + 0xd)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 0xd)" ( (binary_expression "param_8 + 0xd" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }" { (if_statement "if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }" { (expression_statement "FUN_00290920();" (call_expression "FUN_00290920()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002c45d2;" goto statement_identifier ;) })) (if_statement "if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }" if (parenthesized_expression "(*(int *)((long)param_8 + 0x6c) == -1)" ( (binary_expression "*(int *)((long)param_8 + 0x6c) == -1" (pointer_expression "*(int *)((long)param_8 + 0x6c)" * (cast_expression "(int *)((long)param_8 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x6c)" ( (binary_expression "(long)param_8 + 0x6c" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }" { comment (expression_statement "FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address")" identifier (argument_list "("../../gold/mips.cc",0x9ed,"comp_entry_address")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""comp_entry_address"" " string_content ") ))) ;) })) (if_statement "if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }" if (parenthesized_expression "((*(byte *)(lVar31 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar31 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar31 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar31 + 0x20) & 1" (pointer_expression "*(byte *)(lVar31 + 0x20)" * (cast_expression "(byte *)(lVar31 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x20)" ( (binary_expression "lVar31 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_002c45b0:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }" { (labeled_statement "LAB_002c45b0:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();" statement_identifier : comment (expression_statement "FUN_00291e90();" (call_expression "FUN_00291e90()" identifier (argument_list "()" ( ))) ;)) })) (expression_statement "bVar1 = *(byte *)(param_4 + 0x14);" (assignment_expression "bVar1 = *(byte *)(param_4 + 0x14)" identifier = (pointer_expression "*(byte *)(param_4 + 0x14)" * (cast_expression "(byte *)(param_4 + 0x14)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x14)" ( (binary_expression "param_4 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);" (assignment_expression "uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8)" identifier = (binary_expression "*(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8)" (binary_expression "*(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60)" (binary_expression "*(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68)" (binary_expression "*(int *)((long)param_8 + 0x6c) + 1" (pointer_expression "*(int *)((long)param_8 + 0x6c)" * (cast_expression "(int *)((long)param_8 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x6c)" ( (binary_expression "(long)param_8 + 0x6c" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) + number_literal) + (pointer_expression "*(int *)(lVar31 + 0x68)" * (cast_expression "(int *)(lVar31 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x68)" ( (binary_expression "lVar31 + 0x68" identifier + number_literal) ))))) + (pointer_expression "*(int *)(lVar31 + 0x60)" * (cast_expression "(int *)(lVar31 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x60)" ( (binary_expression "lVar31 + 0x60" identifier + number_literal) ))))) + (pointer_expression "*(int *)(lVar31 + 8)" * (cast_expression "(int *)(lVar31 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 8)" ( (binary_expression "lVar31 + 8" identifier + number_literal) )))))) ;) (if_statement "if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }" if (parenthesized_expression "(bVar1 == 0)" ( (binary_expression "bVar1 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }" { (expression_statement "FUN_00290d40();" (call_expression "FUN_00290d40()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002c45b0;" goto statement_identifier ;) })) (expression_statement "local_b8 = (ulong)*(uint *)(param_4 + 0x10);" (assignment_expression "local_b8 = (ulong)*(uint *)(param_4 + 0x10)" identifier = (binary_expression "(ulong)*(uint *)(param_4 + 0x10)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(param_4 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x10)" ( (binary_expression "param_4 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (expression_statement "bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;" (assignment_expression "bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0" identifier = (binary_expression "(*(uint *)(param_4 + 0x10) & 0x2000000) == 0" (parenthesized_expression "(*(uint *)(param_4 + 0x10) & 0x2000000)" ( (binary_expression "*(uint *)(param_4 + 0x10) & 0x2000000" (pointer_expression "*(uint *)(param_4 + 0x10)" * (cast_expression "(uint *)(param_4 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x10)" ( (binary_expression "param_4 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal)) ;) (expression_statement "bVar13 = bVar1;" (assignment_expression "bVar13 = bVar1" identifier = identifier) ;) (if_statement "if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }" if (parenthesized_expression "(!bVar48)" ( (unary_expression "!bVar48" ! identifier) )) (compound_statement "{\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }" { (expression_statement "bVar13 = bVar47;" (assignment_expression "bVar13 = bVar47" identifier = identifier) ;) (expression_statement "bVar14 = bVar1;" (assignment_expression "bVar14 = bVar1" identifier = identifier) ;) })) }) (else_clause "else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }" else (compound_statement "{\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }" { (if_statement "if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }" { (labeled_statement "LAB_002c4644:\n          FUN_00290920();" statement_identifier : (expression_statement "FUN_00290920();" (call_expression "FUN_00290920()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c4649:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();" statement_identifier : comment (expression_statement "FUN_00291e90();" (call_expression "FUN_00291e90()" identifier (argument_list "()" ( ))) ;)) })) (if_statement "if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;" if (parenthesized_expression "((*(byte *)(lVar31 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar31 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar31 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar31 + 0x20) & 1" (pointer_expression "*(byte *)(lVar31 + 0x20)" * (cast_expression "(byte *)(lVar31 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x20)" ( (binary_expression "lVar31 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_002c4649;" goto statement_identifier ;)) (expression_statement "uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);" (assignment_expression "uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68)" identifier = (binary_expression "*(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68)" (binary_expression "*(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8)" (pointer_expression "*(int *)(param_8 + 0xd)" * (cast_expression "(int *)(param_8 + 0xd)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 0xd)" ( (binary_expression "param_8 + 0xd" identifier + number_literal) )))) + (pointer_expression "*(int *)(lVar31 + 8)" * (cast_expression "(int *)(lVar31 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 8)" ( (binary_expression "lVar31 + 8" identifier + number_literal) ))))) + (pointer_expression "*(int *)(lVar31 + 0x68)" * (cast_expression "(int *)(lVar31 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x68)" ( (binary_expression "lVar31 + 0x68" identifier + number_literal) )))))) ;) (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (expression_statement "bVar48 = true;" (assignment_expression "bVar48 = true" identifier = true) ;) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" identifier = number_literal) ;) (expression_statement "bVar14 = 0;" (assignment_expression "bVar14 = 0" identifier = number_literal) ;) }))) (labeled_statement "LAB_002c1209:\n      bVar47 = bVar13;" statement_identifier : (expression_statement "bVar47 = bVar13;" (assignment_expression "bVar47 = bVar13" identifier = identifier) ;)) (expression_statement "local_68 = uVar17;" (assignment_expression "local_68 = uVar17" identifier = identifier) ;) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" identifier = identifier) ;) }))) (expression_statement "lVar31 = 9;" (assignment_expression "lVar31 = 9" identifier = number_literal) ;) (expression_statement "pbVar37 = (byte *)*param_8;" (assignment_expression "pbVar37 = (byte *)*param_8" identifier = (cast_expression "(byte *)*param_8" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_8" * identifier))) ;) (expression_statement "pbVar38 = (byte *)"_gp_disp";" (assignment_expression "pbVar38 = (byte *)"_gp_disp"" identifier = (cast_expression "(byte *)"_gp_disp"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""_gp_disp"" " string_content "))) ;) (do_statement "do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar45 = *pbVar37 < *pbVar38;\n      bVar48 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar48);" do (compound_statement "{\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar45 = *pbVar37 < *pbVar38;\n      bVar48 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    }" { (if_statement "if (lVar31 == 0) break;" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar31 = lVar31 + -1;" (assignment_expression "lVar31 = lVar31 + -1" identifier = (binary_expression "lVar31 + -1" identifier + number_literal)) ;) (expression_statement "bVar45 = *pbVar37 < *pbVar38;" (assignment_expression "bVar45 = *pbVar37 < *pbVar38" identifier = (binary_expression "*pbVar37 < *pbVar38" (pointer_expression "*pbVar37" * identifier) < (pointer_expression "*pbVar38" * identifier))) ;) (expression_statement "bVar48 = *pbVar37 == *pbVar38;" (assignment_expression "bVar48 = *pbVar37 == *pbVar38" identifier = (binary_expression "*pbVar37 == *pbVar38" (pointer_expression "*pbVar37" * identifier) == (pointer_expression "*pbVar38" * identifier))) ;) (expression_statement "pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;" (assignment_expression "pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1" identifier = (binary_expression "pbVar37 + (ulong)bVar42 * -2 + 1" (binary_expression "pbVar37 + (ulong)bVar42 * -2" identifier + (binary_expression "(ulong)bVar42 * -2" (cast_expression "(ulong)bVar42" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1" identifier = (binary_expression "pbVar38 + (ulong)bVar42 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar42 * -2" identifier + (binary_expression "(ulong)bVar42 * -2" (cast_expression "(ulong)bVar42" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar48)" ( identifier )) ;) (expression_statement "lVar31 = 0xf;" (assignment_expression "lVar31 = 0xf" identifier = number_literal) ;) (expression_statement "bVar48 = !bVar45 && !bVar48;" (assignment_expression "bVar48 = !bVar45 && !bVar48" identifier = (binary_expression "!bVar45 && !bVar48" (unary_expression "!bVar45" ! identifier) && (unary_expression "!bVar48" ! identifier))) ;) (expression_statement "bVar46 = bVar48 < bVar45;" (assignment_expression "bVar46 = bVar48 < bVar45" identifier = (binary_expression "bVar48 < bVar45" identifier < identifier)) ;) (expression_statement "bVar49 = bVar48 == bVar45;" (assignment_expression "bVar49 = bVar48 == bVar45" identifier = (binary_expression "bVar48 == bVar45" identifier == identifier)) ;) (expression_statement "pbVar37 = (byte *)*param_8;" (assignment_expression "pbVar37 = (byte *)*param_8" identifier = (cast_expression "(byte *)*param_8" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_8" * identifier))) ;) (expression_statement "pbVar38 = (byte *)"__gnu_local_gp";" (assignment_expression "pbVar38 = (byte *)"__gnu_local_gp"" identifier = (cast_expression "(byte *)"__gnu_local_gp"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""__gnu_local_gp"" " string_content "))) ;) (do_statement "do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar46 = *pbVar37 < *pbVar38;\n      bVar49 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar49);" do (compound_statement "{\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar46 = *pbVar37 < *pbVar38;\n      bVar49 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    }" { (if_statement "if (lVar31 == 0) break;" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar31 = lVar31 + -1;" (assignment_expression "lVar31 = lVar31 + -1" identifier = (binary_expression "lVar31 + -1" identifier + number_literal)) ;) (expression_statement "bVar46 = *pbVar37 < *pbVar38;" (assignment_expression "bVar46 = *pbVar37 < *pbVar38" identifier = (binary_expression "*pbVar37 < *pbVar38" (pointer_expression "*pbVar37" * identifier) < (pointer_expression "*pbVar38" * identifier))) ;) (expression_statement "bVar49 = *pbVar37 == *pbVar38;" (assignment_expression "bVar49 = *pbVar37 == *pbVar38" identifier = (binary_expression "*pbVar37 == *pbVar38" (pointer_expression "*pbVar37" * identifier) == (pointer_expression "*pbVar38" * identifier))) ;) (expression_statement "pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;" (assignment_expression "pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1" identifier = (binary_expression "pbVar37 + (ulong)bVar42 * -2 + 1" (binary_expression "pbVar37 + (ulong)bVar42 * -2" identifier + (binary_expression "(ulong)bVar42 * -2" (cast_expression "(ulong)bVar42" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1" identifier = (binary_expression "pbVar38 + (ulong)bVar42 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar42 * -2" identifier + (binary_expression "(ulong)bVar42 * -2" (cast_expression "(ulong)bVar42" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar49)" ( identifier )) ;) (if_statement "if (bVar48 != bVar45) {\n      if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }\nLAB_002c15d8:\n      cVar15 = '\0';\n      if (uVar44 != 100) goto LAB_002c15e9;\nLAB_002c12e3:\n      lVar25 = param_8[0xf];\n      if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = true;\nLAB_002c1320:\n      local_c8 = &local_78;\n      if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }\n      goto LAB_002c13a0;\n    }" if (parenthesized_expression "(bVar48 != bVar45)" ( (binary_expression "bVar48 != bVar45" identifier != identifier) )) (compound_statement "{\n      if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }\nLAB_002c15d8:\n      cVar15 = '\0';\n      if (uVar44 != 100) goto LAB_002c15e9;\nLAB_002c12e3:\n      lVar25 = param_8[0xf];\n      if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = true;\nLAB_002c1320:\n      local_c8 = &local_78;\n      if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }\n      goto LAB_002c13a0;\n    }" { (if_statement "if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }" if (parenthesized_expression "((!bVar46 && !bVar49) == bVar46)" ( (binary_expression "(!bVar46 && !bVar49) == bVar46" (parenthesized_expression "(!bVar46 && !bVar49)" ( (binary_expression "!bVar46 && !bVar49" (unary_expression "!bVar46" ! identifier) && (unary_expression "!bVar49" ! identifier)) )) == identifier) )) (compound_statement "{\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }" { (labeled_statement "LAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }" statement_identifier : (if_statement "if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }" if (parenthesized_expression "(*(long *)(param_4 + 0x28) == 0)" ( (binary_expression "*(long *)(param_4 + 0x28) == 0" (pointer_expression "*(long *)(param_4 + 0x28)" * (cast_expression "(long *)(param_4 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x28)" ( (binary_expression "param_4 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          local_68 = 0;\n        }" { (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }" else (compound_statement "{\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }" { (expression_statement "local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);" (assignment_expression "local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40)" identifier = (pointer_expression "*(uint *)(*(long *)(param_4 + 0x28) + 0x40)" * (cast_expression "(uint *)(*(long *)(param_4 + 0x28) + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_4 + 0x28) + 0x40)" ( (binary_expression "*(long *)(param_4 + 0x28) + 0x40" (pointer_expression "*(long *)(param_4 + 0x28)" * (cast_expression "(long *)(param_4 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x28)" ( (binary_expression "param_4 + 0x28" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }" if (parenthesized_expression "(((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0))" ( (binary_expression "((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)" (parenthesized_expression "((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))" ( (binary_expression "(*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" ( (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" ( (binary_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0" (pointer_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0)" * (cast_expression "(long *)(*(long *)(param_4 + 0x20) + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_4 + 0x20) + 0xd0)" ( (binary_expression "*(long *)(param_4 + 0x20) + 0xd0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "(plVar6[0x6e] != 0)" ( (binary_expression "plVar6[0x6e] != 0" (subscript_expression "plVar6[0x6e]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }" { (expression_statement "local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);" (assignment_expression "local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c)" identifier = (binary_expression "local_68 + *(int *)(plVar6[0x6e] + 0x10c)" identifier + (pointer_expression "*(int *)(plVar6[0x6e] + 0x10c)" * (cast_expression "(int *)(plVar6[0x6e] + 0x10c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6[0x6e] + 0x10c)" ( (binary_expression "plVar6[0x6e] + 0x10c" (subscript_expression "plVar6[0x6e]" identifier [ number_literal ]) + number_literal) )))))) ;) })) })))) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" identifier = identifier) ;) })) (labeled_statement "LAB_002c15d8:\n      cVar15 = '\0';" statement_identifier : (expression_statement "cVar15 = '\0';" (assignment_expression "cVar15 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;)) (if_statement "if (uVar44 != 100) goto LAB_002c15e9;" if (parenthesized_expression "(uVar44 != 100)" ( (binary_expression "uVar44 != 100" identifier != number_literal) )) (goto_statement "goto LAB_002c15e9;" goto statement_identifier ;)) (labeled_statement "LAB_002c12e3:\n      lVar25 = param_8[0xf];" statement_identifier : (expression_statement "lVar25 = param_8[0xf];" (assignment_expression "lVar25 = param_8[0xf]" identifier = (subscript_expression "param_8[0xf]" identifier [ number_literal ])) ;)) (if_statement "if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }" if (parenthesized_expression "(lVar25 == 0)" ( (binary_expression "lVar25 == 0" identifier == number_literal) )) (compound_statement "{\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }" { (if_statement "if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;" if (parenthesized_expression "((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))" ( (binary_expression "(param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0)))" (parenthesized_expression "(param_8[0x10] == 0)" ( (binary_expression "param_8[0x10] == 0" (subscript_expression "param_8[0x10]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0)))" ( (parenthesized_expression "(*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))" ( (binary_expression "*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0)" (binary_expression "*(int *)((long)param_8 + 0x24) == -1" (pointer_expression "*(int *)((long)param_8 + 0x24)" * (cast_expression "(int *)((long)param_8 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x24)" ( (binary_expression "(long)param_8 + 0x24" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == number_literal) && (parenthesized_expression "(bVar47 != 0)" ( (binary_expression "bVar47 != 0" identifier != number_literal) ))) )) ))) )) (goto_statement "goto LAB_002c1304;" goto statement_identifier ;)) (expression_statement "lVar31 = param_8[0x10];" (assignment_expression "lVar31 = param_8[0x10]" identifier = (subscript_expression "param_8[0x10]" identifier [ number_literal ])) ;) (labeled_statement "LAB_002c1d90:\n        local_c8 = &local_78;" statement_identifier : (expression_statement "local_c8 = &local_78;" (assignment_expression "local_c8 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;)) (expression_statement "local_68 = FUN_00298370(lVar31,lVar31 + 8);" (assignment_expression "local_68 = FUN_00298370(lVar31,lVar31 + 8)" identifier = (call_expression "FUN_00298370(lVar31,lVar31 + 8)" identifier (argument_list "(lVar31,lVar31 + 8)" ( identifier , (binary_expression "lVar31 + 8" identifier + number_literal) )))) ;) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" identifier = identifier) ;) (expression_statement "bVar45 = true;" (assignment_expression "bVar45 = true" identifier = true) ;) (expression_statement "local_cd = true;" (assignment_expression "local_cd = true" identifier = true) ;) (goto_statement "goto LAB_002c13a0;" goto statement_identifier ;) })) (if_statement "if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }" if (parenthesized_expression "((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0))" ( (binary_expression "(*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)" (parenthesized_expression "(*(int *)((long)param_8 + 0x24) != -1)" ( (binary_expression "*(int *)((long)param_8 + 0x24) != -1" (pointer_expression "*(int *)((long)param_8 + 0x24)" * (cast_expression "(int *)((long)param_8 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x24)" ( (binary_expression "(long)param_8 + 0x24" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != number_literal) )) || (parenthesized_expression "(bVar47 == 0)" ( (binary_expression "bVar47 == 0" identifier == number_literal) ))) )) (compound_statement "{\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }" { (expression_statement "lVar31 = lVar25;" (assignment_expression "lVar31 = lVar25" identifier = identifier) ;) (if_statement "if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }" if (parenthesized_expression "((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7)))" ( (binary_expression "(param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))" (parenthesized_expression "(param_8[0x10] != 0)" ( (binary_expression "param_8[0x10] != 0" (subscript_expression "param_8[0x10]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(1 < *(uint *)(plVar6 + 7))" ( (binary_expression "1 < *(uint *)(plVar6 + 7)" number_literal < (pointer_expression "*(uint *)(plVar6 + 7)" * (cast_expression "(uint *)(plVar6 + 7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 7)" ( (binary_expression "plVar6 + 7" identifier + number_literal) ))))) ))) )) (compound_statement "{\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }" { (expression_statement "uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);" (assignment_expression "uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a)" identifier = (binary_expression "((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a)" (parenthesized_expression "((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8)" ( (binary_expression "(ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8" (binary_expression "(ulong)*(uint *)(plVar6 + 0x7c)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(plVar6 + 0x7c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0x7c)" ( (binary_expression "plVar6 + 0x7c" identifier + number_literal) )))) + (binary_expression "(plVar6[0x7b] - plVar6[0x79]) * 8" (parenthesized_expression "(plVar6[0x7b] - plVar6[0x79])" ( (binary_expression "plVar6[0x7b] - plVar6[0x79]" (subscript_expression "plVar6[0x7b]" identifier [ number_literal ]) - (subscript_expression "plVar6[0x79]" identifier [ number_literal ])) )) * number_literal)) )) - (binary_expression "(ulong)*(uint *)(plVar6 + 0x7a)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(plVar6 + 0x7a)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0x7a)" ( (binary_expression "plVar6 + 0x7a" identifier + number_literal) )))))) ;) (if_statement "if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }" if (parenthesized_expression "(1 < uVar32)" ( (binary_expression "1 < uVar32" number_literal < identifier) )) (compound_statement "{\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }" { (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (do_statement "do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);" do (compound_statement "{\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            }" { (expression_statement "lVar31 = param_8[0x10];" (assignment_expression "lVar31 = param_8[0x10]" identifier = (subscript_expression "param_8[0x10]" identifier [ number_literal ])) ;) (if_statement "if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;" if (parenthesized_expression "(((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))" ( (binary_expression "((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1)" (parenthesized_expression "((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  )" ( (binary_expression "(*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0" (parenthesized_expression "(*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f))" ( (binary_expression "*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)" (pointer_expression "*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8)" * (cast_expression "(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6[0x79] + (uVar24 >> 6) * 8)" ( (binary_expression "plVar6[0x79] + (uVar24 >> 6) * 8" (subscript_expression "plVar6[0x79]" identifier [ number_literal ]) + (binary_expression "(uVar24 >> 6) * 8" (parenthesized_expression "(uVar24 >> 6)" ( (binary_expression "uVar24 >> 6" identifier >> number_literal) )) * number_literal)) )))) & (binary_expression "1L << ((byte)uVar24 & 0x3f)" number_literal << (parenthesized_expression "((byte)uVar24 & 0x3f)" ( (binary_expression "(byte)uVar24 & 0x3f" (cast_expression "(byte)uVar24" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) )) != number_literal) )) || (parenthesized_expression "(lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1)" ( (comma_expression "lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1" (assignment_expression "lVar31 = lVar25" identifier = identifier) , (binary_expression "uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1" identifier == (binary_expression "(ulong)(*(uint *)(plVar6 + 7) - 2) + 1" (call_expression "(ulong)(*(uint *)(plVar6 + 7) - 2)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(*(uint *)(plVar6 + 7) - 2)" ( (binary_expression "*(uint *)(plVar6 + 7) - 2" (pointer_expression "*(uint *)(plVar6 + 7)" * (cast_expression "(uint *)(plVar6 + 7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 7)" ( (binary_expression "plVar6 + 7" identifier + number_literal) )))) - number_literal) ))) + number_literal))) ))) )) (goto_statement "goto LAB_002c1d90;" goto statement_identifier ;)) (expression_statement "uVar24 = uVar24 + 1;" (assignment_expression "uVar24 = uVar24 + 1" identifier = (binary_expression "uVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar24 != uVar32)" ( (binary_expression "uVar24 != uVar32" identifier != identifier) )) ;) })) comment (expression_statement "FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section")" identifier (argument_list "("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""is_mips16_call_fp_stub_section"" " string_content ") ))) ;) })) (goto_statement "goto LAB_002c1d90;" goto statement_identifier ;) })) (labeled_statement "LAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;" statement_identifier : (if_statement "if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;" if (parenthesized_expression "(*(int *)((long)param_8 + 0x4c) != -1)" ( (binary_expression "*(int *)((long)param_8 + 0x4c) != -1" (pointer_expression "*(int *)((long)param_8 + 0x4c)" * (cast_expression "(int *)((long)param_8 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x4c)" ( (binary_expression "(long)param_8 + 0x4c" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_002c17c6;" goto statement_identifier ;))) (expression_statement "bVar45 = true;" (assignment_expression "bVar45 = true" identifier = true) ;) (labeled_statement "LAB_002c1320:\n      local_c8 = &local_78;" statement_identifier : (expression_statement "local_c8 = &local_78;" (assignment_expression "local_c8 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;)) (if_statement "if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }" if (parenthesized_expression "(((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1))" ( (binary_expression "((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)" (parenthesized_expression "((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1))" ( (binary_expression "(*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)" (parenthesized_expression "(*(int *)((long)param_8 + 0x24) != -1)" ( (binary_expression "*(int *)((long)param_8 + 0x24) != -1" (pointer_expression "*(int *)((long)param_8 + 0x24)" * (cast_expression "(int *)((long)param_8 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x24)" ( (binary_expression "(long)param_8 + 0x24" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(int *)((long)param_8 + 0x6c) != -1)" ( (binary_expression "*(int *)((long)param_8 + 0x6c) != -1" (pointer_expression "*(int *)((long)param_8 + 0x6c)" * (cast_expression "(int *)((long)param_8 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x6c)" ( (binary_expression "(long)param_8 + 0x6c" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "(*(int *)(param_8 + 0xd) != -1)" ( (binary_expression "*(int *)(param_8 + 0xd) != -1" (pointer_expression "*(int *)(param_8 + 0xd)" * (cast_expression "(int *)(param_8 + 0xd)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 0xd)" ( (binary_expression "param_8 + 0xd" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }" { (expression_statement "lVar31 = *(long *)(param_4 + 0x30);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x30)" identifier = (pointer_expression "*(long *)(param_4 + 0x30)" * (cast_expression "(long *)(param_4 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x30)" ( (binary_expression "param_4 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_00290920();\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }" { (expression_statement "FUN_00290920();" (call_expression "FUN_00290920()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");" statement_identifier : comment (expression_statement "FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate")" identifier (argument_list "("../../gold/mips.cc",0x2e88,"relocate")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""relocate"" " string_content ") ))) ;)) })) (if_statement "if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;" if (parenthesized_expression "((*(byte *)(lVar31 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar31 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar31 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar31 + 0x20) & 1" (pointer_expression "*(byte *)(lVar31 + 0x20)" * (cast_expression "(byte *)(lVar31 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x20)" ( (binary_expression "lVar31 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_002c46e2;" goto statement_identifier ;)) (expression_statement "local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);" (assignment_expression "local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8)" identifier = (binary_expression "*(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8)" (binary_expression "*(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60)" (binary_expression "*(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68)" (binary_expression "*(int *)((long)param_8 + 0x6c) + 1" (pointer_expression "*(int *)((long)param_8 + 0x6c)" * (cast_expression "(int *)((long)param_8 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x6c)" ( (binary_expression "(long)param_8 + 0x6c" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) + number_literal) + (pointer_expression "*(int *)(lVar31 + 0x68)" * (cast_expression "(int *)(lVar31 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x68)" ( (binary_expression "lVar31 + 0x68" identifier + number_literal) ))))) + (pointer_expression "*(int *)(lVar31 + 0x60)" * (cast_expression "(int *)(lVar31 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x60)" ( (binary_expression "lVar31 + 0x60" identifier + number_literal) ))))) + (pointer_expression "*(int *)(lVar31 + 8)" * (cast_expression "(int *)(lVar31 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 8)" ( (binary_expression "lVar31 + 8" identifier + number_literal) )))))) ;) (if_statement "if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }" if (parenthesized_expression "(*(char *)(param_4 + 0x14) == '\0')" ( (binary_expression "*(char *)(param_4 + 0x14) == '\0'" (pointer_expression "*(char *)(param_4 + 0x14)" * (cast_expression "(char *)(param_4 + 0x14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x14)" ( (binary_expression "param_4 + 0x14" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();\n        }" { (labeled_statement "LAB_002c46dd:\n          FUN_00290d40();" statement_identifier : (expression_statement "FUN_00290d40();" (call_expression "FUN_00290d40()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c46e2:\n                    /* WARNING: Subroutine does not return */\n          FUN_00291e90();" statement_identifier : comment (expression_statement "FUN_00291e90();" (call_expression "FUN_00291e90()" identifier (argument_list "()" ( ))) ;)) })) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" identifier = identifier) ;) (expression_statement "bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;" (assignment_expression "bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0" identifier = (binary_expression "(*(uint *)(param_4 + 0x10) & 0x2000000) == 0" (parenthesized_expression "(*(uint *)(param_4 + 0x10) & 0x2000000)" ( (binary_expression "*(uint *)(param_4 + 0x10) & 0x2000000" (pointer_expression "*(uint *)(param_4 + 0x10)" * (cast_expression "(uint *)(param_4 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x10)" ( (binary_expression "param_4 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal)) ;) (expression_statement "bVar14 = !(bool)bVar47;" (assignment_expression "bVar14 = !(bool)bVar47" identifier = (unary_expression "!(bool)bVar47" ! (cast_expression "(bool)bVar47" ( (type_descriptor "bool" primitive_type) ) identifier))) ;) })) (goto_statement "goto LAB_002c13a0;" goto statement_identifier ;) })) (expression_statement "local_b8 = (ulong)*(byte *)((long)plVar6 + 0x36c);" (assignment_expression "local_b8 = (ulong)*(byte *)((long)plVar6 + 0x36c)" identifier = (binary_expression "(ulong)*(byte *)((long)plVar6 + 0x36c)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(byte *)((long)plVar6 + 0x36c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar6 + 0x36c)" ( (binary_expression "(long)plVar6 + 0x36c" (cast_expression "(long)plVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar42 = *(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1;" (assignment_expression "bVar42 = *(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1" identifier = (binary_expression "*(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1" (binary_expression "*(byte *)((long)plVar6 + 0x36c) >> 1 & 1" (binary_expression "*(byte *)((long)plVar6 + 0x36c) >> 1" (pointer_expression "*(byte *)((long)plVar6 + 0x36c)" * (cast_expression "(byte *)((long)plVar6 + 0x36c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar6 + 0x36c)" ( (binary_expression "(long)plVar6 + 0x36c" (cast_expression "(long)plVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) >> number_literal) & number_literal) ^ number_literal)) ;) (if_statement "if ((!bVar46 && !bVar49) == bVar46) {\n      if (bVar42 == 0) goto LAB_002c1750;\n    }\n    else if (bVar42 == 0) goto LAB_002c15d8;" if (parenthesized_expression "((!bVar46 && !bVar49) == bVar46)" ( (binary_expression "(!bVar46 && !bVar49) == bVar46" (parenthesized_expression "(!bVar46 && !bVar49)" ( (binary_expression "!bVar46 && !bVar49" (unary_expression "!bVar46" ! identifier) && (unary_expression "!bVar49" ! identifier)) )) == identifier) )) (compound_statement "{\n      if (bVar42 == 0) goto LAB_002c1750;\n    }" { (if_statement "if (bVar42 == 0) goto LAB_002c1750;" if (parenthesized_expression "(bVar42 == 0)" ( (binary_expression "bVar42 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002c1750;" goto statement_identifier ;)) }) (else_clause "else if (bVar42 == 0) goto LAB_002c15d8;" else (if_statement "if (bVar42 == 0) goto LAB_002c15d8;" if (parenthesized_expression "(bVar42 == 0)" ( (binary_expression "bVar42 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002c15d8;" goto statement_identifier ;)))) (if_statement "if ((((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40)) {\n      uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n    }" if (parenthesized_expression "((((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40))" ( (binary_expression "(((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40)" (parenthesized_expression "(((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86))" ( (binary_expression "((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)" (parenthesized_expression "((1 < uVar44 - 0x68) && (1 < uVar44 - 5))" ( (binary_expression "(1 < uVar44 - 0x68) && (1 < uVar44 - 5)" (parenthesized_expression "(1 < uVar44 - 0x68)" ( (binary_expression "1 < uVar44 - 0x68" number_literal < (binary_expression "uVar44 - 0x68" identifier - number_literal)) )) && (parenthesized_expression "(1 < uVar44 - 5)" ( (binary_expression "1 < uVar44 - 5" number_literal < (binary_expression "uVar44 - 5" identifier - number_literal)) ))) )) && (parenthesized_expression "(1 < uVar44 - 0x86)" ( (binary_expression "1 < uVar44 - 0x86" number_literal < (binary_expression "uVar44 - 0x86" identifier - number_literal)) ))) )) && (parenthesized_expression "(1 < uVar44 - 0x40)" ( (binary_expression "1 < uVar44 - 0x40" number_literal < (binary_expression "uVar44 - 0x40" identifier - number_literal)) ))) )) (compound_statement "{\n      uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n    }" { (expression_statement "uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );" (assignment_expression "uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      )" identifier = (call_expression "gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      )" identifier (argument_list "(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      )" ( (string_literal ""relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."" " string_content ") )))) ;) (expression_statement "FUN_0034ad90(param_2,param_6,iVar3,uVar22);" (call_expression "FUN_0034ad90(param_2,param_6,iVar3,uVar22)" identifier (argument_list "(param_2,param_6,iVar3,uVar22)" ( identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "cVar15 = '\x01';" (assignment_expression "cVar15 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (if_statement "if (uVar44 == 100) goto LAB_002c12e3;" if (parenthesized_expression "(uVar44 == 100)" ( (binary_expression "uVar44 == 100" identifier == number_literal) )) (goto_statement "goto LAB_002c12e3;" goto statement_identifier ;)) (labeled_statement "LAB_002c15e9:\n    if (param_8[0xe] == 0) {\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }" statement_identifier : (if_statement "if (param_8[0xe] == 0) {\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }" if (parenthesized_expression "(param_8[0xe] == 0)" ( (binary_expression "param_8[0xe] == 0" (subscript_expression "param_8[0xe]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }" { (labeled_statement "LAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }" statement_identifier : (if_statement "if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }" if (parenthesized_expression "(*(int *)((long)param_8 + 0x4c) == -1)" ( (binary_expression "*(int *)((long)param_8 + 0x4c) == -1" (pointer_expression "*(int *)((long)param_8 + 0x4c)" * (cast_expression "(int *)((long)param_8 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x4c)" ( (binary_expression "(long)param_8 + 0x4c" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }" { (labeled_statement "LAB_002c1848:\n        bVar45 = uVar44 == 100;" statement_identifier : (expression_statement "bVar45 = uVar44 == 100;" (assignment_expression "bVar45 = uVar44 == 100" identifier = (binary_expression "uVar44 == 100" identifier == number_literal)) ;)) (if_statement "if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;" if (parenthesized_expression "(uVar44 == 0x85 || bVar45)" ( (binary_expression "uVar44 == 0x85 || bVar45" (binary_expression "uVar44 == 0x85" identifier == number_literal) || identifier) )) (goto_statement "goto LAB_002c1320;" goto statement_identifier ;)) (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (goto_statement "goto LAB_002c13ac;" goto statement_identifier ;) }))) (labeled_statement "LAB_002c17c6:\n      local_c8 = &local_78;" statement_identifier : (expression_statement "local_c8 = &local_78;" (assignment_expression "local_c8 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;)) (if_statement "if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;" if (parenthesized_expression "(((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0'))" ( (binary_expression "((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')" (parenthesized_expression "((*(byte *)((long)plVar6 + 0x36c) & 1) != 0)" ( (binary_expression "(*(byte *)((long)plVar6 + 0x36c) & 1) != 0" (parenthesized_expression "(*(byte *)((long)plVar6 + 0x36c) & 1)" ( (binary_expression "*(byte *)((long)plVar6 + 0x36c) & 1" (pointer_expression "*(byte *)((long)plVar6 + 0x36c)" * (cast_expression "(byte *)((long)plVar6 + 0x36c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar6 + 0x36c)" ( (binary_expression "(long)plVar6 + 0x36c" (cast_expression "(long)plVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "(cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')" ( (comma_expression "cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0'" (assignment_expression "cVar16 = FUN_00290610(uVar44,bVar47)" identifier = (call_expression "FUN_00290610(uVar44,bVar47)" identifier (argument_list "(uVar44,bVar47)" ( identifier , identifier )))) , (binary_expression "cVar16 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) (goto_statement "goto LAB_002c1848;" goto statement_identifier ;)) (expression_statement "lVar31 = *(long *)(param_4 + 0x98);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x98)" identifier = (pointer_expression "*(long *)(param_4 + 0x98)" * (cast_expression "(long *)(param_4 + 0x98)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x98)" ( (binary_expression "param_4 + 0x98" identifier + number_literal) ))))) ;) (if_statement "if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }" { (expression_statement "FUN_00290900();" (call_expression "FUN_00290900()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002c46aa;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00291e90();\n      }" if (parenthesized_expression "((*(byte *)(lVar31 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar31 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar31 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar31 + 0x20) & 1" (pointer_expression "*(byte *)(lVar31 + 0x20)" * (cast_expression "(byte *)(lVar31 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x20)" ( (binary_expression "lVar31 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_00291e90();\n      }" { comment (expression_statement "FUN_00291e90();" (call_expression "FUN_00291e90()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" identifier = identifier) ;) (expression_statement "local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);" (assignment_expression "local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20)" identifier = (binary_expression "extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20)" (binary_expression "extraout_EDX + *(int *)(lVar31 + 8)" identifier + (pointer_expression "*(int *)(lVar31 + 8)" * (cast_expression "(int *)(lVar31 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 8)" ( (binary_expression "lVar31 + 8" identifier + number_literal) ))))) + (call_expression "(uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20)" ( (binary_expression "(*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20" (parenthesized_expression "(*(byte *)((long)param_8 + 0x39) >> 2 & 0x30)" ( (binary_expression "*(byte *)((long)param_8 + 0x39) >> 2 & 0x30" (binary_expression "*(byte *)((long)param_8 + 0x39) >> 2" (pointer_expression "*(byte *)((long)param_8 + 0x39)" * (cast_expression "(byte *)((long)param_8 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x39)" ( (binary_expression "(long)param_8 + 0x39" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) >> number_literal) & number_literal) )) == number_literal) ))))) ;) (expression_statement "bVar42 = bVar14 & uVar44 == 100;" (assignment_expression "bVar42 = bVar14 & uVar44 == 100" identifier = (binary_expression "bVar14 & uVar44 == 100" identifier & (binary_expression "uVar44 == 100" identifier == number_literal))) ;) (expression_statement "bVar48 = (bool)bVar42;" (assignment_expression "bVar48 = (bool)bVar42" identifier = (cast_expression "(bool)bVar42" ( (type_descriptor "bool" primitive_type) ) identifier)) ;) (expression_statement "bVar45 = uVar44 == 100;" (assignment_expression "bVar45 = uVar44 == 100" identifier = (binary_expression "uVar44 == 100" identifier == number_literal)) ;) (if_statement "if ((bool)bVar42 == false) goto LAB_002c13ac;" if (parenthesized_expression "((bool)bVar42 == false)" ( (binary_expression "(bool)bVar42 == false" (cast_expression "(bool)bVar42" ( (type_descriptor "bool" primitive_type) ) identifier) == false) )) (goto_statement "goto LAB_002c13ac;" goto statement_identifier ;)) (goto_statement "goto LAB_002c187c;" goto statement_identifier ;) }))) (if_statement "if ((uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0')) {\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = false;\n      goto LAB_002c13ac;\n    }" if (parenthesized_expression "((uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0'))" ( (binary_expression "(uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0')" (parenthesized_expression "(uVar44 == 0x67)" ( (binary_expression "uVar44 == 0x67" identifier == number_literal) )) && (parenthesized_expression "(*(char *)(param_8 + 9) == '\0')" ( (binary_expression "*(char *)(param_8 + 9) == '\0'" (pointer_expression "*(char *)(param_8 + 9)" * (cast_expression "(char *)(param_8 + 9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 9)" ( (binary_expression "param_8 + 9" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = false;\n      goto LAB_002c13ac;\n    }" { (if_statement "if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;" if (parenthesized_expression "(*(int *)((long)param_8 + 0x4c) != -1)" ( (binary_expression "*(int *)((long)param_8 + 0x4c) != -1" (pointer_expression "*(int *)((long)param_8 + 0x4c)" * (cast_expression "(int *)((long)param_8 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x4c)" ( (binary_expression "(long)param_8 + 0x4c" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_002c17c6;" goto statement_identifier ;)) (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (goto_statement "goto LAB_002c13ac;" goto statement_identifier ;) })) (labeled_statement "LAB_002c15fe:\n    local_c8 = &local_78;" statement_identifier : (expression_statement "local_c8 = &local_78;" (assignment_expression "local_c8 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;)) (expression_statement "uVar17 = *(uint *)(param_2 + 0x30);" (assignment_expression "uVar17 = *(uint *)(param_2 + 0x30)" identifier = (pointer_expression "*(uint *)(param_2 + 0x30)" * (cast_expression "(uint *)(param_2 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x30)" ( (binary_expression "param_2 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "unaff_R13 = (uint *)(ulong)uVar17;" (assignment_expression "unaff_R13 = (uint *)(ulong)uVar17" identifier = (cast_expression "(uint *)(ulong)uVar17" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)uVar17" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "cVar16 = FUN_002972f0(plVar6,unaff_R13);" (assignment_expression "cVar16 = FUN_002972f0(plVar6,unaff_R13)" identifier = (call_expression "FUN_002972f0(plVar6,unaff_R13)" identifier (argument_list "(plVar6,unaff_R13)" ( identifier , identifier )))) ;) (if_statement "if ((cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e))) {\n      if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }" if (parenthesized_expression "((cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e)))" ( (binary_expression "(cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e))" (parenthesized_expression "(cVar16 != '\0')" ( (binary_expression "cVar16 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(uVar17 == *(uint *)(plVar6 + 0x7e))" ( (binary_expression "uVar17 == *(uint *)(plVar6 + 0x7e)" identifier == (pointer_expression "*(uint *)(plVar6 + 0x7e)" * (cast_expression "(uint *)(plVar6 + 0x7e)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0x7e)" ( (binary_expression "plVar6 + 0x7e" identifier + number_literal) ))))) ))) )) (compound_statement "{\n      if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }" { (if_statement "if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;" if (parenthesized_expression "(param_8 == (undefined8 *)0x0)" ( (binary_expression "param_8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002c1c17;" goto statement_identifier ;)) (goto_statement "goto LAB_002c17b9;" goto statement_identifier ;) })) (if_statement "if (param_8 == (undefined8 *)0x0) {\n      plVar40 = (long *)plVar6[99];\n      plVar27 = plVar6 + 0x62;\n      if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }\nLAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);\n      bVar48 = uVar44 == 100;\n      bVar47 = 0;\n      if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }\n      param_9 = local_c8;\n      local_cd = true;\n      goto LAB_002c13d7;\n    }" if (parenthesized_expression "(param_8 == (undefined8 *)0x0)" ( (binary_expression "param_8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      plVar40 = (long *)plVar6[99];\n      plVar27 = plVar6 + 0x62;\n      if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }\nLAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);\n      bVar48 = uVar44 == 100;\n      bVar47 = 0;\n      if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }\n      param_9 = local_c8;\n      local_cd = true;\n      goto LAB_002c13d7;\n    }" { (expression_statement "plVar40 = (long *)plVar6[99];" (assignment_expression "plVar40 = (long *)plVar6[99]" identifier = (cast_expression "(long *)plVar6[99]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar6[99]" identifier [ number_literal ]))) ;) (expression_statement "plVar27 = plVar6 + 0x62;" (assignment_expression "plVar27 = plVar6 + 0x62" identifier = (binary_expression "plVar6 + 0x62" identifier + number_literal)) ;) (if_statement "if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }" if (parenthesized_expression "(plVar40 != (long *)0x0)" ( (binary_expression "plVar40 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }" { (do_statement "do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);" do (compound_statement "{\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        }" { (expression_statement "plVar29 = plVar40;" (assignment_expression "plVar29 = plVar40" identifier = identifier) ;) (if_statement "if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }" if (parenthesized_expression "(*(uint *)(plVar29 + 4) < uVar33)" ( (binary_expression "*(uint *)(plVar29 + 4) < uVar33" (pointer_expression "*(uint *)(plVar29 + 4)" * (cast_expression "(uint *)(plVar29 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar29 + 4)" ( (binary_expression "plVar29 + 4" identifier + number_literal) )))) < identifier) )) (compound_statement "{\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }" { (expression_statement "plVar40 = (long *)plVar29[3];" (assignment_expression "plVar40 = (long *)plVar29[3]" identifier = (cast_expression "(long *)plVar29[3]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar29[3]" identifier [ number_literal ]))) ;) (expression_statement "plVar29 = plVar27;" (assignment_expression "plVar29 = plVar27" identifier = identifier) ;) }) (else_clause "else {\n            plVar40 = (long *)plVar29[2];\n          }" else (compound_statement "{\n            plVar40 = (long *)plVar29[2];\n          }" { (expression_statement "plVar40 = (long *)plVar29[2];" (assignment_expression "plVar40 = (long *)plVar29[2]" identifier = (cast_expression "(long *)plVar29[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar29[2]" identifier [ number_literal ]))) ;) }))) (expression_statement "plVar27 = plVar29;" (assignment_expression "plVar27 = plVar29" identifier = identifier) ;) }) while (parenthesized_expression "(plVar40 != (long *)0x0)" ( (binary_expression "plVar40 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "plVar40 = (long *)0x0;" (assignment_expression "plVar40 = (long *)0x0" identifier = (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }" if (parenthesized_expression "((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33))" ( (binary_expression "(plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)" (parenthesized_expression "(plVar6 + 0x62 != plVar29)" ( (binary_expression "plVar6 + 0x62 != plVar29" (binary_expression "plVar6 + 0x62" identifier + number_literal) != identifier) )) && (parenthesized_expression "(*(uint *)(plVar29 + 4) <= uVar33)" ( (binary_expression "*(uint *)(plVar29 + 4) <= uVar33" (pointer_expression "*(uint *)(plVar29 + 4)" * (cast_expression "(uint *)(plVar29 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar29 + 4)" ( (binary_expression "plVar29 + 4" identifier + number_literal) )))) <= identifier) ))) )) (compound_statement "{\n          plVar40 = (long *)plVar29[5];\n        }" { (expression_statement "plVar40 = (long *)plVar29[5];" (assignment_expression "plVar40 = (long *)plVar29[5]" identifier = (cast_expression "(long *)plVar29[5]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar29[5]" identifier [ number_literal ]))) ;) })) })) (labeled_statement "LAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);" statement_identifier : (expression_statement "local_68 = FUN_00298370(plVar40,plVar40 + 1);" (assignment_expression "local_68 = FUN_00298370(plVar40,plVar40 + 1)" identifier = (call_expression "FUN_00298370(plVar40,plVar40 + 1)" identifier (argument_list "(plVar40,plVar40 + 1)" ( identifier , (binary_expression "plVar40 + 1" identifier + number_literal) )))) ;)) (expression_statement "bVar48 = uVar44 == 100;" (assignment_expression "bVar48 = uVar44 == 100" identifier = (binary_expression "uVar44 == 100" identifier == number_literal)) ;) (expression_statement "bVar47 = 0;" (assignment_expression "bVar47 = 0" identifier = number_literal) ;) (if_statement "if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }" if (parenthesized_expression "((uVar18 & 0xf7) != 0x85)" ( (binary_expression "(uVar18 & 0xf7) != 0x85" (parenthesized_expression "(uVar18 & 0xf7)" ( (binary_expression "uVar18 & 0xf7" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }" { (expression_statement "local_cd = true;" (assignment_expression "local_cd = true" identifier = true) ;) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" identifier = identifier) ;) (goto_statement "goto LAB_002c13c4;" goto statement_identifier ;) })) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" identifier = identifier) ;) (expression_statement "local_cd = true;" (assignment_expression "local_cd = true" identifier = true) ;) (goto_statement "goto LAB_002c13d7;" goto statement_identifier ;) })) (if_statement "if (*(char *)(param_8 + 9) == '\0') {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");\n    }" if (parenthesized_expression "(*(char *)(param_8 + 9) == '\0')" ( (binary_expression "*(char *)(param_8 + 9) == '\0'" (pointer_expression "*(char *)(param_8 + 9)" * (cast_expression "(char *)(param_8 + 9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 9)" ( (binary_expression "param_8 + 9" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");\n    }" { comment (expression_statement "FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate")" identifier (argument_list "("../../gold/mips.cc",0x2d5f,"relocate")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""relocate"" " string_content ") ))) ;) })) (if_statement "if (*(int *)((long)param_8 + 0x4c) == -1) {\n      plVar40 = (long *)param_8[0xe];\n      goto LAB_002c3d91;\n    }" if (parenthesized_expression "(*(int *)((long)param_8 + 0x4c) == -1)" ( (binary_expression "*(int *)((long)param_8 + 0x4c) == -1" (pointer_expression "*(int *)((long)param_8 + 0x4c)" * (cast_expression "(int *)((long)param_8 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x4c)" ( (binary_expression "(long)param_8 + 0x4c" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n      plVar40 = (long *)param_8[0xe];\n      goto LAB_002c3d91;\n    }" { (expression_statement "plVar40 = (long *)param_8[0xe];" (assignment_expression "plVar40 = (long *)param_8[0xe]" identifier = (cast_expression "(long *)param_8[0xe]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_8[0xe]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_002c3d91;" goto statement_identifier ;) })) (expression_statement "lVar31 = *(long *)(param_4 + 0x98);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x98)" identifier = (pointer_expression "*(long *)(param_4 + 0x98)" * (cast_expression "(long *)(param_4 + 0x98)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x98)" ( (binary_expression "param_4 + 0x98" identifier + number_literal) ))))) ;) (if_statement "if (lVar31 == 0) {\n      FUN_00290900();\nLAB_002c46d8:\n      FUN_00290940();\n      goto LAB_002c46dd;\n    }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_00290900();\nLAB_002c46d8:\n      FUN_00290940();\n      goto LAB_002c46dd;\n    }" { (expression_statement "FUN_00290900();" (call_expression "FUN_00290900()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_002c46d8:\n      FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (goto_statement "goto LAB_002c46dd;" goto statement_identifier ;) })) (expression_statement "local_cd = (bool)(*(byte *)(lVar31 + 0x20) & 1);" (assignment_expression "local_cd = (bool)(*(byte *)(lVar31 + 0x20) & 1)" identifier = (cast_expression "(bool)(*(byte *)(lVar31 + 0x20) & 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(*(byte *)(lVar31 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar31 + 0x20) & 1" (pointer_expression "*(byte *)(lVar31 + 0x20)" * (cast_expression "(byte *)(lVar31 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x20)" ( (binary_expression "lVar31 + 0x20" identifier + number_literal) )))) & number_literal) )))) ;) (if_statement "if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c4670:\n                    /* WARNING: Subroutine does not return */\n      FUN_00291e90();\n    }" if (parenthesized_expression "((*(byte *)(lVar31 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar31 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar31 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar31 + 0x20) & 1" (pointer_expression "*(byte *)(lVar31 + 0x20)" * (cast_expression "(byte *)(lVar31 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x20)" ( (binary_expression "lVar31 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_002c4670:\n                    /* WARNING: Subroutine does not return */\n      FUN_00291e90();\n    }" { (labeled_statement "LAB_002c4670:\n                    /* WARNING: Subroutine does not return */\n      FUN_00291e90();" statement_identifier : comment (expression_statement "FUN_00291e90();" (call_expression "FUN_00291e90()" identifier (argument_list "()" ( ))) ;)) })) (expression_statement "bVar48 = uVar44 == 100;" (assignment_expression "bVar48 = uVar44 == 100" identifier = (binary_expression "uVar44 == 100" identifier == number_literal)) ;) (expression_statement "local_68 = *(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8);" (assignment_expression "local_68 = *(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8)" identifier = (binary_expression "*(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8)" (pointer_expression "*(int *)((long)param_8 + 0x4c)" * (cast_expression "(int *)((long)param_8 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x4c)" ( (binary_expression "(long)param_8 + 0x4c" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) + (pointer_expression "*(int *)(lVar31 + 8)" * (cast_expression "(int *)(lVar31 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 8)" ( (binary_expression "lVar31 + 8" identifier + number_literal) )))))) ;) (expression_statement "bVar47 = 0;" (assignment_expression "bVar47 = 0" identifier = number_literal) ;) (if_statement "if ((uVar18 & 0xf7) != 0x85) {\n      param_9 = local_c8;\n      goto LAB_002c13c4;\n    }" if (parenthesized_expression "((uVar18 & 0xf7) != 0x85)" ( (binary_expression "(uVar18 & 0xf7) != 0x85" (parenthesized_expression "(uVar18 & 0xf7)" ( (binary_expression "uVar18 & 0xf7" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      param_9 = local_c8;\n      goto LAB_002c13c4;\n    }" { (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" identifier = identifier) ;) (goto_statement "goto LAB_002c13c4;" goto statement_identifier ;) })) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" identifier = identifier) ;) (labeled_statement "LAB_002c16b8:\n    cVar16 = FUN_002e7200(param_8);" statement_identifier : (expression_statement "cVar16 = FUN_002e7200(param_8);" (assignment_expression "cVar16 = FUN_002e7200(param_8)" identifier = (call_expression "FUN_002e7200(param_8)" identifier (argument_list "(param_8)" ( identifier )))) ;)) (if_statement "if (cVar16 == '\0') {\n      local_cf = (bVar47 ^ 1) & bVar48;\n      if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    else {\n      local_cf = 0;\n    }" if (parenthesized_expression "(cVar16 == '\0')" ( (binary_expression "cVar16 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      local_cf = (bVar47 ^ 1) & bVar48;\n      if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }\n    }" { (expression_statement "local_cf = (bVar47 ^ 1) & bVar48;" (assignment_expression "local_cf = (bVar47 ^ 1) & bVar48" identifier = (binary_expression "(bVar47 ^ 1) & bVar48" (parenthesized_expression "(bVar47 ^ 1)" ( (binary_expression "bVar47 ^ 1" identifier ^ number_literal) )) & identifier)) ;) (if_statement "if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }" if (parenthesized_expression "((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0))" ( (binary_expression "(local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)" (parenthesized_expression "(local_cf == 0)" ( (binary_expression "local_cf == 0" identifier == number_literal) )) && (parenthesized_expression "(local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)" ( (comma_expression "local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0" (assignment_expression "local_cf = (bVar14 ^ 1) & uVar44 == 0x85" identifier = (binary_expression "(bVar14 ^ 1) & uVar44 == 0x85" (parenthesized_expression "(bVar14 ^ 1)" ( (binary_expression "bVar14 ^ 1" identifier ^ number_literal) )) & (binary_expression "uVar44 == 0x85" identifier == number_literal))) , (binary_expression "local_cf == 0" identifier == number_literal)) ))) )) (compound_statement "{\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }" { (labeled_statement "LAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;" statement_identifier : (expression_statement "local_cf = uVar44 == 4 || uVar44 == 0x25;" (assignment_expression "local_cf = uVar44 == 4 || uVar44 == 0x25" identifier = (binary_expression "uVar44 == 4 || uVar44 == 0x25" (binary_expression "uVar44 == 4" identifier == number_literal) || (binary_expression "uVar44 == 0x25" identifier == number_literal))) ;)) (if_statement "if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }" if (parenthesized_expression "(uVar44 == 4 || uVar44 == 0x25)" ( (binary_expression "uVar44 == 4 || uVar44 == 0x25" (binary_expression "uVar44 == 4" identifier == number_literal) || (binary_expression "uVar44 == 0x25" identifier == number_literal)) )) (compound_statement "{\n          local_cf = bVar14 | bVar47;\n        }" { (expression_statement "local_cf = bVar14 | bVar47;" (assignment_expression "local_cf = bVar14 | bVar47" identifier = (binary_expression "bVar14 | bVar47" identifier | identifier)) ;) })) (if_statement "if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }" if (parenthesized_expression "(param_8 == (undefined8 *)0x0)" ( (binary_expression "param_8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          local_ce = 1;\n          goto LAB_002c1402;\n        }" { (expression_statement "local_ce = 1;" (assignment_expression "local_ce = 1" identifier = number_literal) ;) (goto_statement "goto LAB_002c1402;" goto statement_identifier ;) })) })) }) (else_clause "else {\n      local_cf = 0;\n    }" else (compound_statement "{\n      local_cf = 0;\n    }" { (expression_statement "local_cf = 0;" (assignment_expression "local_cf = 0" identifier = number_literal) ;) }))) (if_statement "if (*(char *)((long)param_8 + 100) != '\0') {\n      local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n      if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar44 - 100;\n      uVar32 = (ulong)(uVar44 - 0x85);\n      local_b8 = (ulong)(param_3 == 9);\n      uStack_80 = 0;\n      uStack_7c = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar30 = (ushort)*param_10;\n      uVar17 = (uint)uVar30;\n      uVar2 = *(ushort *)((long)param_10 + 2);\n      uVar18 = (uint)uVar2;\n      local_84 = uVar44;\n      if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }" if (parenthesized_expression "(*(char *)((long)param_8 + 100) != '\0')" ( (binary_expression "*(char *)((long)param_8 + 100) != '\0'" (pointer_expression "*(char *)((long)param_8 + 100)" * (cast_expression "(char *)((long)param_8 + 100)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 100)" ( (binary_expression "(long)param_8 + 100" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n      if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar44 - 100;\n      uVar32 = (ulong)(uVar44 - 0x85);\n      local_b8 = (ulong)(param_3 == 9);\n      uStack_80 = 0;\n      uStack_7c = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar30 = (ushort)*param_10;\n      uVar17 = (uint)uVar30;\n      uVar2 = *(ushort *)((long)param_10 + 2);\n      uVar18 = (uint)uVar2;\n      local_84 = uVar44;\n      if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }" { (expression_statement "local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);" (assignment_expression "local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1)" identifier = (call_expression "FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1)" identifier (argument_list "(param_8,*(int *)(param_8 + 4) != 0,1)" ( identifier , (binary_expression "*(int *)(param_8 + 4) != 0" (pointer_expression "*(int *)(param_8 + 4)" * (cast_expression "(int *)(param_8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 4)" ( (binary_expression "param_8 + 4" identifier + number_literal) )))) != number_literal) , number_literal )))) ;) (if_statement "if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;" if (parenthesized_expression "((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))" ( (binary_expression "(local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14)" (parenthesized_expression "(local_ce == 0)" ( (binary_expression "local_ce == 0" identifier == number_literal) )) && (parenthesized_expression "(local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14)" ( (comma_expression "local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14" (assignment_expression "local_ce = uVar44 == 0x92 || uVar44 == 0x14" identifier = (binary_expression "uVar44 == 0x92 || uVar44 == 0x14" (binary_expression "uVar44 == 0x92" identifier == number_literal) || (binary_expression "uVar44 == 0x14" identifier == number_literal))) , (binary_expression "uVar44 == 0x92 || uVar44 == 0x14" (binary_expression "uVar44 == 0x92" identifier == number_literal) || (binary_expression "uVar44 == 0x14" identifier == number_literal))) ))) )) (goto_statement "goto LAB_002c1ab9;" goto statement_identifier ;)) (labeled_statement "LAB_002c1402:\n      local_f0 = uVar44 - 100;" statement_identifier : (expression_statement "local_f0 = uVar44 - 100;" (assignment_expression "local_f0 = uVar44 - 100" identifier = (binary_expression "uVar44 - 100" identifier - number_literal)) ;)) (expression_statement "uVar32 = (ulong)(uVar44 - 0x85);" (assignment_expression "uVar32 = (ulong)(uVar44 - 0x85)" identifier = (call_expression "(ulong)(uVar44 - 0x85)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar44 - 0x85)" ( (binary_expression "uVar44 - 0x85" identifier - number_literal) )))) ;) (expression_statement "local_b8 = (ulong)(param_3 == 9);" (assignment_expression "local_b8 = (ulong)(param_3 == 9)" identifier = (call_expression "(ulong)(param_3 == 9)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(param_3 == 9)" ( (binary_expression "param_3 == 9" identifier == number_literal) )))) ;) (expression_statement "uStack_80 = 0;" (assignment_expression "uStack_80 = 0" identifier = number_literal) ;) (expression_statement "uStack_7c = 0;" (assignment_expression "uStack_7c = 0" identifier = number_literal) ;) (if_statement "if (0xc < local_f0) goto LAB_002c1b2f;" if (parenthesized_expression "(0xc < local_f0)" ( (binary_expression "0xc < local_f0" number_literal < identifier) )) (goto_statement "goto LAB_002c1b2f;" goto statement_identifier ;)) (expression_statement "uVar30 = (ushort)*param_10;" (assignment_expression "uVar30 = (ushort)*param_10" identifier = (binary_expression "(ushort)*param_10" (parenthesized_expression "(ushort)" ( identifier )) * identifier)) ;) (expression_statement "uVar17 = (uint)uVar30;" (assignment_expression "uVar17 = (uint)uVar30" identifier = (cast_expression "(uint)uVar30" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar2 = *(ushort *)((long)param_10 + 2);" (assignment_expression "uVar2 = *(ushort *)((long)param_10 + 2)" identifier = (pointer_expression "*(ushort *)((long)param_10 + 2)" * (cast_expression "(ushort *)((long)param_10 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_10 + 2)" ( (binary_expression "(long)param_10 + 2" (cast_expression "(long)param_10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar18 = (uint)uVar2;" (assignment_expression "uVar18 = (uint)uVar2" identifier = (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_84 = uVar44;" (assignment_expression "local_84 = uVar44" identifier = identifier) ;) (if_statement "if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }" if (parenthesized_expression "(uVar44 - 0x85 < 0x29)" ( (binary_expression "uVar44 - 0x85 < 0x29" (binary_expression "uVar44 - 0x85" identifier - number_literal) < number_literal) )) (compound_statement "{\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }" { (if_statement "if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;" if (parenthesized_expression "((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0)" ( (binary_expression "(0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0" (parenthesized_expression "(0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1)" ( (binary_expression "0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1" (binary_expression "0x1b3e1fff3ffU >> (uVar32 & 0x3f)" number_literal >> (parenthesized_expression "(uVar32 & 0x3f)" ( (binary_expression "uVar32 & 0x3f" identifier & number_literal) ))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_002c1c3c;" goto statement_identifier ;)) (goto_statement "goto LAB_002c1462;" goto statement_identifier ;) })) (if_statement "if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }" if (parenthesized_expression "(uVar44 == 100)" ( (binary_expression "uVar44 == 100" identifier == number_literal) )) (compound_statement "{\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }" { (expression_statement "local_f0 = 0;" (assignment_expression "local_f0 = 0" identifier = number_literal) ;) (expression_statement "uVar18 = (uint)uVar2;" (assignment_expression "uVar18 = (uint)uVar2" identifier = (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_002c1462;" goto statement_identifier ;) })) (labeled_statement "LAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);" statement_identifier : (expression_statement "uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);" (assignment_expression "uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb)" identifier = (binary_expression "(uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb)" (binary_expression "(uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb" (binary_expression "(uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10" (binary_expression "(uint)(uVar30 & 0x7e0) | uVar2 & 0x1f" (call_expression "(uint)(uVar30 & 0x7e0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar30 & 0x7e0)" ( (binary_expression "uVar30 & 0x7e0" identifier & number_literal) ))) | (binary_expression "uVar2 & 0x1f" identifier & number_literal)) | (binary_expression "(uVar30 & 0xf800) << 0x10" (parenthesized_expression "(uVar30 & 0xf800)" ( (binary_expression "uVar30 & 0xf800" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xffe0) << 0xb" (parenthesized_expression "(uVar2 & 0xffe0)" ( (binary_expression "uVar2 & 0xffe0" identifier & number_literal) )) << number_literal)) | (call_expression "(uint)(((ulong)uVar30 & 0x1f) << 0xb)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((ulong)uVar30 & 0x1f) << 0xb)" ( (binary_expression "((ulong)uVar30 & 0x1f) << 0xb" (parenthesized_expression "((ulong)uVar30 & 0x1f)" ( (binary_expression "(ulong)uVar30 & 0x1f" (cast_expression "(ulong)uVar30" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )) << number_literal) ))))) ;)) (goto_statement "goto LAB_002c1467;" goto statement_identifier ;) })) comment (expression_statement "local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0);" (assignment_expression "local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0)" identifier = (call_expression "FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0)" identifier (argument_list "(param_8,*(int *)(param_8 + 4) != 0,0)" ( identifier , (binary_expression "*(int *)(param_8 + 4) != 0" (pointer_expression "*(int *)(param_8 + 4)" * (cast_expression "(int *)(param_8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 4)" ( (binary_expression "param_8 + 4" identifier + number_literal) )))) != number_literal) , number_literal )))) ;) (if_statement "if ((local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92))\n    goto LAB_002c1402;" if (parenthesized_expression "((local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92))" ( (binary_expression "(local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92)" (parenthesized_expression "(local_ce != 0)" ( (binary_expression "local_ce != 0" identifier != number_literal) )) || (parenthesized_expression "(local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92)" ( (comma_expression "local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92" (assignment_expression "local_ce = uVar44 == 0x14 || uVar44 == 0x92" identifier = (binary_expression "uVar44 == 0x14 || uVar44 == 0x92" (binary_expression "uVar44 == 0x14" identifier == number_literal) || (binary_expression "uVar44 == 0x92" identifier == number_literal))) , (binary_expression "uVar44 != 0x14 && uVar44 != 0x92" (binary_expression "uVar44 != 0x14" identifier != number_literal) && (binary_expression "uVar44 != 0x92" identifier != number_literal))) ))) )) (goto_statement "goto LAB_002c1402;" goto statement_identifier ;)) (labeled_statement "LAB_002c1ab9:\n    if (uVar44 - 0x85 < 0x29) {\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }" statement_identifier : (if_statement "if (uVar44 - 0x85 < 0x29) {\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }" if (parenthesized_expression "(uVar44 - 0x85 < 0x29)" ( (binary_expression "uVar44 - 0x85 < 0x29" (binary_expression "uVar44 - 0x85" identifier - number_literal) < number_literal) )) (compound_statement "{\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }" { (expression_statement "uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;" (assignment_expression "uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff" identifier = (binary_expression "1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff" (binary_expression "1L << ((byte)(uVar44 - 0x85) & 0x3f)" number_literal << (parenthesized_expression "((byte)(uVar44 - 0x85) & 0x3f)" ( (binary_expression "(byte)(uVar44 - 0x85) & 0x3f" (call_expression "(byte)(uVar44 - 0x85)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar44 - 0x85)" ( (binary_expression "uVar44 - 0x85" identifier - number_literal) ))) & number_literal) ))) & number_literal)) ;) (expression_statement "uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);" (assignment_expression "uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc)" identifier = (call_expression "(ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc)" ( (binary_expression "(-(uint)(uVar24 == 0) & 0xffffff82) + 0xc" (parenthesized_expression "(-(uint)(uVar24 == 0) & 0xffffff82)" ( (binary_expression "-(uint)(uVar24 == 0) & 0xffffff82" (unary_expression "-(uint)(uVar24 == 0)" - (call_expression "(uint)(uVar24 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )))) & number_literal) )) + number_literal) )))) ;) (expression_statement "local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;" (assignment_expression "local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d" identifier = (binary_expression "(-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d" (parenthesized_expression "(-(uint)(uVar24 == 0) & 0xffffff82)" ( (binary_expression "-(uint)(uVar24 == 0) & 0xffffff82" (unary_expression "-(uint)(uVar24 == 0)" - (call_expression "(uint)(uVar24 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )))) & number_literal) )) + number_literal)) ;) (expression_statement "uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;" (assignment_expression "uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91" identifier = (binary_expression "(-(uint)(uVar24 == 0) & 0xffffff82) + 0x91" (parenthesized_expression "(-(uint)(uVar24 == 0) & 0xffffff82)" ( (binary_expression "-(uint)(uVar24 == 0) & 0xffffff82" (unary_expression "-(uint)(uVar24 == 0)" - (call_expression "(uint)(uVar24 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )))) & number_literal) )) + number_literal)) ;) }) (else_clause "else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }" else (compound_statement "{\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }" { (expression_statement "uVar32 = 0xffffff8e;" (assignment_expression "uVar32 = 0xffffff8e" identifier = number_literal) ;) (expression_statement "uVar44 = 0x13;" (assignment_expression "uVar44 = 0x13" identifier = number_literal) ;) (expression_statement "local_f0 = 0xffffffaf;" (assignment_expression "local_f0 = 0xffffffaf" identifier = number_literal) ;) })))) (expression_statement "uStack_80 = 0;" (assignment_expression "uStack_80 = 0" identifier = number_literal) ;) (expression_statement "uStack_7c = 0;" (assignment_expression "uStack_7c = 0" identifier = number_literal) ;) (expression_statement "local_ce = 0;" (assignment_expression "local_ce = 0" identifier = number_literal) ;) (expression_statement "local_b8 = (ulong)(param_3 == 9);" (assignment_expression "local_b8 = (ulong)(param_3 == 9)" identifier = (call_expression "(ulong)(param_3 == 9)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(param_3 == 9)" ( (binary_expression "param_3 == 9" identifier == number_literal) )))) ;) (labeled_statement "LAB_002c1b2f:\n    local_84 = uVar44;" statement_identifier : (expression_statement "local_84 = uVar44;" (assignment_expression "local_84 = uVar44" identifier = identifier) ;)) (if_statement "if (((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;" if (parenthesized_expression "(((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0))" ( (binary_expression "((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)" (parenthesized_expression "((uint)uVar32 < 0x29)" ( (binary_expression "(uint)uVar32 < 0x29" (cast_expression "(uint)uVar32" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) && (parenthesized_expression "((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)" ( (binary_expression "(0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0" (parenthesized_expression "(0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1)" ( (binary_expression "0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1" (binary_expression "0x1b3e1fff3ffU >> (uVar32 & 0x3f)" number_literal >> (parenthesized_expression "(uVar32 & 0x3f)" ( (binary_expression "uVar32 & 0x3f" identifier & number_literal) ))) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_002c1d4a;" goto statement_identifier ;)) }))) (expression_statement "uStack_80 = 0;" (assignment_expression "uStack_80 = 0" identifier = number_literal) ;) (expression_statement "uStack_7c = 0;" (assignment_expression "uStack_7c = 0" identifier = number_literal) ;) (expression_statement "unaff_R13 = &local_84;" (assignment_expression "unaff_R13 = &local_84" identifier = (pointer_expression "&local_84" & identifier)) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "local_e4 = 0;" (assignment_expression "local_e4 = 0" identifier = number_literal) ;) (expression_statement "local_d8 = (uint *)&local_78;" (assignment_expression "local_d8 = (uint *)&local_78" identifier = (cast_expression "(uint *)&local_78" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_78" & identifier))) ;) (expression_statement "uVar44 = local_84;" (assignment_expression "uVar44 = local_84" identifier = identifier) ;) (expression_statement "uVar18 = local_84;" (assignment_expression "uVar18 = local_84" identifier = identifier) ;) (while_statement "while (local_c8 = &local_78, uVar18 != 0) {\n    bVar45 = local_bc == iVar3;\n    bVar48 = cVar11 != '\0';\n    bVar14 = bVar45 && bVar48;\n    puVar34 = param_1;\n    if (*(char *)((long)param_1 + 4) == '\0') {\n      *(byte *)((long)param_1 + 4) = bVar14;\n      switch(uVar18) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }\n    }\n    local_cc = (uint)*param_1;\n    *(byte *)((long)param_1 + 4) = bVar14;\n    local_b0 = local_cc;\n    switch(uVar18) {\n    default:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);\n      break;\n    case 1:\n      local_b8 = 0;\n      local_b0 = local_cc;\nLAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar14 != 0) goto LAB_002c1f30;\n      *(ushort *)param_10 = (ushort)uVar36;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);\n      if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }\n      if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }\n      break;\n    case 3:\nswitchD_002c14fa_caseD_3:\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");\n    case 4:\n    case 100:\n    case 0x85:\n      local_b8 = 0;\n      bVar42 = (!bVar45 || !bVar48) & local_cf;\n      uVar17 = (uint)*param_10;\n      goto LAB_002c38d3;\n    case 5:\n    case 0x68:\n    case 0x86:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }\n      break;\n    case 6:\n    case 0x69:\n    case 0x87:\n    case 0x9d:\n      local_b8 = 0;\n      local_108 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }\n      if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\nLAB_002c1ebf:\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;\n      break;\n    case 7:\n    case 8:\n    case 0x65:\n    case 0x88:\n    case 0x89:\n    case 0xac:\n      lVar31 = *(long *)(param_4 + 0x28);\n      if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }\n      local_b8 = 0;\n      iVar35 = 0;\n      uVar17 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar21 - iVar35;\n      if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }\n      uVar20 = (uVar36 ^ uVar17) & 0xffff;\n      if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar17 ^ uVar20;\n      if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }\n      goto LAB_002c1fd6;\n    case 9:\n    case 0x66:\n    case 0x8a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case 10:\n      local_b8 = 0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }\n      break;\n    case 0xb:\n    case 0x67:\n    case 0x8e:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;\n    case 0xc:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);\n      goto joined_r0x002c327b;\n    case 0x12:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);\n      if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }\n      break;\n    case 0x13:\n    case 0x91:\n    case 0xf9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }\n      if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }\n      local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n      if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }\n      if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;\n      goto LAB_002c1fd4;\n    case 0x14:\n    case 0x92:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) goto LAB_002c4726;\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }\n      if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }\n      uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);\n      if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;\n      goto LAB_002c2590;\n    case 0x15:\n    case 0x93:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;\n      local_b0 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }\n      if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }\n      break;\n    case 0x16:\n    case 0x1e:\n    case 0x94:\n    case 0x99:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }\n      goto LAB_002c46d8;\n    case 0x17:\n    case 0x1f:\n    case 0x95:\n    case 0x9a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }\nLAB_002c4792:\n      FUN_00290940();\nLAB_002c4797:\n      FUN_00290940();\nLAB_002c479c:\n      FUN_00290940();\nLAB_002c47a1:\n      FUN_00290940();\nLAB_002c47a6:\n      FUN_00290940();\n                    /* catch() { ... } // from try @ 002c1a5e with catch @ 002c47ab */\n      uVar22 = FUN_0017eb9a();\n      return uVar22;\n    case 0x18:\n    case 0x96:\n      local_b8 = 0;\nLAB_002c2efa:\n      uVar18 = -local_b0;\nLAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      if (bVar14 != '\0') goto LAB_002c1f30;\n      uVar17 = 0;\n      *param_10 = (ulong)uVar36;\n      break;\n    case 0x1c:\n    case 0x97:\n      local_b8 = 0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }\n      uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);\n      goto joined_r0x002c1f7e;\n    case 0x1d:\n    case 0x98:\n      local_b8 = 0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar36 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }\n      FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }\n      uVar36 = uVar36 & 0xffff0000;\n      goto LAB_002c1fd0;\n    case 0x25:\n    case 0x9c:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }\n      uVar17 = (uint)*param_10;\n      uVar36 = uVar17;\n      if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }\n      if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }\n      break;\n    case 0x27:\n    case 0x29:\n      goto switchD_002c14fa_caseD_27;\n    case 0x2a:\n    case 0x6a:\n    case 0xa2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }\n      FUN_00290940();\nswitchD_002c14fa_caseD_27:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_27:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      goto joined_r0x002c327b;\n    case 0x2b:\n    case 0x6b:\n    case 0xa3:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }\n      if (lVar25 == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }\n      local_e4 = *(uint *)(lVar25 + 0x14);\n      uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\nLAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;\n      uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;\nLAB_002c2590:\n      *(uint *)param_10 = uVar18;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 0x2c:\n    case 0x6c:\n    case 0xa4:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      goto LAB_002c1f79;\n    case 0x2d:\n    case 0x6d:\n    case 0xa5:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x2e:\n    case 0x6e:\n    case 0xa6:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) goto LAB_002c2030;\n      goto LAB_002c47a1;\n    case 0x2f:\n    case 0x30:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    case 0x31:\n    case 0x6f:\n    case 0xa9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      uVar36 = iVar35 + 0x1000;\nLAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;\njoined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;\n      break;\n    case 0x32:\n    case 0x70:\n    case 0xaa:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x3c:\n      local_b8 = 0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }\n      break;\n    case 0x3d:\n      local_b8 = 0;\nLAB_002c304d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }\n      break;\n    case 0x3e:\n      local_b8 = 0;\nLAB_002c3104:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - (param_11 & 0xfffffff8);\n      uVar36 = uVar20 >> 3;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar32 = uVar32 & 7;\njoined_r0x002c324e:\n      uVar17 = 3;\n      if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }\n      break;\n    case 0x3f:\n      local_b8 = 0;\nLAB_002c31c0:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - param_11;\n      uVar36 = uVar20 >> 2;\n      if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }\nLAB_002c1f30:\n      uVar17 = 0;\n      *(uint *)param_1 = uVar36;\n      break;\n    case 0x40:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case 0x41:\n      local_b8 = 0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }\n      if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      break;\n    case 0x8b:\n      local_b8 = 0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }\n      break;\n    case 0x8c:\n      local_b8 = 0;\nLAB_002c328d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;\n      uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);\n      break;\n    case 0x8d:\n      local_b8 = 0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);\n      break;\n    case 0xf8:\n      local_b8 = 0;\nLAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\njoined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;\nLAB_002c1fd0:\n      puVar34 = param_10;\nLAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;\nLAB_002c1fd6:\n      uVar17 = 0;\n    }\nLAB_002c1e60:\n    unaff_R13 = unaff_R13 + 1;\n    if (local_d8 == unaff_R13) break;\n    uVar18 = *unaff_R13;\n  }" while (parenthesized_expression "(local_c8 = &local_78, uVar18 != 0)" ( (comma_expression "local_c8 = &local_78, uVar18 != 0" (assignment_expression "local_c8 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) , (binary_expression "uVar18 != 0" identifier != number_literal)) )) (compound_statement "{\n    bVar45 = local_bc == iVar3;\n    bVar48 = cVar11 != '\0';\n    bVar14 = bVar45 && bVar48;\n    puVar34 = param_1;\n    if (*(char *)((long)param_1 + 4) == '\0') {\n      *(byte *)((long)param_1 + 4) = bVar14;\n      switch(uVar18) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }\n    }\n    local_cc = (uint)*param_1;\n    *(byte *)((long)param_1 + 4) = bVar14;\n    local_b0 = local_cc;\n    switch(uVar18) {\n    default:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);\n      break;\n    case 1:\n      local_b8 = 0;\n      local_b0 = local_cc;\nLAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar14 != 0) goto LAB_002c1f30;\n      *(ushort *)param_10 = (ushort)uVar36;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);\n      if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }\n      if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }\n      break;\n    case 3:\nswitchD_002c14fa_caseD_3:\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");\n    case 4:\n    case 100:\n    case 0x85:\n      local_b8 = 0;\n      bVar42 = (!bVar45 || !bVar48) & local_cf;\n      uVar17 = (uint)*param_10;\n      goto LAB_002c38d3;\n    case 5:\n    case 0x68:\n    case 0x86:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }\n      break;\n    case 6:\n    case 0x69:\n    case 0x87:\n    case 0x9d:\n      local_b8 = 0;\n      local_108 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }\n      if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\nLAB_002c1ebf:\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;\n      break;\n    case 7:\n    case 8:\n    case 0x65:\n    case 0x88:\n    case 0x89:\n    case 0xac:\n      lVar31 = *(long *)(param_4 + 0x28);\n      if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }\n      local_b8 = 0;\n      iVar35 = 0;\n      uVar17 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar21 - iVar35;\n      if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }\n      uVar20 = (uVar36 ^ uVar17) & 0xffff;\n      if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar17 ^ uVar20;\n      if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }\n      goto LAB_002c1fd6;\n    case 9:\n    case 0x66:\n    case 0x8a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case 10:\n      local_b8 = 0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }\n      break;\n    case 0xb:\n    case 0x67:\n    case 0x8e:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;\n    case 0xc:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);\n      goto joined_r0x002c327b;\n    case 0x12:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);\n      if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }\n      break;\n    case 0x13:\n    case 0x91:\n    case 0xf9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }\n      if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }\n      local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n      if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }\n      if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;\n      goto LAB_002c1fd4;\n    case 0x14:\n    case 0x92:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) goto LAB_002c4726;\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }\n      if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }\n      uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);\n      if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;\n      goto LAB_002c2590;\n    case 0x15:\n    case 0x93:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;\n      local_b0 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }\n      if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }\n      break;\n    case 0x16:\n    case 0x1e:\n    case 0x94:\n    case 0x99:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }\n      goto LAB_002c46d8;\n    case 0x17:\n    case 0x1f:\n    case 0x95:\n    case 0x9a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }\nLAB_002c4792:\n      FUN_00290940();\nLAB_002c4797:\n      FUN_00290940();\nLAB_002c479c:\n      FUN_00290940();\nLAB_002c47a1:\n      FUN_00290940();\nLAB_002c47a6:\n      FUN_00290940();\n                    /* catch() { ... } // from try @ 002c1a5e with catch @ 002c47ab */\n      uVar22 = FUN_0017eb9a();\n      return uVar22;\n    case 0x18:\n    case 0x96:\n      local_b8 = 0;\nLAB_002c2efa:\n      uVar18 = -local_b0;\nLAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      if (bVar14 != '\0') goto LAB_002c1f30;\n      uVar17 = 0;\n      *param_10 = (ulong)uVar36;\n      break;\n    case 0x1c:\n    case 0x97:\n      local_b8 = 0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }\n      uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);\n      goto joined_r0x002c1f7e;\n    case 0x1d:\n    case 0x98:\n      local_b8 = 0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar36 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }\n      FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }\n      uVar36 = uVar36 & 0xffff0000;\n      goto LAB_002c1fd0;\n    case 0x25:\n    case 0x9c:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }\n      uVar17 = (uint)*param_10;\n      uVar36 = uVar17;\n      if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }\n      if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }\n      break;\n    case 0x27:\n    case 0x29:\n      goto switchD_002c14fa_caseD_27;\n    case 0x2a:\n    case 0x6a:\n    case 0xa2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }\n      FUN_00290940();\nswitchD_002c14fa_caseD_27:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_27:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      goto joined_r0x002c327b;\n    case 0x2b:\n    case 0x6b:\n    case 0xa3:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }\n      if (lVar25 == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }\n      local_e4 = *(uint *)(lVar25 + 0x14);\n      uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\nLAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;\n      uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;\nLAB_002c2590:\n      *(uint *)param_10 = uVar18;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 0x2c:\n    case 0x6c:\n    case 0xa4:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      goto LAB_002c1f79;\n    case 0x2d:\n    case 0x6d:\n    case 0xa5:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x2e:\n    case 0x6e:\n    case 0xa6:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) goto LAB_002c2030;\n      goto LAB_002c47a1;\n    case 0x2f:\n    case 0x30:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    case 0x31:\n    case 0x6f:\n    case 0xa9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      uVar36 = iVar35 + 0x1000;\nLAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;\njoined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;\n      break;\n    case 0x32:\n    case 0x70:\n    case 0xaa:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x3c:\n      local_b8 = 0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }\n      break;\n    case 0x3d:\n      local_b8 = 0;\nLAB_002c304d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }\n      break;\n    case 0x3e:\n      local_b8 = 0;\nLAB_002c3104:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - (param_11 & 0xfffffff8);\n      uVar36 = uVar20 >> 3;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar32 = uVar32 & 7;\njoined_r0x002c324e:\n      uVar17 = 3;\n      if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }\n      break;\n    case 0x3f:\n      local_b8 = 0;\nLAB_002c31c0:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - param_11;\n      uVar36 = uVar20 >> 2;\n      if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }\nLAB_002c1f30:\n      uVar17 = 0;\n      *(uint *)param_1 = uVar36;\n      break;\n    case 0x40:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case 0x41:\n      local_b8 = 0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }\n      if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      break;\n    case 0x8b:\n      local_b8 = 0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }\n      break;\n    case 0x8c:\n      local_b8 = 0;\nLAB_002c328d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;\n      uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);\n      break;\n    case 0x8d:\n      local_b8 = 0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);\n      break;\n    case 0xf8:\n      local_b8 = 0;\nLAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\njoined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;\nLAB_002c1fd0:\n      puVar34 = param_10;\nLAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;\nLAB_002c1fd6:\n      uVar17 = 0;\n    }\nLAB_002c1e60:\n    unaff_R13 = unaff_R13 + 1;\n    if (local_d8 == unaff_R13) break;\n    uVar18 = *unaff_R13;\n  }" { (expression_statement "bVar45 = local_bc == iVar3;" (assignment_expression "bVar45 = local_bc == iVar3" identifier = (binary_expression "local_bc == iVar3" identifier == identifier)) ;) (expression_statement "bVar48 = cVar11 != '\0';" (assignment_expression "bVar48 = cVar11 != '\0'" identifier = (binary_expression "cVar11 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ;) (expression_statement "bVar14 = bVar45 && bVar48;" (assignment_expression "bVar14 = bVar45 && bVar48" identifier = (binary_expression "bVar45 && bVar48" identifier && identifier)) ;) (expression_statement "puVar34 = param_1;" (assignment_expression "puVar34 = param_1" identifier = identifier) ;) (if_statement "if (*(char *)((long)param_1 + 4) == '\0') {\n      *(byte *)((long)param_1 + 4) = bVar14;\n      switch(uVar18) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }\n    }" if (parenthesized_expression "(*(char *)((long)param_1 + 4) == '\0')" ( (binary_expression "*(char *)((long)param_1 + 4) == '\0'" (pointer_expression "*(char *)((long)param_1 + 4)" * (cast_expression "(char *)((long)param_1 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(byte *)((long)param_1 + 4) = bVar14;\n      switch(uVar18) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }\n    }" { (expression_statement "*(byte *)((long)param_1 + 4) = bVar14;" (assignment_expression "*(byte *)((long)param_1 + 4) = bVar14" (pointer_expression "*(byte *)((long)param_1 + 4)" * (cast_expression "(byte *)((long)param_1 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (switch_statement "switch(uVar18) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }" switch (parenthesized_expression "(uVar18)" ( identifier )) (compound_statement "{\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }" { (case_statement "default:\n        goto switchD_002c18c9_caseD_0;" default : (goto_statement "goto switchD_002c18c9_caseD_0;" goto statement_identifier ;)) (case_statement "case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;" case number_literal : (expression_statement "uVar30 = (ushort)*param_10;" (assignment_expression "uVar30 = (ushort)*param_10" identifier = (binary_expression "(ushort)*param_10" (parenthesized_expression "(ushort)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }" if (parenthesized_expression "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }" { (labeled_statement "LAB_002c46aa:\n          local_b0 = local_cc;" statement_identifier : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;)) }) (else_clause "else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }" else (compound_statement "{\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }" { (expression_statement "local_b0 = (uint)uVar30;" (assignment_expression "local_b0 = (uint)uVar30" identifier = (cast_expression "(uint)uVar30" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }" if (parenthesized_expression "((short)uVar30 < 0)" ( (binary_expression "(short)uVar30 < 0" (cast_expression "(short)uVar30" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) < number_literal) )) (compound_statement "{\n            local_b0 = uVar30 - 0x10000;\n          }" { (expression_statement "local_b0 = uVar30 - 0x10000;" (assignment_expression "local_b0 = uVar30 - 0x10000" identifier = (binary_expression "uVar30 - 0x10000" identifier - number_literal)) ;) })) }))) (goto_statement "goto LAB_002c359b;" goto statement_identifier ;)) (case_statement "case 2:\n        goto switchD_002c18c9_caseD_2;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_2;" goto statement_identifier ;)) (case_statement "case 3:\n        goto switchD_002c14fa_caseD_3;" case number_literal : (goto_statement "goto switchD_002c14fa_caseD_3;" goto statement_identifier ;)) (case_statement "case 4:" case number_literal :) (case_statement "case 100:" case number_literal :) (case_statement "case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;" case number_literal : (expression_statement "bVar42 = (!bVar45 || !bVar48) & local_cf;" (assignment_expression "bVar42 = (!bVar45 || !bVar48) & local_cf" identifier = (binary_expression "(!bVar45 || !bVar48) & local_cf" (parenthesized_expression "(!bVar45 || !bVar48)" ( (binary_expression "!bVar45 || !bVar48" (unary_expression "!bVar45" ! identifier) || (unary_expression "!bVar48" ! identifier)) )) & identifier)) ;) (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (expression_statement "uVar17 = (uint)*param_10;" (assignment_expression "uVar17 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }" if (parenthesized_expression "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }" { (labeled_statement "LAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }" statement_identifier : (if_statement "if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }" if (parenthesized_expression "(bVar42 == 0)" ( (binary_expression "bVar42 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }" { (labeled_statement "LAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;" statement_identifier : (expression_statement "bVar46 = param_8 == (undefined8 *)0x0;" (assignment_expression "bVar46 = param_8 == (undefined8 *)0x0" identifier = (binary_expression "param_8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;)) (if_statement "if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;" if (parenthesized_expression "((local_cf == 1) || (uVar18 != 0x85))" ( (binary_expression "(local_cf == 1) || (uVar18 != 0x85)" (parenthesized_expression "(local_cf == 1)" ( (binary_expression "local_cf == 1" identifier == number_literal) )) || (parenthesized_expression "(uVar18 != 0x85)" ( (binary_expression "uVar18 != 0x85" identifier != number_literal) ))) )) (goto_statement "goto LAB_002c34d9;" goto statement_identifier ;)) (if_statement "if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }" if (parenthesized_expression "(bVar46)" ( identifier )) (compound_statement "{\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }" { (expression_statement "local_118 = 1;" (assignment_expression "local_118 = 1" identifier = number_literal) ;) (expression_statement "uVar36 = 0xf8000000;" (assignment_expression "uVar36 = 0xf8000000" identifier = number_literal) ;) (goto_statement "goto LAB_002c34f1;" goto statement_identifier ;) })) (expression_statement "local_118 = 1;" (assignment_expression "local_118 = 1" identifier = number_literal) ;) (expression_statement "uVar36 = local_b0 & 0x7ffffff;" (assignment_expression "uVar36 = local_b0 & 0x7ffffff" identifier = (binary_expression "local_b0 & 0x7ffffff" identifier & number_literal)) ;) (if_statement "if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }" if (parenthesized_expression "((local_b0 & 0x4000000) != 0)" ( (binary_expression "(local_b0 & 0x4000000) != 0" (parenthesized_expression "(local_b0 & 0x4000000)" ( (binary_expression "local_b0 & 0x4000000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }" { (expression_statement "uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;" (assignment_expression "uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000" identifier = (binary_expression "(local_b0 & 0x7ffffff) + 0xf8000000" (parenthesized_expression "(local_b0 & 0x7ffffff)" ( (binary_expression "local_b0 & 0x7ffffff" identifier & number_literal) )) + number_literal)) ;) })) (goto_statement "goto LAB_002c3505;" goto statement_identifier ;) }))) (labeled_statement "LAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);" statement_identifier : (expression_statement "bVar42 = FUN_001a5ac0(param_9,plVar6,0);" (assignment_expression "bVar42 = FUN_001a5ac0(param_9,plVar6,0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,0)" identifier (argument_list "(param_9,plVar6,0)" ( identifier , identifier , number_literal )))) ;)) (if_statement "if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;" if (parenthesized_expression "((bool)(bVar42 & 3) == (uVar18 == 4))" ( (binary_expression "(bool)(bVar42 & 3) == (uVar18 == 4)" (cast_expression "(bool)(bVar42 & 3)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar42 & 3)" ( (binary_expression "bVar42 & 3" identifier & number_literal) ))) == (parenthesized_expression "(uVar18 == 4)" ( (binary_expression "uVar18 == 4" identifier == number_literal) ))) )) (goto_statement "goto LAB_002c38db;" goto statement_identifier ;)) (expression_statement "uVar22 = gettext("JALX to a non-word-aligned address");" (assignment_expression "uVar22 = gettext("JALX to a non-word-aligned address")" identifier = (call_expression "gettext("JALX to a non-word-aligned address")" identifier (argument_list "("JALX to a non-word-aligned address")" ( (string_literal ""JALX to a non-word-aligned address"" " string_content ") )))) ;) (expression_statement "FUN_0034a800(uVar22);" (call_expression "FUN_0034a800(uVar22)" identifier (argument_list "(uVar22)" ( identifier ))) ;) (labeled_statement "LAB_002c413e:\n          uVar17 = 2;" statement_identifier : (expression_statement "uVar17 = 2;" (assignment_expression "uVar17 = 2" identifier = number_literal) ;)) }) (else_clause "else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }" else (compound_statement "{\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }" { (if_statement "if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }" if (parenthesized_expression "(uVar18 == 0x85)" ( (binary_expression "uVar18 == 0x85" identifier == number_literal) )) (compound_statement "{\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }" { (expression_statement "local_b0 = uVar17 * 2 & 0x7fffffe;" (assignment_expression "local_b0 = uVar17 * 2 & 0x7fffffe" identifier = (binary_expression "uVar17 * 2 & 0x7fffffe" (binary_expression "uVar17 * 2" identifier * number_literal) & number_literal)) ;) (goto_statement "goto LAB_002c38d3;" goto statement_identifier ;) })) (expression_statement "local_b0 = (uVar17 & 0x3ffffff) << 2;" (assignment_expression "local_b0 = (uVar17 & 0x3ffffff) << 2" identifier = (binary_expression "(uVar17 & 0x3ffffff) << 2" (parenthesized_expression "(uVar17 & 0x3ffffff)" ( (binary_expression "uVar17 & 0x3ffffff" identifier & number_literal) )) << number_literal)) ;) (if_statement "if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }" if (parenthesized_expression "(bVar42 != 0)" ( (binary_expression "bVar42 != 0" identifier != number_literal) )) (compound_statement "{\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }" { (expression_statement "local_b8 = (ulong)bVar42;" (assignment_expression "local_b8 = (ulong)bVar42" identifier = (cast_expression "(ulong)bVar42" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_002c40ff;" goto statement_identifier ;) })) (labeled_statement "LAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;" statement_identifier : (expression_statement "bVar46 = param_8 == (undefined8 *)0x0;" (assignment_expression "bVar46 = param_8 == (undefined8 *)0x0" identifier = (binary_expression "param_8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;)) (if_statement "if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }" if (parenthesized_expression "(bVar46)" ( identifier )) (compound_statement "{\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }" { (expression_statement "local_118 = 2;" (assignment_expression "local_118 = 2" identifier = number_literal) ;) (expression_statement "uVar36 = 0xf0000000;" (assignment_expression "uVar36 = 0xf0000000" identifier = number_literal) ;) (labeled_statement "LAB_002c34f1:\n            bVar46 = true;" statement_identifier : (expression_statement "bVar46 = true;" (assignment_expression "bVar46 = true" identifier = true) ;)) (expression_statement "uVar36 = param_11 + 4 & uVar36 | local_b0;" (assignment_expression "uVar36 = param_11 + 4 & uVar36 | local_b0" identifier = (binary_expression "param_11 + 4 & uVar36 | local_b0" (binary_expression "param_11 + 4 & uVar36" (binary_expression "param_11 + 4" identifier + number_literal) & identifier) | identifier)) ;) }) (else_clause "else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }" else (compound_statement "{\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }" { (expression_statement "local_118 = 2;" (assignment_expression "local_118 = 2" identifier = number_literal) ;) (expression_statement "uVar36 = local_b0 & 0xfffffff;" (assignment_expression "uVar36 = local_b0 & 0xfffffff" identifier = (binary_expression "local_b0 & 0xfffffff" identifier & number_literal)) ;) (if_statement "if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }" if (parenthesized_expression "((local_b0 & 0x8000000) != 0)" ( (binary_expression "(local_b0 & 0x8000000) != 0" (parenthesized_expression "(local_b0 & 0x8000000)" ( (binary_expression "local_b0 & 0x8000000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }" { (expression_statement "uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;" (assignment_expression "uVar36 = (local_b0 & 0xfffffff) + 0xf0000000" identifier = (binary_expression "(local_b0 & 0xfffffff) + 0xf0000000" (parenthesized_expression "(local_b0 & 0xfffffff)" ( (binary_expression "local_b0 & 0xfffffff" identifier & number_literal) )) + number_literal)) ;) })) }))) (labeled_statement "LAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);" statement_identifier : (expression_statement "uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);" (assignment_expression "uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,uVar36)" identifier (argument_list "(param_9,plVar6,uVar36)" ( identifier , identifier , identifier )))) ;)) (if_statement "if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }" if (parenthesized_expression "((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f)))" ( (binary_expression "(((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))" (parenthesized_expression "(((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0'))" ( (binary_expression "((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')" (parenthesized_expression "((!bVar45 || !bVar48) && (!bVar46))" ( (binary_expression "(!bVar45 || !bVar48) && (!bVar46)" (parenthesized_expression "(!bVar45 || !bVar48)" ( (binary_expression "!bVar45 || !bVar48" (unary_expression "!bVar45" ! identifier) || (unary_expression "!bVar48" ! identifier)) )) && (parenthesized_expression "(!bVar46)" ( (unary_expression "!bVar46" ! identifier) ))) )) && (parenthesized_expression "(cVar16 = FUN_002e7200(param_8), cVar16 == '\0')" ( (comma_expression "cVar16 = FUN_002e7200(param_8), cVar16 == '\0'" (assignment_expression "cVar16 = FUN_002e7200(param_8)" identifier = (call_expression "FUN_002e7200(param_8)" identifier (argument_list "(param_8)" ( identifier )))) , (binary_expression "cVar16 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) && (parenthesized_expression "((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))" ( (binary_expression "(uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f)" (binary_expression "(uVar36 >> local_118) >> 0x1a" (parenthesized_expression "(uVar36 >> local_118)" ( (binary_expression "uVar36 >> local_118" identifier >> identifier) )) >> number_literal) != (binary_expression "param_11 + 4 >> (local_118 + 0x1aU & 0x1f)" (binary_expression "param_11 + 4" identifier + number_literal) >> (parenthesized_expression "(local_118 + 0x1aU & 0x1f)" ( (binary_expression "local_118 + 0x1aU & 0x1f" (binary_expression "local_118 + 0x1aU" identifier + number_literal) & number_literal) )))) ))) )) (compound_statement "{\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }" { (labeled_statement "LAB_002c3567:\n            uVar17 = 1;" statement_identifier : (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" identifier = number_literal) ;)) (goto_statement "goto LAB_002c1e60;" goto statement_identifier ;) })) (expression_statement "uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;" (assignment_expression "uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff" identifier = (binary_expression "uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff" identifier ^ (binary_expression "(uVar36 >> local_118 ^ uVar17) & 0x3ffffff" (parenthesized_expression "(uVar36 >> local_118 ^ uVar17)" ( (binary_expression "uVar36 >> local_118 ^ uVar17" (binary_expression "uVar36 >> local_118" identifier >> identifier) ^ identifier) )) & number_literal))) ;) (if_statement "if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }" if (parenthesized_expression "(local_cf != 0)" ( (binary_expression "local_cf != 0" identifier != number_literal) )) (compound_statement "{\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }" { (expression_statement "uVar17 = uVar17 >> 0x1a;" (assignment_expression "uVar17 = uVar17 >> 0x1a" identifier = (binary_expression "uVar17 >> 0x1a" identifier >> number_literal)) ;) (if_statement "if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }" if (parenthesized_expression "(uVar18 == 100)" ( (binary_expression "uVar18 == 100" identifier == number_literal) )) (compound_statement "{\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }" { (expression_statement "iVar35 = 7;" (assignment_expression "iVar35 = 7" identifier = number_literal) ;) (expression_statement "bVar46 = uVar17 - 6 < 2;" (assignment_expression "bVar46 = uVar17 - 6 < 2" identifier = (binary_expression "uVar17 - 6 < 2" (binary_expression "uVar17 - 6" identifier - number_literal) < number_literal)) ;) }) (else_clause "else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }" else (if_statement "if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }" if (parenthesized_expression "(uVar18 == 0x85)" ( (binary_expression "uVar18 == 0x85" identifier == number_literal) )) (compound_statement "{\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }" { (expression_statement "iVar35 = 0x3c;" (assignment_expression "iVar35 = 0x3c" identifier = number_literal) ;) (expression_statement "bVar46 = uVar17 - 0x3c < 2;" (assignment_expression "bVar46 = uVar17 - 0x3c < 2" identifier = (binary_expression "uVar17 - 0x3c < 2" (binary_expression "uVar17 - 0x3c" identifier - number_literal) < number_literal)) ;) }) (else_clause "else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }" else (compound_statement "{\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }" { (expression_statement "bVar46 = uVar17 == 3 || uVar17 == 0x1d;" (assignment_expression "bVar46 = uVar17 == 3 || uVar17 == 0x1d" identifier = (binary_expression "uVar17 == 3 || uVar17 == 0x1d" (binary_expression "uVar17 == 3" identifier == number_literal) || (binary_expression "uVar17 == 0x1d" identifier == number_literal))) ;) (expression_statement "iVar35 = 0x1d;" (assignment_expression "iVar35 = 0x1d" identifier = number_literal) ;) }))))) (if_statement "if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }" if (parenthesized_expression "((!bVar45 || !bVar48) && (!bVar46))" ( (binary_expression "(!bVar45 || !bVar48) && (!bVar46)" (parenthesized_expression "(!bVar45 || !bVar48)" ( (binary_expression "!bVar45 || !bVar48" (unary_expression "!bVar45" ! identifier) || (unary_expression "!bVar48" ! identifier)) )) && (parenthesized_expression "(!bVar46)" ( (unary_expression "!bVar46" ! identifier) ))) )) (compound_statement "{\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }" { (expression_statement "uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );" (assignment_expression "uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              )" identifier = (call_expression "gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              )" identifier (argument_list "(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              )" ( (string_literal ""Unsupported jump between ISA modes; consider recompiling with interlinking enabled."" " string_content ") )))) ;) (expression_statement "FUN_0034a750(uVar22);" (call_expression "FUN_0034a750(uVar22)" identifier (argument_list "(uVar22)" ( identifier ))) ;) (goto_statement "goto LAB_002c413e;" goto statement_identifier ;) })) (expression_statement "uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;" (assignment_expression "uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a" identifier = (binary_expression "uVar36 & 0x3ffffff | iVar35 << 0x1a" (binary_expression "uVar36 & 0x3ffffff" identifier & number_literal) | (binary_expression "iVar35 << 0x1a" identifier << number_literal))) ;) })) (if_statement "if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            FUN_002932f0();\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_002c4770:\n                    /* WARNING: Subroutine does not return */\n            FUN_002932f0();\n          }" { (labeled_statement "LAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            FUN_002932f0();" statement_identifier : comment (expression_statement "FUN_002932f0();" (call_expression "FUN_002932f0()" identifier (argument_list "()" ( ))) ;)) })) (if_statement "if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }" if (parenthesized_expression "(bVar45 && bVar48)" ( (binary_expression "bVar45 && bVar48" identifier && identifier) )) (compound_statement "{\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(uint *)param_1 = uVar36;" (assignment_expression "*(uint *)param_1 = uVar36" (pointer_expression "*(uint *)param_1" * (cast_expression "(uint *)param_1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (else_clause "else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }" else (compound_statement "{\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(uint *)param_10 = uVar36;" (assignment_expression "*(uint *)param_10 = uVar36" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }))) }))) (goto_statement "goto LAB_002c1e60;" goto statement_identifier ;)) (case_statement "case 5:" case number_literal :) (case_statement "case 0x68:" case number_literal :) (case_statement "case 0x86:\n        goto switchD_002c18c9_caseD_5;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_5;" goto statement_identifier ;)) (case_statement "case 6:" case number_literal :) (case_statement "case 0x69:" case number_literal :) (case_statement "case 0x87:" case number_literal :) (case_statement "case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (expression_statement "local_108 = (uint)*param_10;" (assignment_expression "local_108 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }" { (expression_statement "local_b0 = (local_108 & 0xffff) - 0x10000;" (assignment_expression "local_b0 = (local_108 & 0xffff) - 0x10000" identifier = (binary_expression "(local_108 & 0xffff) - 0x10000" (parenthesized_expression "(local_108 & 0xffff)" ( (binary_expression "local_108 & 0xffff" identifier & number_literal) )) - number_literal)) ;) (if_statement "if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }" if (parenthesized_expression "((local_108 & 0x8000) == 0)" ( (binary_expression "(local_108 & 0x8000) == 0" (parenthesized_expression "(local_108 & 0x8000)" ( (binary_expression "local_108 & 0x8000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            local_b0 = local_108 & 0xffff;\n          }" { (expression_statement "local_b0 = local_108 & 0xffff;" (assignment_expression "local_b0 = local_108 & 0xffff" identifier = (binary_expression "local_108 & 0xffff" identifier & number_literal)) ;) })) })) (goto_statement "goto LAB_002c3615;" goto statement_identifier ;)) (case_statement "case 7:" case number_literal :) (case_statement "case 8:" case number_literal :) (case_statement "case 0x65:" case number_literal :) (case_statement "case 0x88:" case number_literal :) (case_statement "case 0x89:" case number_literal :) (case_statement "case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (expression_statement "lVar31 = *(long *)(param_4 + 0x28);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x28)" identifier = (pointer_expression "*(long *)(param_4 + 0x28)" * (cast_expression "(long *)(param_4 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x28)" ( (binary_expression "param_4 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (lVar31 != 0) goto LAB_002c370d;" if (parenthesized_expression "(lVar31 != 0)" ( (binary_expression "lVar31 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002c370d;" goto statement_identifier ;)) (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c3751:\n        uVar17 = (uint)*param_10;" statement_identifier : (expression_statement "uVar17 = (uint)*param_10;" (assignment_expression "uVar17 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;)) (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" identifier = identifier) ;) (if_statement "if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }" { (if_statement "if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }" if (parenthesized_expression "(uVar18 == 0xac)" ( (binary_expression "uVar18 == 0xac" identifier == number_literal) )) (compound_statement "{\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }" { (expression_statement "local_b0 = uVar17 * 4 & 0x1fc;" (assignment_expression "local_b0 = uVar17 * 4 & 0x1fc" identifier = (binary_expression "uVar17 * 4 & 0x1fc" (binary_expression "uVar17 * 4" identifier * number_literal) & number_literal)) ;) }) (else_clause "else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }" else (compound_statement "{\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }" { (expression_statement "local_b0 = (uVar17 & 0xffff) - 0x10000;" (assignment_expression "local_b0 = (uVar17 & 0xffff) - 0x10000" identifier = (binary_expression "(uVar17 & 0xffff) - 0x10000" (parenthesized_expression "(uVar17 & 0xffff)" ( (binary_expression "uVar17 & 0xffff" identifier & number_literal) )) - number_literal)) ;) (if_statement "if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }" if (parenthesized_expression "((uVar17 & 0x8000) == 0)" ( (binary_expression "(uVar17 & 0x8000) == 0" (parenthesized_expression "(uVar17 & 0x8000)" ( (binary_expression "uVar17 & 0x8000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              local_b0 = uVar17 & 0xffff;\n            }" { (expression_statement "local_b0 = uVar17 & 0xffff;" (assignment_expression "local_b0 = uVar17 & 0xffff" identifier = (binary_expression "uVar17 & 0xffff" identifier & number_literal)) ;) })) }))) })) (goto_statement "goto LAB_002c378b;" goto statement_identifier ;)) (case_statement "case 9:" case number_literal :) (case_statement "case 0x66:" case number_literal :) (case_statement "case 0x8a:\n        goto switchD_002c18c9_caseD_9;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_9;" goto statement_identifier ;)) (case_statement "case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c2e45;" goto statement_identifier ;)) (case_statement "case 0xb:" case number_literal :) (case_statement "case 0x67:" case number_literal :) (case_statement "case 0x8e:\n        goto switchD_002c18c9_caseD_b;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_b;" goto statement_identifier ;)) (case_statement "case 0xc:\n        goto switchD_002c18c9_caseD_c;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_c;" goto statement_identifier ;)) (case_statement "case 0x12:\n        goto switchD_002c18c9_caseD_12;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_12;" goto statement_identifier ;)) (case_statement "case 0x13:" case number_literal :) (case_statement "case 0x91:" case number_literal :) (case_statement "case 0xf9:\n        goto switchD_002c18c9_caseD_13;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_13;" goto statement_identifier ;)) (case_statement "case 0x14:" case number_literal :) (case_statement "case 0x92:\n        goto switchD_002c18c9_caseD_14;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_14;" goto statement_identifier ;)) (case_statement "case 0x15:" case number_literal :) (case_statement "case 0x93:\n        goto switchD_002c18c9_caseD_15;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_15;" goto statement_identifier ;)) (case_statement "case 0x16:" case number_literal :) (case_statement "case 0x1e:" case number_literal :) (case_statement "case 0x94:" case number_literal :) (case_statement "case 0x99:\n        goto switchD_002c18c9_caseD_16;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_16;" goto statement_identifier ;)) (case_statement "case 0x17:" case number_literal :) (case_statement "case 0x1f:" case number_literal :) (case_statement "case 0x95:" case number_literal :) (case_statement "case 0x9a:\n        goto switchD_002c18c9_caseD_17;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_17;" goto statement_identifier ;)) (case_statement "case 0x18:" case number_literal :) (case_statement "case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (if_statement "if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_b0 = (uint)*param_10;\n        }" { (expression_statement "local_b0 = (uint)*param_10;" (assignment_expression "local_b0 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) })) (goto_statement "goto LAB_002c2efa;" goto statement_identifier ;)) (case_statement "case 0x1c:" case number_literal :) (case_statement "case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c1ed8;" goto statement_identifier ;)) (case_statement "case 0x1d:" case number_literal :) (case_statement "case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c2f32;" goto statement_identifier ;)) (case_statement "case 0x25:" case number_literal :) (case_statement "case 0x9c:\n        goto switchD_002c18c9_caseD_25;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_25;" goto statement_identifier ;)) (case_statement "case 0x27:" case number_literal :) (case_statement "case 0x29:\n        goto switchD_002c18c9_caseD_27;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_27;" goto statement_identifier ;)) (case_statement "case 0x2a:" case number_literal :) (case_statement "case 0x6a:" case number_literal :) (case_statement "case 0xa2:\n        goto switchD_002c18c9_caseD_2a;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_2a;" goto statement_identifier ;)) (case_statement "case 0x2b:" case number_literal :) (case_statement "case 0x6b:" case number_literal :) (case_statement "case 0xa3:\n        goto switchD_002c18c9_caseD_2b;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_2b;" goto statement_identifier ;)) (case_statement "case 0x2c:" case number_literal :) (case_statement "case 0x6c:" case number_literal :) (case_statement "case 0xa4:\n        goto switchD_002c18c9_caseD_2c;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_2c;" goto statement_identifier ;)) (case_statement "case 0x2d:" case number_literal :) (case_statement "case 0x6d:" case number_literal :) (case_statement "case 0xa5:\n        goto switchD_002c18c9_caseD_2d;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_2d;" goto statement_identifier ;)) (case_statement "case 0x2e:" case number_literal :) (case_statement "case 0x6e:" case number_literal :) (case_statement "case 0xa6:\n        goto switchD_002c18c9_caseD_2e;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_2e;" goto statement_identifier ;)) (case_statement "case 0x2f:" case number_literal :) (case_statement "case 0x30:\n        goto switchD_002c18c9_caseD_2f;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_2f;" goto statement_identifier ;)) (case_statement "case 0x31:" case number_literal :) (case_statement "case 0x6f:" case number_literal :) (case_statement "case 0xa9:\n        goto switchD_002c18c9_caseD_31;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_31;" goto statement_identifier ;)) (case_statement "case 0x32:" case number_literal :) (case_statement "case 0x70:" case number_literal :) (case_statement "case 0xaa:\n        goto switchD_002c18c9_caseD_32;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_32;" goto statement_identifier ;)) (case_statement "case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c2f96;" goto statement_identifier ;)) (case_statement "case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c304d;" goto statement_identifier ;)) (case_statement "case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c3104;" goto statement_identifier ;)) (case_statement "case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c31c0;" goto statement_identifier ;)) (case_statement "case 0x40:\n        goto switchD_002c18c9_caseD_40;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_40;" goto statement_identifier ;)) (case_statement "case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c330f;" goto statement_identifier ;)) (case_statement "case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c3385;" goto statement_identifier ;)) (case_statement "case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c328d;" goto statement_identifier ;)) (case_statement "case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c33fc;" goto statement_identifier ;)) (case_statement "case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (if_statement "if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_b0 = (uint)*param_10;\n        }" { (expression_statement "local_b0 = (uint)*param_10;" (assignment_expression "local_b0 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) })) (goto_statement "goto LAB_002c3260;" goto statement_identifier ;)) })) })) (expression_statement "local_cc = (uint)*param_1;" (assignment_expression "local_cc = (uint)*param_1" identifier = (binary_expression "(uint)*param_1" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "*(byte *)((long)param_1 + 4) = bVar14;" (assignment_expression "*(byte *)((long)param_1 + 4) = bVar14" (pointer_expression "*(byte *)((long)param_1 + 4)" * (cast_expression "(byte *)((long)param_1 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (switch_statement "switch(uVar18) {\n    default:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);\n      break;\n    case 1:\n      local_b8 = 0;\n      local_b0 = local_cc;\nLAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar14 != 0) goto LAB_002c1f30;\n      *(ushort *)param_10 = (ushort)uVar36;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);\n      if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }\n      if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }\n      break;\n    case 3:\nswitchD_002c14fa_caseD_3:\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");\n    case 4:\n    case 100:\n    case 0x85:\n      local_b8 = 0;\n      bVar42 = (!bVar45 || !bVar48) & local_cf;\n      uVar17 = (uint)*param_10;\n      goto LAB_002c38d3;\n    case 5:\n    case 0x68:\n    case 0x86:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }\n      break;\n    case 6:\n    case 0x69:\n    case 0x87:\n    case 0x9d:\n      local_b8 = 0;\n      local_108 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }\n      if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\nLAB_002c1ebf:\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;\n      break;\n    case 7:\n    case 8:\n    case 0x65:\n    case 0x88:\n    case 0x89:\n    case 0xac:\n      lVar31 = *(long *)(param_4 + 0x28);\n      if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }\n      local_b8 = 0;\n      iVar35 = 0;\n      uVar17 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar21 - iVar35;\n      if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }\n      uVar20 = (uVar36 ^ uVar17) & 0xffff;\n      if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar17 ^ uVar20;\n      if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }\n      goto LAB_002c1fd6;\n    case 9:\n    case 0x66:\n    case 0x8a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case 10:\n      local_b8 = 0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }\n      break;\n    case 0xb:\n    case 0x67:\n    case 0x8e:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;\n    case 0xc:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);\n      goto joined_r0x002c327b;\n    case 0x12:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);\n      if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }\n      break;\n    case 0x13:\n    case 0x91:\n    case 0xf9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }\n      if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }\n      local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n      if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }\n      if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;\n      goto LAB_002c1fd4;\n    case 0x14:\n    case 0x92:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) goto LAB_002c4726;\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }\n      if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }\n      uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);\n      if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;\n      goto LAB_002c2590;\n    case 0x15:\n    case 0x93:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;\n      local_b0 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }\n      if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }\n      break;\n    case 0x16:\n    case 0x1e:\n    case 0x94:\n    case 0x99:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }\n      goto LAB_002c46d8;\n    case 0x17:\n    case 0x1f:\n    case 0x95:\n    case 0x9a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }\nLAB_002c4792:\n      FUN_00290940();\nLAB_002c4797:\n      FUN_00290940();\nLAB_002c479c:\n      FUN_00290940();\nLAB_002c47a1:\n      FUN_00290940();\nLAB_002c47a6:\n      FUN_00290940();\n                    /* catch() { ... } // from try @ 002c1a5e with catch @ 002c47ab */\n      uVar22 = FUN_0017eb9a();\n      return uVar22;\n    case 0x18:\n    case 0x96:\n      local_b8 = 0;\nLAB_002c2efa:\n      uVar18 = -local_b0;\nLAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      if (bVar14 != '\0') goto LAB_002c1f30;\n      uVar17 = 0;\n      *param_10 = (ulong)uVar36;\n      break;\n    case 0x1c:\n    case 0x97:\n      local_b8 = 0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }\n      uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);\n      goto joined_r0x002c1f7e;\n    case 0x1d:\n    case 0x98:\n      local_b8 = 0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar36 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }\n      FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }\n      uVar36 = uVar36 & 0xffff0000;\n      goto LAB_002c1fd0;\n    case 0x25:\n    case 0x9c:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }\n      uVar17 = (uint)*param_10;\n      uVar36 = uVar17;\n      if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }\n      if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }\n      break;\n    case 0x27:\n    case 0x29:\n      goto switchD_002c14fa_caseD_27;\n    case 0x2a:\n    case 0x6a:\n    case 0xa2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }\n      FUN_00290940();\nswitchD_002c14fa_caseD_27:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_27:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      goto joined_r0x002c327b;\n    case 0x2b:\n    case 0x6b:\n    case 0xa3:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }\n      if (lVar25 == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }\n      local_e4 = *(uint *)(lVar25 + 0x14);\n      uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\nLAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;\n      uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;\nLAB_002c2590:\n      *(uint *)param_10 = uVar18;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 0x2c:\n    case 0x6c:\n    case 0xa4:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      goto LAB_002c1f79;\n    case 0x2d:\n    case 0x6d:\n    case 0xa5:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x2e:\n    case 0x6e:\n    case 0xa6:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) goto LAB_002c2030;\n      goto LAB_002c47a1;\n    case 0x2f:\n    case 0x30:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    case 0x31:\n    case 0x6f:\n    case 0xa9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      uVar36 = iVar35 + 0x1000;\nLAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;\njoined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;\n      break;\n    case 0x32:\n    case 0x70:\n    case 0xaa:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x3c:\n      local_b8 = 0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }\n      break;\n    case 0x3d:\n      local_b8 = 0;\nLAB_002c304d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }\n      break;\n    case 0x3e:\n      local_b8 = 0;\nLAB_002c3104:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - (param_11 & 0xfffffff8);\n      uVar36 = uVar20 >> 3;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar32 = uVar32 & 7;\njoined_r0x002c324e:\n      uVar17 = 3;\n      if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }\n      break;\n    case 0x3f:\n      local_b8 = 0;\nLAB_002c31c0:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - param_11;\n      uVar36 = uVar20 >> 2;\n      if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }\nLAB_002c1f30:\n      uVar17 = 0;\n      *(uint *)param_1 = uVar36;\n      break;\n    case 0x40:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case 0x41:\n      local_b8 = 0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }\n      if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      break;\n    case 0x8b:\n      local_b8 = 0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }\n      break;\n    case 0x8c:\n      local_b8 = 0;\nLAB_002c328d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;\n      uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);\n      break;\n    case 0x8d:\n      local_b8 = 0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);\n      break;\n    case 0xf8:\n      local_b8 = 0;\nLAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\njoined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;\nLAB_002c1fd0:\n      puVar34 = param_10;\nLAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;\nLAB_002c1fd6:\n      uVar17 = 0;\n    }" switch (parenthesized_expression "(uVar18)" ( identifier )) (compound_statement "{\n    default:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);\n      break;\n    case 1:\n      local_b8 = 0;\n      local_b0 = local_cc;\nLAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar14 != 0) goto LAB_002c1f30;\n      *(ushort *)param_10 = (ushort)uVar36;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);\n      if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }\n      if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }\n      break;\n    case 3:\nswitchD_002c14fa_caseD_3:\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");\n    case 4:\n    case 100:\n    case 0x85:\n      local_b8 = 0;\n      bVar42 = (!bVar45 || !bVar48) & local_cf;\n      uVar17 = (uint)*param_10;\n      goto LAB_002c38d3;\n    case 5:\n    case 0x68:\n    case 0x86:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }\n      break;\n    case 6:\n    case 0x69:\n    case 0x87:\n    case 0x9d:\n      local_b8 = 0;\n      local_108 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }\n      if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\nLAB_002c1ebf:\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;\n      break;\n    case 7:\n    case 8:\n    case 0x65:\n    case 0x88:\n    case 0x89:\n    case 0xac:\n      lVar31 = *(long *)(param_4 + 0x28);\n      if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }\n      local_b8 = 0;\n      iVar35 = 0;\n      uVar17 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar21 - iVar35;\n      if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }\n      uVar20 = (uVar36 ^ uVar17) & 0xffff;\n      if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar17 ^ uVar20;\n      if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }\n      goto LAB_002c1fd6;\n    case 9:\n    case 0x66:\n    case 0x8a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case 10:\n      local_b8 = 0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }\n      break;\n    case 0xb:\n    case 0x67:\n    case 0x8e:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;\n    case 0xc:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);\n      goto joined_r0x002c327b;\n    case 0x12:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);\n      if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }\n      break;\n    case 0x13:\n    case 0x91:\n    case 0xf9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }\n      if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }\n      local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n      if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }\n      if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;\n      goto LAB_002c1fd4;\n    case 0x14:\n    case 0x92:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) goto LAB_002c4726;\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }\n      if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }\n      uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);\n      if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;\n      goto LAB_002c2590;\n    case 0x15:\n    case 0x93:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;\n      local_b0 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }\n      if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }\n      break;\n    case 0x16:\n    case 0x1e:\n    case 0x94:\n    case 0x99:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }\n      goto LAB_002c46d8;\n    case 0x17:\n    case 0x1f:\n    case 0x95:\n    case 0x9a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }\nLAB_002c4792:\n      FUN_00290940();\nLAB_002c4797:\n      FUN_00290940();\nLAB_002c479c:\n      FUN_00290940();\nLAB_002c47a1:\n      FUN_00290940();\nLAB_002c47a6:\n      FUN_00290940();\n                    /* catch() { ... } // from try @ 002c1a5e with catch @ 002c47ab */\n      uVar22 = FUN_0017eb9a();\n      return uVar22;\n    case 0x18:\n    case 0x96:\n      local_b8 = 0;\nLAB_002c2efa:\n      uVar18 = -local_b0;\nLAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      if (bVar14 != '\0') goto LAB_002c1f30;\n      uVar17 = 0;\n      *param_10 = (ulong)uVar36;\n      break;\n    case 0x1c:\n    case 0x97:\n      local_b8 = 0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }\n      uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);\n      goto joined_r0x002c1f7e;\n    case 0x1d:\n    case 0x98:\n      local_b8 = 0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar36 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }\n      FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }\n      uVar36 = uVar36 & 0xffff0000;\n      goto LAB_002c1fd0;\n    case 0x25:\n    case 0x9c:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }\n      uVar17 = (uint)*param_10;\n      uVar36 = uVar17;\n      if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }\n      if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }\n      break;\n    case 0x27:\n    case 0x29:\n      goto switchD_002c14fa_caseD_27;\n    case 0x2a:\n    case 0x6a:\n    case 0xa2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }\n      FUN_00290940();\nswitchD_002c14fa_caseD_27:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_27:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      goto joined_r0x002c327b;\n    case 0x2b:\n    case 0x6b:\n    case 0xa3:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }\n      if (lVar25 == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }\n      local_e4 = *(uint *)(lVar25 + 0x14);\n      uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\nLAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;\n      uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;\nLAB_002c2590:\n      *(uint *)param_10 = uVar18;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 0x2c:\n    case 0x6c:\n    case 0xa4:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      goto LAB_002c1f79;\n    case 0x2d:\n    case 0x6d:\n    case 0xa5:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x2e:\n    case 0x6e:\n    case 0xa6:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) goto LAB_002c2030;\n      goto LAB_002c47a1;\n    case 0x2f:\n    case 0x30:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    case 0x31:\n    case 0x6f:\n    case 0xa9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      uVar36 = iVar35 + 0x1000;\nLAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;\njoined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;\n      break;\n    case 0x32:\n    case 0x70:\n    case 0xaa:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x3c:\n      local_b8 = 0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }\n      break;\n    case 0x3d:\n      local_b8 = 0;\nLAB_002c304d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }\n      break;\n    case 0x3e:\n      local_b8 = 0;\nLAB_002c3104:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - (param_11 & 0xfffffff8);\n      uVar36 = uVar20 >> 3;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar32 = uVar32 & 7;\njoined_r0x002c324e:\n      uVar17 = 3;\n      if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }\n      break;\n    case 0x3f:\n      local_b8 = 0;\nLAB_002c31c0:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - param_11;\n      uVar36 = uVar20 >> 2;\n      if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }\nLAB_002c1f30:\n      uVar17 = 0;\n      *(uint *)param_1 = uVar36;\n      break;\n    case 0x40:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case 0x41:\n      local_b8 = 0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }\n      if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      break;\n    case 0x8b:\n      local_b8 = 0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }\n      break;\n    case 0x8c:\n      local_b8 = 0;\nLAB_002c328d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;\n      uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);\n      break;\n    case 0x8d:\n      local_b8 = 0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);\n      break;\n    case 0xf8:\n      local_b8 = 0;\nLAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\njoined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;\nLAB_002c1fd0:\n      puVar34 = param_10;\nLAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;\nLAB_002c1fd6:\n      uVar17 = 0;\n    }" { (case_statement "default:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);\n      break;" default : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");" statement_identifier : (expression_statement "uVar22 = gettext("unsupported reloc %u");" (assignment_expression "uVar22 = gettext("unsupported reloc %u")" identifier = (call_expression "gettext("unsupported reloc %u")" identifier (argument_list "("unsupported reloc %u")" ( (string_literal ""unsupported reloc %u"" " string_content ") )))) ;)) (expression_statement "FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);" (call_expression "FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18)" identifier (argument_list "(param_2,param_6,iVar3,uVar22,uVar18)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n      local_b8 = 0;\n      local_b0 = local_cc;\nLAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar14 != 0) goto LAB_002c1f30;\n      *(ushort *)param_10 = (ushort)uVar36;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (labeled_statement "LAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);" statement_identifier : (expression_statement "uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;)) (if_statement "if (bVar14 != 0) goto LAB_002c1f30;" if (parenthesized_expression "(bVar14 != 0)" ( (binary_expression "bVar14 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (expression_statement "*(ushort *)param_10 = (ushort)uVar36;" (assignment_expression "*(ushort *)param_10 = (ushort)uVar36" (pointer_expression "*(ushort *)param_10" * (cast_expression "(ushort *)param_10" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(ushort)uVar36" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;) (expression_statement "uVar17 = (uint)(0xffff < uVar36 + 0x8000);" (assignment_expression "uVar17 = (uint)(0xffff < uVar36 + 0x8000)" identifier = (call_expression "(uint)(0xffff < uVar36 + 0x8000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffff < uVar36 + 0x8000)" ( (binary_expression "0xffff < uVar36 + 0x8000" number_literal < (binary_expression "uVar36 + 0x8000" identifier + number_literal)) )))) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);\n      if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }\n      if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);" statement_identifier : (expression_statement "cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);" (assignment_expression "cVar16 = FUN_0029fae0(param_8,2,param_5,param_4)" identifier = (call_expression "FUN_0029fae0(param_8,2,param_5,param_4)" identifier (argument_list "(param_8,2,param_5,param_4)" ( identifier , number_literal , identifier , identifier )))) ;)) (if_statement "if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }" if (parenthesized_expression "(cVar16 != '\0')" ( (binary_expression "cVar16 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }" { (expression_statement "cVar16 = *(char *)((long)param_1 + 4);" (assignment_expression "cVar16 = *(char *)((long)param_1 + 4)" identifier = (pointer_expression "*(char *)((long)param_1 + 4)" * (cast_expression "(char *)((long)param_1 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar18 = local_cc;" (assignment_expression "uVar18 = local_cc" identifier = identifier) ;) (if_statement "if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar18 = (uint)*param_10;\n        }" { (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) })) (expression_statement "uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);" (assignment_expression "uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,uVar18)" identifier (argument_list "(param_9,plVar6,uVar18)" ( identifier , identifier , identifier )))) ;) (if_statement "if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }" if (parenthesized_expression "(cVar16 == '\0')" ( (binary_expression "cVar16 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(uint *)param_10 = uVar18;" (assignment_expression "*(uint *)param_10 = uVar18" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (else_clause "else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }" else (compound_statement "{\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(uint *)param_1 = uVar18;" (assignment_expression "*(uint *)param_1 = uVar18" (pointer_expression "*(uint *)param_1" * (cast_expression "(uint *)param_1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }))) })) (if_statement "if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }" if (parenthesized_expression "(((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1))" ( (binary_expression "((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)" (parenthesized_expression "((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20))))" ( (binary_expression "(param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))" (parenthesized_expression "(param_8 != (undefined8 *)0x0)" ( (binary_expression "param_8 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))" ( (parenthesized_expression "(bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20))" ( (comma_expression "bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)" (assignment_expression "bVar42 = *(byte *)((long)param_8 + 0x39) >> 2" identifier = (binary_expression "*(byte *)((long)param_8 + 0x39) >> 2" (pointer_expression "*(byte *)((long)param_8 + 0x39)" * (cast_expression "(byte *)((long)param_8 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x39)" ( (binary_expression "(long)param_8 + 0x39" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) >> number_literal)) , (binary_expression "(bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)" (binary_expression "(bVar42 & 0x3c) == 0x3c" (parenthesized_expression "(bVar42 & 0x3c)" ( (binary_expression "bVar42 & 0x3c" identifier & number_literal) )) == number_literal) || (parenthesized_expression "((bVar42 & 0x30) == 0x20)" ( (binary_expression "(bVar42 & 0x30) == 0x20" (parenthesized_expression "(bVar42 & 0x30)" ( (binary_expression "bVar42 & 0x30" identifier & number_literal) )) == number_literal) )))) )) ))) )) && (parenthesized_expression "(*(int *)((long)param_8 + 0x5c) == 1)" ( (binary_expression "*(int *)((long)param_8 + 0x5c) == 1" (pointer_expression "*(int *)((long)param_8 + 0x5c)" * (cast_expression "(int *)((long)param_8 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x5c)" ( (binary_expression "(long)param_8 + 0x5c" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }" { (expression_statement "lVar31 = param_8[0xe];" (assignment_expression "lVar31 = param_8[0xe]" identifier = (subscript_expression "param_8[0xe]" identifier [ number_literal ])) ;) (if_statement "if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }" if (parenthesized_expression "(lVar31 != 0)" ( (binary_expression "lVar31 != 0" identifier != number_literal) )) (compound_statement "{\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }" { (if_statement "if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;" if (parenthesized_expression "(*(char *)(param_8 + 9) == '\0')" ( (binary_expression "*(char *)(param_8 + 9) == '\0'" (pointer_expression "*(char *)(param_8 + 9)" * (cast_expression "(char *)(param_8 + 9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 9)" ( (binary_expression "param_8 + 9" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002c473f;" goto statement_identifier ;)) (expression_statement "local_68 = FUN_00298370(lVar31,lVar31 + 8);" (assignment_expression "local_68 = FUN_00298370(lVar31,lVar31 + 8)" identifier = (call_expression "FUN_00298370(lVar31,lVar31 + 8)" identifier (argument_list "(lVar31,lVar31 + 8)" ( identifier , (binary_expression "lVar31 + 8" identifier + number_literal) )))) ;) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" identifier = identifier) ;) })) (expression_statement "local_e4 = *(uint *)(param_8 + 0xc);" (assignment_expression "local_e4 = *(uint *)(param_8 + 0xc)" identifier = (pointer_expression "*(uint *)(param_8 + 0xc)" * (cast_expression "(uint *)(param_8 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 0xc)" ( (binary_expression "param_8 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "puVar34 = *(ulong **)(param_4 + 0x20);" (assignment_expression "puVar34 = *(ulong **)(param_4 + 0x20)" identifier = (pointer_expression "*(ulong **)(param_4 + 0x20)" * (cast_expression "(ulong **)(param_4 + 0x20)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }" if (parenthesized_expression "(puVar34 == (ulong *)0x0)" ( (binary_expression "puVar34 == (ulong *)0x0" identifier == (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }" { (do_statement "do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);" do (compound_statement "{\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          }" { (expression_statement "uVar18 = FUN_00290940();" (assignment_expression "uVar18 = FUN_00290940()" identifier = (call_expression "FUN_00290940()" identifier (argument_list "()" ( )))) ;) (labeled_statement "LAB_002c2940:\n            *(uint *)puVar34 = uVar18;" statement_identifier : (expression_statement "*(uint *)puVar34 = uVar18;" (assignment_expression "*(uint *)puVar34 = uVar18" (pointer_expression "*(uint *)puVar34" * (cast_expression "(uint *)puVar34" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;)) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;" statement_identifier : (if_statement "if (local_cd == false) goto LAB_002c1e60;" if (parenthesized_expression "(local_cd == false)" ( (binary_expression "local_cd == false" identifier == false) )) (goto_statement "goto LAB_002c1e60;" goto statement_identifier ;))) (expression_statement "puVar34 = *(ulong **)(param_4 + 0x20);" (assignment_expression "puVar34 = *(ulong **)(param_4 + 0x20)" identifier = (pointer_expression "*(ulong **)(param_4 + 0x20)" * (cast_expression "(ulong **)(param_4 + 0x20)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(puVar34 == (ulong *)0x0)" ( (binary_expression "puVar34 == (ulong *)0x0" identifier == (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;" if (parenthesized_expression "(param_8 != (undefined8 *)0x0)" ( (binary_expression "param_8 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002c2967;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }" else (compound_statement "{\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }" { (labeled_statement "LAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }" statement_identifier : (if_statement "if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }" if (parenthesized_expression "(*(char *)(param_8 + 0x11) != '\0')" ( (binary_expression "*(char *)(param_8 + 0x11) != '\0'" (pointer_expression "*(char *)(param_8 + 0x11)" * (cast_expression "(char *)(param_8 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 0x11)" ( (binary_expression "param_8 + 0x11" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }" { (expression_statement "uVar19 = FUN_001a5ac0(param_9,plVar6,0);" (assignment_expression "uVar19 = FUN_001a5ac0(param_9,plVar6,0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,0)" identifier (argument_list "(param_9,plVar6,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }" if (parenthesized_expression "(*(int *)((long)param_8 + 0x5c) == 2)" ( (binary_expression "*(int *)((long)param_8 + 0x5c) == 2" (pointer_expression "*(int *)((long)param_8 + 0x5c)" * (cast_expression "(int *)((long)param_8 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x5c)" ( (binary_expression "(long)param_8 + 0x5c" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }" { (labeled_statement "LAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");" statement_identifier : comment (expression_statement "FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset")" identifier (argument_list "("../../gold/mips.cc",0x895,"get_primary_got_offset")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""get_primary_got_offset"" " string_content ") ))) ;)) })) (expression_statement "piVar7 = (int *)puVar34[0x1a];" (assignment_expression "piVar7 = (int *)puVar34[0x1a]" identifier = (cast_expression "(int *)puVar34[0x1a]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar34[0x1a]" identifier [ number_literal ]))) ;) (if_statement "if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }" if (parenthesized_expression "(piVar7 == (int *)0x0)" ( (binary_expression "piVar7 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }" { (expression_statement "iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];" (assignment_expression "iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19]" identifier = (binary_expression "((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19]" (subscript_expression "((int *)puVar34[0x19])[1]" (parenthesized_expression "((int *)puVar34[0x19])" ( (cast_expression "(int *)puVar34[0x19]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar34[0x19]" identifier [ number_literal ])) )) [ number_literal ]) + (pointer_expression "*(int *)puVar34[0x19]" * (cast_expression "(int *)puVar34[0x19]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar34[0x19]" identifier [ number_literal ]))))) ;) }) (else_clause "else {\n              iVar35 = piVar7[1] + *piVar7;\n            }" else (compound_statement "{\n              iVar35 = piVar7[1] + *piVar7;\n            }" { (expression_statement "iVar35 = piVar7[1] + *piVar7;" (assignment_expression "iVar35 = piVar7[1] + *piVar7" identifier = (binary_expression "piVar7[1] + *piVar7" (subscript_expression "piVar7[1]" identifier [ number_literal ]) + (pointer_expression "*piVar7" * identifier))) ;) }))) (if_statement "if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }" if (parenthesized_expression "(*(int *)(param_8 + 4) == 0)" ( (binary_expression "*(int *)(param_8 + 4) == 0" (pointer_expression "*(int *)(param_8 + 4)" * (cast_expression "(int *)(param_8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 4)" ( (binary_expression "param_8 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }" { (expression_statement "FUN_00290e30();" (call_expression "FUN_00290e30()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002c461d;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;" (assignment_expression "*(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19" (pointer_expression "*(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3))" * (cast_expression "(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3))" ( (binary_expression "puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)" (subscript_expression "puVar34[0x17]" identifier [ number_literal ]) + (call_expression "(ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)" ( (binary_expression "((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3" (binary_expression "((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20" (parenthesized_expression "((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2)" ( (binary_expression "(*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2" (binary_expression "(*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35" (parenthesized_expression "(*(int *)(param_8 + 4) - (uint)puVar34[0x18])" ( (binary_expression "*(int *)(param_8 + 4) - (uint)puVar34[0x18]" (pointer_expression "*(int *)(param_8 + 4)" * (cast_expression "(int *)(param_8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 4)" ( (binary_expression "param_8 + 4" identifier + number_literal) )))) - (cast_expression "(uint)puVar34[0x18]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar34[0x18]" identifier [ number_literal ]))) )) + identifier) + number_literal) )) * number_literal) >> number_literal) )))) )))) = identifier) ;) (break_statement "break;" break ;) }))) }))) (expression_statement "uVar19 = FUN_001a5ac0(param_9,plVar6,0);" (assignment_expression "uVar19 = FUN_001a5ac0(param_9,plVar6,0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,0)" identifier (argument_list "(param_9,plVar6,0)" ( identifier , identifier , number_literal )))) ;) (expression_statement "*(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;" (assignment_expression "*(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19" (pointer_expression "*(undefined4 *)(puVar34[0x17] + (ulong)local_e4)" * (cast_expression "(undefined4 *)(puVar34[0x17] + (ulong)local_e4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34[0x17] + (ulong)local_e4)" ( (binary_expression "puVar34[0x17] + (ulong)local_e4" (subscript_expression "puVar34[0x17]" identifier [ number_literal ]) + (cast_expression "(ulong)local_e4" ( (type_descriptor "ulong" type_identifier) ) identifier)) )))) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 3:\nswitchD_002c14fa_caseD_3:\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");" case number_literal : (labeled_statement "switchD_002c14fa_caseD_3:\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");" statement_identifier : comment (expression_statement "FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate")" identifier (argument_list "("../../gold/mips.cc",0x2e62,"relocate")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""relocate"" " string_content ") ))) ;))) (case_statement "case 4:" case number_literal :) (case_statement "case 100:" case number_literal :) (case_statement "case 0x85:\n      local_b8 = 0;\n      bVar42 = (!bVar45 || !bVar48) & local_cf;\n      uVar17 = (uint)*param_10;\n      goto LAB_002c38d3;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (expression_statement "bVar42 = (!bVar45 || !bVar48) & local_cf;" (assignment_expression "bVar42 = (!bVar45 || !bVar48) & local_cf" identifier = (binary_expression "(!bVar45 || !bVar48) & local_cf" (parenthesized_expression "(!bVar45 || !bVar48)" ( (binary_expression "!bVar45 || !bVar48" (unary_expression "!bVar45" ! identifier) || (unary_expression "!bVar48" ! identifier)) )) & identifier)) ;) (expression_statement "uVar17 = (uint)*param_10;" (assignment_expression "uVar17 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (goto_statement "goto LAB_002c38d3;" goto statement_identifier ;)) (case_statement "case 5:" case number_literal :) (case_statement "case 0x68:" case number_literal :) (case_statement "case 0x86:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }" statement_identifier : (if_statement "if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }" if (parenthesized_expression "(param_3 == 4)" ( (binary_expression "param_3 == 4" identifier == number_literal) )) (compound_statement "{\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }" { (expression_statement "uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);" (assignment_expression "uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1)" identifier = (call_expression "FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1)" identifier (argument_list "(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , (binary_expression "local_b8 & 0xff" identifier & number_literal) , number_literal , identifier , identifier , identifier )))) ;) }) (else_clause "else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }" else (compound_statement "{\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }" { (if_statement "if (param_3 != 9) goto LAB_002c46ec;" if (parenthesized_expression "(param_3 != 9)" ( (binary_expression "param_3 != 9" identifier != number_literal) )) (goto_statement "goto LAB_002c46ec;" goto statement_identifier ;)) (expression_statement "lVar31 = FUN_0049cb70(0x40);" (assignment_expression "lVar31 = FUN_0049cb70(0x40)" identifier = (call_expression "FUN_0049cb70(0x40)" identifier (argument_list "(0x40)" ( number_literal )))) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(ulong **)(lVar31 + 0x10) = param_10;" (assignment_expression "*(ulong **)(lVar31 + 0x10) = param_10" (pointer_expression "*(ulong **)(lVar31 + 0x10)" * (cast_expression "(ulong **)(lVar31 + 0x10)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar31 + 0x10)" ( (binary_expression "lVar31 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(long **)(lVar31 + 0x18) = plVar6;" (assignment_expression "*(long **)(lVar31 + 0x18) = plVar6" (pointer_expression "*(long **)(lVar31 + 0x18)" * (cast_expression "(long **)(lVar31 + 0x18)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar31 + 0x18)" ( (binary_expression "lVar31 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 **)(lVar31 + 0x20) = param_9;" (assignment_expression "*(undefined8 **)(lVar31 + 0x20) = param_9" (pointer_expression "*(undefined8 **)(lVar31 + 0x20)" * (cast_expression "(undefined8 **)(lVar31 + 0x20)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar31 + 0x20)" ( (binary_expression "lVar31 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(lVar31 + 0x28) = local_cc;" (assignment_expression "*(uint *)(lVar31 + 0x28) = local_cc" (pointer_expression "*(uint *)(lVar31 + 0x28)" * (cast_expression "(uint *)(lVar31 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x28)" ( (binary_expression "lVar31 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(lVar31 + 0x2c) = uVar18;" (assignment_expression "*(uint *)(lVar31 + 0x2c) = uVar18" (pointer_expression "*(uint *)(lVar31 + 0x2c)" * (cast_expression "(uint *)(lVar31 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x2c)" ( (binary_expression "lVar31 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(lVar31 + 0x30) = uVar33;" (assignment_expression "*(uint *)(lVar31 + 0x30) = uVar33" (pointer_expression "*(uint *)(lVar31 + 0x30)" * (cast_expression "(uint *)(lVar31 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x30)" ( (binary_expression "lVar31 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char *)(lVar31 + 0x34) = (char)local_b8;" (assignment_expression "*(char *)(lVar31 + 0x34) = (char)local_b8" (pointer_expression "*(char *)(lVar31 + 0x34)" * (cast_expression "(char *)(lVar31 + 0x34)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x34)" ( (binary_expression "lVar31 + 0x34" identifier + number_literal) )))) = (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "*(uint *)(lVar31 + 0x38) = param_11;" (assignment_expression "*(uint *)(lVar31 + 0x38) = param_11" (pointer_expression "*(uint *)(lVar31 + 0x38)" * (cast_expression "(uint *)(lVar31 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x38)" ( (binary_expression "lVar31 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char *)(lVar31 + 0x3c) = cVar15;" (assignment_expression "*(char *)(lVar31 + 0x3c) = cVar15" (pointer_expression "*(char *)(lVar31 + 0x3c)" * (cast_expression "(char *)(lVar31 + 0x3c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x3c)" ( (binary_expression "lVar31 + 0x3c" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_004a11e0(lVar31,&DAT_0067dae0);" (call_expression "FUN_004a11e0(lVar31,&DAT_0067dae0)" identifier (argument_list "(lVar31,&DAT_0067dae0)" ( identifier , (pointer_expression "&DAT_0067dae0" & identifier) ))) ;) (expression_statement "_DAT_0067daf0 = _DAT_0067daf0 + 1;" (assignment_expression "_DAT_0067daf0 = _DAT_0067daf0 + 1" identifier = (binary_expression "_DAT_0067daf0 + 1" identifier + number_literal)) ;) })))) (break_statement "break;" break ;)) (case_statement "case 6:" case number_literal :) (case_statement "case 0x69:" case number_literal :) (case_statement "case 0x87:" case number_literal :) (case_statement "case 0x9d:\n      local_b8 = 0;\n      local_108 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }\n      if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\nLAB_002c1ebf:\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (expression_statement "local_108 = (uint)*param_10;" (assignment_expression "local_108 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (labeled_statement "LAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }" statement_identifier : (if_statement "if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }" if (parenthesized_expression "(param_3 == 9)" ( (binary_expression "param_3 == 9" identifier == number_literal) )) (compound_statement "{\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }" { (expression_statement "local_100 = DAT_0067dae0;" (assignment_expression "local_100 = DAT_0067dae0" identifier = identifier) ;) (if_statement "if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }" if (parenthesized_expression "((undefined8 **)DAT_0067dae0 != &DAT_0067dae0)" ( (binary_expression "(undefined8 **)DAT_0067dae0 != &DAT_0067dae0" (cast_expression "(undefined8 **)DAT_0067dae0" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != (pointer_expression "&DAT_0067dae0" & identifier)) )) (compound_statement "{\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }" { (do_statement "do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);" do (compound_statement "{\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          }" { (if_statement "if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }" if (parenthesized_expression "(uVar33 == *(uint *)(local_100 + 6))" ( (binary_expression "uVar33 == *(uint *)(local_100 + 6)" identifier == (pointer_expression "*(uint *)(local_100 + 6)" * (cast_expression "(uint *)(local_100 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + 6)" ( (binary_expression "local_100 + 6" identifier + number_literal) ))))) )) (compound_statement "{\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }" { (expression_statement "uVar19 = *(undefined4 *)((long)local_100 + 0x2c);" (assignment_expression "uVar19 = *(undefined4 *)((long)local_100 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)((long)local_100 + 0x2c)" * (cast_expression "(undefined4 *)((long)local_100 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_100 + 0x2c)" ( (binary_expression "(long)local_100 + 0x2c" (cast_expression "(long)local_100" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "cVar16 = FUN_0028cc00(uVar19,uVar18);" (assignment_expression "cVar16 = FUN_0028cc00(uVar19,uVar18)" identifier = (call_expression "FUN_0028cc00(uVar19,uVar18)" identifier (argument_list "(uVar19,uVar18)" ( identifier , identifier )))) ;) (if_statement "if (cVar16 == '\0') goto LAB_002c3ec8;" if (parenthesized_expression "(cVar16 == '\0')" ( (binary_expression "cVar16 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002c3ec8;" goto statement_identifier ;)) (expression_statement "uVar22 = local_100[2];" (assignment_expression "uVar22 = local_100[2]" identifier = (subscript_expression "local_100[2]" identifier [ number_literal ])) ;) (expression_statement "uVar23 = local_100[4];" (assignment_expression "uVar23 = local_100[4]" identifier = (subscript_expression "local_100[4]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = *(undefined4 *)(local_100 + 5);" (assignment_expression "uVar5 = *(undefined4 *)(local_100 + 5)" identifier = (pointer_expression "*(undefined4 *)(local_100 + 5)" * (cast_expression "(undefined4 *)(local_100 + 5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + 5)" ( (binary_expression "local_100 + 5" identifier + number_literal) ))))) ;) (expression_statement "uVar41 = local_100[3];" (assignment_expression "uVar41 = local_100[3]" identifier = (subscript_expression "local_100[3]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = *(undefined4 *)(local_100 + 7);" (assignment_expression "uVar4 = *(undefined4 *)(local_100 + 7)" identifier = (pointer_expression "*(undefined4 *)(local_100 + 7)" * (cast_expression "(undefined4 *)(local_100 + 7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + 7)" ( (binary_expression "local_100 + 7" identifier + number_literal) ))))) ;) (expression_statement "FUN_00293aa0(uVar22,uVar19);" (call_expression "FUN_00293aa0(uVar22,uVar19)" identifier (argument_list "(uVar22,uVar19)" ( identifier , identifier ))) ;) (expression_statement "uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);" (assignment_expression "uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4)" identifier = (call_expression "FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4)" identifier (argument_list "(uVar22,uVar41,uVar23,uVar5,uVar4)" ( identifier , identifier , identifier , identifier , identifier )))) ;) (expression_statement "FUN_00293140(uVar22,uVar19,0);" (call_expression "FUN_00293140(uVar22,uVar19,0)" identifier (argument_list "(uVar22,uVar19,0)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (uVar17 == 1) goto LAB_002c1e60;" if (parenthesized_expression "(uVar17 == 1)" ( (binary_expression "uVar17 == 1" identifier == number_literal) )) (goto_statement "goto LAB_002c1e60;" goto statement_identifier ;)) (expression_statement "puVar10 = (undefined8 *)*local_100;" (assignment_expression "puVar10 = (undefined8 *)*local_100" identifier = (cast_expression "(undefined8 *)*local_100" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_100" * identifier))) ;) (expression_statement "_DAT_0067daf0 = _DAT_0067daf0 + -1;" (assignment_expression "_DAT_0067daf0 = _DAT_0067daf0 + -1" identifier = (binary_expression "_DAT_0067daf0 + -1" identifier + number_literal)) ;) (expression_statement "FUN_004a1200(local_100);" (call_expression "FUN_004a1200(local_100)" identifier (argument_list "(local_100)" ( identifier ))) ;) (expression_statement "FUN_0049e340(local_100);" (call_expression "FUN_0049e340(local_100)" identifier (argument_list "(local_100)" ( identifier ))) ;) (expression_statement "local_100 = puVar10;" (assignment_expression "local_100 = puVar10" identifier = identifier) ;) }) (else_clause "else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }" else (compound_statement "{\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }" { (labeled_statement "LAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;" statement_identifier : (expression_statement "local_100 = (undefined8 *)*local_100;" (assignment_expression "local_100 = (undefined8 *)*local_100" identifier = (cast_expression "(undefined8 *)*local_100" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_100" * identifier))) ;)) }))) }) while (parenthesized_expression "((undefined8 **)local_100 != &DAT_0067dae0)" ( (binary_expression "(undefined8 **)local_100 != &DAT_0067dae0" (cast_expression "(undefined8 **)local_100" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != (pointer_expression "&DAT_0067dae0" & identifier)) )) ;) })) (expression_statement "local_100 = DAT_0067dac0;" (assignment_expression "local_100 = DAT_0067dac0" identifier = identifier) ;) (if_statement "if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }" if (parenthesized_expression "((undefined8 **)DAT_0067dac0 != &DAT_0067dac0)" ( (binary_expression "(undefined8 **)DAT_0067dac0 != &DAT_0067dac0" (cast_expression "(undefined8 **)DAT_0067dac0" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != (pointer_expression "&DAT_0067dac0" & identifier)) )) (compound_statement "{\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }" { (do_statement "do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);" do (compound_statement "{\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          }" { (if_statement "if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }" if (parenthesized_expression "(uVar33 == *(uint *)(local_100 + 6))" ( (binary_expression "uVar33 == *(uint *)(local_100 + 6)" identifier == (pointer_expression "*(uint *)(local_100 + 6)" * (cast_expression "(uint *)(local_100 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + 6)" ( (binary_expression "local_100 + 6" identifier + number_literal) ))))) )) (compound_statement "{\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }" { (expression_statement "uVar19 = *(undefined4 *)((long)local_100 + 0x2c);" (assignment_expression "uVar19 = *(undefined4 *)((long)local_100 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)((long)local_100 + 0x2c)" * (cast_expression "(undefined4 *)((long)local_100 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_100 + 0x2c)" ( (binary_expression "(long)local_100 + 0x2c" (cast_expression "(long)local_100" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "cVar16 = FUN_0028cc00(uVar19,uVar18);" (assignment_expression "cVar16 = FUN_0028cc00(uVar19,uVar18)" identifier = (call_expression "FUN_0028cc00(uVar19,uVar18)" identifier (argument_list "(uVar19,uVar18)" ( identifier , identifier )))) ;) (if_statement "if (cVar16 == '\0') goto LAB_002c41a8;" if (parenthesized_expression "(cVar16 == '\0')" ( (binary_expression "cVar16 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002c41a8;" goto statement_identifier ;)) (expression_statement "uVar22 = local_100[2];" (assignment_expression "uVar22 = local_100[2]" identifier = (subscript_expression "local_100[2]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = *(undefined4 *)(local_100 + 5);" (assignment_expression "uVar5 = *(undefined4 *)(local_100 + 5)" identifier = (pointer_expression "*(undefined4 *)(local_100 + 5)" * (cast_expression "(undefined4 *)(local_100 + 5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + 5)" ( (binary_expression "local_100 + 5" identifier + number_literal) ))))) ;) (expression_statement "uVar23 = local_100[3];" (assignment_expression "uVar23 = local_100[3]" identifier = (subscript_expression "local_100[3]" identifier [ number_literal ])) ;) (expression_statement "uVar41 = local_100[4];" (assignment_expression "uVar41 = local_100[4]" identifier = (subscript_expression "local_100[4]" identifier [ number_literal ])) ;) (expression_statement "uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);" (assignment_expression "uVar32 = (ulong)*(byte *)((long)local_100 + 0x34)" identifier = (binary_expression "(ulong)*(byte *)((long)local_100 + 0x34)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(byte *)((long)local_100 + 0x34)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_100 + 0x34)" ( (binary_expression "(long)local_100 + 0x34" (cast_expression "(long)local_100" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "FUN_00293aa0(uVar22,uVar19);" (call_expression "FUN_00293aa0(uVar22,uVar19)" identifier (argument_list "(uVar22,uVar19)" ( identifier , identifier ))) ;) (expression_statement "uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);" (assignment_expression "uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1)" identifier = (call_expression "FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1)" identifier (argument_list "(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1)" ( identifier , identifier , identifier , identifier , (binary_expression "uVar32 & 0xff" identifier & number_literal) , identifier , identifier , identifier , identifier )))) ;) (expression_statement "FUN_00293140(uVar22,uVar19,0);" (call_expression "FUN_00293140(uVar22,uVar19,0)" identifier (argument_list "(uVar22,uVar19,0)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (uVar17 == 1) goto LAB_002c1e60;" if (parenthesized_expression "(uVar17 == 1)" ( (binary_expression "uVar17 == 1" identifier == number_literal) )) (goto_statement "goto LAB_002c1e60;" goto statement_identifier ;)) (expression_statement "puVar10 = (undefined8 *)*local_100;" (assignment_expression "puVar10 = (undefined8 *)*local_100" identifier = (cast_expression "(undefined8 *)*local_100" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_100" * identifier))) ;) (expression_statement "_DAT_0067dad0 = _DAT_0067dad0 + -1;" (assignment_expression "_DAT_0067dad0 = _DAT_0067dad0 + -1" identifier = (binary_expression "_DAT_0067dad0 + -1" identifier + number_literal)) ;) (expression_statement "FUN_004a1200(local_100);" (call_expression "FUN_004a1200(local_100)" identifier (argument_list "(local_100)" ( identifier ))) ;) (expression_statement "FUN_0049e340(local_100);" (call_expression "FUN_0049e340(local_100)" identifier (argument_list "(local_100)" ( identifier ))) ;) (expression_statement "local_100 = puVar10;" (assignment_expression "local_100 = puVar10" identifier = identifier) ;) }) (else_clause "else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }" else (compound_statement "{\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }" { (labeled_statement "LAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;" statement_identifier : (expression_statement "local_100 = (undefined8 *)*local_100;" (assignment_expression "local_100 = (undefined8 *)*local_100" identifier = (cast_expression "(undefined8 *)*local_100" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_100" * identifier))) ;)) }))) }) while (parenthesized_expression "((undefined8 **)local_100 != &DAT_0067dac0)" ( (binary_expression "(undefined8 **)local_100 != &DAT_0067dac0" (cast_expression "(undefined8 **)local_100" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != (pointer_expression "&DAT_0067dac0" & identifier)) )) ;) })) }))) (if_statement "if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }" if (parenthesized_expression "(cVar15 == '\0')" ( (binary_expression "cVar15 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }" { (expression_statement "uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) }) (else_clause "else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }" else (compound_statement "{\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }" { (expression_statement "lVar31 = *(long *)(param_4 + 0x28);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x28)" identifier = (pointer_expression "*(long *)(param_4 + 0x28)" * (cast_expression "(long *)(param_4 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x28)" ( (binary_expression "param_4 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }" if (parenthesized_expression "(uVar18 == 0x69)" ( (binary_expression "uVar18 == 0x69" identifier == number_literal) )) (compound_statement "{\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }" { (if_statement "if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar35 = 0;\n          }" { (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" else (compound_statement "{\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" { (expression_statement "iVar35 = *(int *)(lVar31 + 0x40);" (assignment_expression "iVar35 = *(int *)(lVar31 + 0x40)" identifier = (pointer_expression "*(int *)(lVar31 + 0x40)" * (cast_expression "(int *)(lVar31 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x40)" ( (binary_expression "lVar31 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }" if (parenthesized_expression "(((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0))" ( (binary_expression "((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)" (parenthesized_expression "((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))" ( (binary_expression "(*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" ( (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" ( (binary_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0" (pointer_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0)" * (cast_expression "(long *)(*(long *)(param_4 + 0x20) + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_4 + 0x20) + 0xd0)" ( (binary_expression "*(long *)(param_4 + 0x20) + 0xd0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "(plVar6[0x6e] != 0)" ( (binary_expression "plVar6[0x6e] != 0" (subscript_expression "plVar6[0x6e]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }" { (expression_statement "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);" (assignment_expression "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" identifier = (binary_expression "iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" identifier + (pointer_expression "*(int *)(plVar6[0x6e] + 0x10c)" * (cast_expression "(int *)(plVar6[0x6e] + 0x10c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6[0x6e] + 0x10c)" ( (binary_expression "plVar6[0x6e] + 0x10c" (subscript_expression "plVar6[0x6e]" identifier [ number_literal ]) + number_literal) )))))) ;) })) }))) (expression_statement "iVar35 = iVar35 - (param_11 & 0xfffffffc);" (assignment_expression "iVar35 = iVar35 - (param_11 & 0xfffffffc)" identifier = (binary_expression "iVar35 - (param_11 & 0xfffffffc)" identifier - (parenthesized_expression "(param_11 & 0xfffffffc)" ( (binary_expression "param_11 & 0xfffffffc" identifier & number_literal) )))) ;) }) (else_clause "else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }" else (if_statement "if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }" if (parenthesized_expression "((uVar18 == 0x87) || (uVar18 == 0x9d))" ( (binary_expression "(uVar18 == 0x87) || (uVar18 == 0x9d)" (parenthesized_expression "(uVar18 == 0x87)" ( (binary_expression "uVar18 == 0x87" identifier == number_literal) )) || (parenthesized_expression "(uVar18 == 0x9d)" ( (binary_expression "uVar18 == 0x9d" identifier == number_literal) ))) )) (compound_statement "{\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }" { (if_statement "if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar35 = 0;\n          }" { (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" else (compound_statement "{\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" { (expression_statement "iVar35 = *(int *)(lVar31 + 0x40);" (assignment_expression "iVar35 = *(int *)(lVar31 + 0x40)" identifier = (pointer_expression "*(int *)(lVar31 + 0x40)" * (cast_expression "(int *)(lVar31 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x40)" ( (binary_expression "lVar31 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }" if (parenthesized_expression "(((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0))" ( (binary_expression "((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)" (parenthesized_expression "((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))" ( (binary_expression "(*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" ( (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" ( (binary_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0" (pointer_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0)" * (cast_expression "(long *)(*(long *)(param_4 + 0x20) + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_4 + 0x20) + 0xd0)" ( (binary_expression "*(long *)(param_4 + 0x20) + 0xd0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "(plVar6[0x6e] != 0)" ( (binary_expression "plVar6[0x6e] != 0" (subscript_expression "plVar6[0x6e]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }" { (expression_statement "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);" (assignment_expression "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" identifier = (binary_expression "iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" identifier + (pointer_expression "*(int *)(plVar6[0x6e] + 0x10c)" * (cast_expression "(int *)(plVar6[0x6e] + 0x10c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6[0x6e] + 0x10c)" ( (binary_expression "plVar6[0x6e] + 0x10c" (subscript_expression "plVar6[0x6e]" identifier [ number_literal ]) + number_literal) )))))) ;) })) }))) (expression_statement "iVar35 = (iVar35 - param_11) + 3;" (assignment_expression "iVar35 = (iVar35 - param_11) + 3" identifier = (binary_expression "(iVar35 - param_11) + 3" (parenthesized_expression "(iVar35 - param_11)" ( (binary_expression "iVar35 - param_11" identifier - identifier) )) + number_literal)) ;) }) (else_clause "else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }" else (compound_statement "{\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }" { (if_statement "if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar35 = 0;\n          }" { (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" else (compound_statement "{\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" { (expression_statement "iVar35 = *(int *)(lVar31 + 0x40);" (assignment_expression "iVar35 = *(int *)(lVar31 + 0x40)" identifier = (pointer_expression "*(int *)(lVar31 + 0x40)" * (cast_expression "(int *)(lVar31 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x40)" ( (binary_expression "lVar31 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }" if (parenthesized_expression "(((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0))" ( (binary_expression "((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)" (parenthesized_expression "((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))" ( (binary_expression "(*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" ( (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" ( (binary_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0" (pointer_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0)" * (cast_expression "(long *)(*(long *)(param_4 + 0x20) + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_4 + 0x20) + 0xd0)" ( (binary_expression "*(long *)(param_4 + 0x20) + 0xd0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "(plVar6[0x6e] != 0)" ( (binary_expression "plVar6[0x6e] != 0" (subscript_expression "plVar6[0x6e]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }" { (expression_statement "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);" (assignment_expression "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" identifier = (binary_expression "iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" identifier + (pointer_expression "*(int *)(plVar6[0x6e] + 0x10c)" * (cast_expression "(int *)(plVar6[0x6e] + 0x10c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6[0x6e] + 0x10c)" ( (binary_expression "plVar6[0x6e] + 0x10c" (subscript_expression "plVar6[0x6e]" identifier [ number_literal ]) + number_literal) )))))) ;) })) }))) (expression_statement "iVar35 = (iVar35 - param_11) + 4;" (assignment_expression "iVar35 = (iVar35 - param_11) + 4" identifier = (binary_expression "(iVar35 - param_11) + 4" (parenthesized_expression "(iVar35 - param_11)" ( (binary_expression "iVar35 - param_11" identifier - identifier) )) + number_literal)) ;) }))))) (expression_statement "uVar36 = iVar35 + local_b0;" (assignment_expression "uVar36 = iVar35 + local_b0" identifier = (binary_expression "iVar35 + local_b0" identifier + identifier)) ;) }))) (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (labeled_statement "LAB_002c1ebf:\n      uVar17 = 0;" statement_identifier : (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;)) (expression_statement "*(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;" (assignment_expression "*(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(uVar36 ^ local_108) & 0xffff ^ local_108" (binary_expression "(uVar36 ^ local_108) & 0xffff" (parenthesized_expression "(uVar36 ^ local_108)" ( (binary_expression "uVar36 ^ local_108" identifier ^ identifier) )) & number_literal) ^ identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 7:" case number_literal :) (case_statement "case 8:" case number_literal :) (case_statement "case 0x65:" case number_literal :) (case_statement "case 0x88:" case number_literal :) (case_statement "case 0x89:" case number_literal :) (case_statement "case 0xac:\n      lVar31 = *(long *)(param_4 + 0x28);\n      if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }\n      local_b8 = 0;\n      iVar35 = 0;\n      uVar17 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar21 - iVar35;\n      if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }\n      uVar20 = (uVar36 ^ uVar17) & 0xffff;\n      if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar17 ^ uVar20;\n      if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }\n      goto LAB_002c1fd6;" case number_literal : (expression_statement "lVar31 = *(long *)(param_4 + 0x28);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x28)" identifier = (pointer_expression "*(long *)(param_4 + 0x28)" * (cast_expression "(long *)(param_4 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x28)" ( (binary_expression "param_4 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }" if (parenthesized_expression "(lVar31 != 0)" ( (binary_expression "lVar31 != 0" identifier != number_literal) )) (compound_statement "{\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }" { (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);" statement_identifier : (expression_statement "iVar35 = *(int *)(lVar31 + 0x40);" (assignment_expression "iVar35 = *(int *)(lVar31 + 0x40)" identifier = (pointer_expression "*(int *)(lVar31 + 0x40)" * (cast_expression "(int *)(lVar31 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x40)" ( (binary_expression "lVar31 + 0x40" identifier + number_literal) ))))) ;)) (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (if_statement "if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }" if (parenthesized_expression "(((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0))" ( (binary_expression "((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)" (parenthesized_expression "((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))" ( (binary_expression "(*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" ( (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" ( (binary_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0" (pointer_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0)" * (cast_expression "(long *)(*(long *)(param_4 + 0x20) + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_4 + 0x20) + 0xd0)" ( (binary_expression "*(long *)(param_4 + 0x20) + 0xd0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "(plVar6[0x6e] != 0)" ( (binary_expression "plVar6[0x6e] != 0" (subscript_expression "plVar6[0x6e]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }" { (expression_statement "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);" (assignment_expression "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" identifier = (binary_expression "iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" identifier + (pointer_expression "*(int *)(plVar6[0x6e] + 0x10c)" * (cast_expression "(int *)(plVar6[0x6e] + 0x10c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6[0x6e] + 0x10c)" ( (binary_expression "plVar6[0x6e] + 0x10c" (subscript_expression "plVar6[0x6e]" identifier [ number_literal ]) + number_literal) )))))) ;) })) (goto_statement "goto LAB_002c3751;" goto statement_identifier ;) })) (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" identifier = number_literal) ;) (expression_statement "uVar17 = (uint)*param_10;" (assignment_expression "uVar17 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (labeled_statement "LAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);" statement_identifier : (expression_statement "iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;)) (expression_statement "uVar36 = iVar21 - iVar35;" (assignment_expression "uVar36 = iVar21 - iVar35" identifier = (binary_expression "iVar21 - iVar35" identifier - identifier)) ;) (if_statement "if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }" if (parenthesized_expression "(param_8 == (undefined8 *)0x0)" ( (binary_expression "param_8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }" { (expression_statement "uVar36 = uVar36 + (int)plVar6[0x6d];" (assignment_expression "uVar36 = uVar36 + (int)plVar6[0x6d]" identifier = (binary_expression "uVar36 + (int)plVar6[0x6d]" identifier + (cast_expression "(int)plVar6[0x6d]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "plVar6[0x6d]" identifier [ number_literal ])))) ;) })) (expression_statement "uVar20 = (uVar36 ^ uVar17) & 0xffff;" (assignment_expression "uVar20 = (uVar36 ^ uVar17) & 0xffff" identifier = (binary_expression "(uVar36 ^ uVar17) & 0xffff" (parenthesized_expression "(uVar36 ^ uVar17)" ( (binary_expression "uVar36 ^ uVar17" identifier ^ identifier) )) & number_literal)) ;) (if_statement "if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }" if (parenthesized_expression "(uVar18 == 0xac)" ( (binary_expression "uVar18 == 0xac" identifier == number_literal) )) (compound_statement "{\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }" { (expression_statement "uVar20 = (uVar36 ^ uVar17) & 0x7f;" (assignment_expression "uVar20 = (uVar36 ^ uVar17) & 0x7f" identifier = (binary_expression "(uVar36 ^ uVar17) & 0x7f" (parenthesized_expression "(uVar36 ^ uVar17)" ( (binary_expression "uVar36 ^ uVar17" identifier ^ identifier) )) & number_literal)) ;) })) (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (expression_statement "*(uint *)param_10 = uVar17 ^ uVar20;" (assignment_expression "*(uint *)param_10 = uVar17 ^ uVar20" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar17 ^ uVar20" identifier ^ identifier)) ;) (if_statement "if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }" if (parenthesized_expression "(0xffff < uVar36 + 0x8000)" ( (binary_expression "0xffff < uVar36 + 0x8000" number_literal < (binary_expression "uVar36 + 0x8000" identifier + number_literal)) )) (compound_statement "{\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }" { (expression_statement "uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );" (assignment_expression "uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        )" identifier = (call_expression "gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        )" identifier (argument_list "(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        )" ( (string_literal ""small-data section exceeds 64KB; lower small-data size limit (see option -G)"" " string_content ") )))) ;) (expression_statement "FUN_0034a750(uVar22);" (call_expression "FUN_0034a750(uVar22)" identifier (argument_list "(uVar22)" ( identifier ))) ;) (goto_statement "goto LAB_002c3567;" goto statement_identifier ;) })) (goto_statement "goto LAB_002c1fd6;" goto statement_identifier ;)) (case_statement "case 9:" case number_literal :) (case_statement "case 0x66:" case number_literal :) (case_statement "case 0x8a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }" statement_identifier : (if_statement "if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }" if (parenthesized_expression "(param_8 == (undefined8 *)0x0)" ( (binary_expression "param_8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }" { (if_statement "if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }" if (parenthesized_expression "(param_3 == 4)" ( (binary_expression "param_3 == 4" identifier == number_literal) )) (compound_statement "{\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }" { (expression_statement "uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);" (assignment_expression "uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1)" identifier = (call_expression "FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1)" identifier (argument_list "(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1)" ( identifier , identifier , identifier , identifier , (binary_expression "local_b8 & 0xff" identifier & number_literal) , number_literal , identifier , identifier , identifier )))) ;) (goto_statement "goto LAB_002c2945;" goto statement_identifier ;) })) (if_statement "if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }" if (parenthesized_expression "(param_3 == 9)" ( (binary_expression "param_3 == 9" identifier == number_literal) )) (compound_statement "{\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }" { (expression_statement "lVar31 = FUN_0049cb70(0x40);" (assignment_expression "lVar31 = FUN_0049cb70(0x40)" identifier = (call_expression "FUN_0049cb70(0x40)" identifier (argument_list "(0x40)" ( number_literal )))) ;) (expression_statement "*(undefined1 *)(lVar31 + 0x3c) = 0;" (assignment_expression "*(undefined1 *)(lVar31 + 0x3c) = 0" (pointer_expression "*(undefined1 *)(lVar31 + 0x3c)" * (cast_expression "(undefined1 *)(lVar31 + 0x3c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x3c)" ( (binary_expression "lVar31 + 0x3c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(lVar31 + 0x38) = 0;" (assignment_expression "*(undefined4 *)(lVar31 + 0x38) = 0" (pointer_expression "*(undefined4 *)(lVar31 + 0x38)" * (cast_expression "(undefined4 *)(lVar31 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x38)" ( (binary_expression "lVar31 + 0x38" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(ulong **)(lVar31 + 0x10) = param_10;" (assignment_expression "*(ulong **)(lVar31 + 0x10) = param_10" (pointer_expression "*(ulong **)(lVar31 + 0x10)" * (cast_expression "(ulong **)(lVar31 + 0x10)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar31 + 0x10)" ( (binary_expression "lVar31 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(long **)(lVar31 + 0x18) = plVar6;" (assignment_expression "*(long **)(lVar31 + 0x18) = plVar6" (pointer_expression "*(long **)(lVar31 + 0x18)" * (cast_expression "(long **)(lVar31 + 0x18)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar31 + 0x18)" ( (binary_expression "lVar31 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 **)(lVar31 + 0x20) = param_9;" (assignment_expression "*(undefined8 **)(lVar31 + 0x20) = param_9" (pointer_expression "*(undefined8 **)(lVar31 + 0x20)" * (cast_expression "(undefined8 **)(lVar31 + 0x20)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar31 + 0x20)" ( (binary_expression "lVar31 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(lVar31 + 0x28) = local_cc;" (assignment_expression "*(uint *)(lVar31 + 0x28) = local_cc" (pointer_expression "*(uint *)(lVar31 + 0x28)" * (cast_expression "(uint *)(lVar31 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x28)" ( (binary_expression "lVar31 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(lVar31 + 0x2c) = uVar18;" (assignment_expression "*(uint *)(lVar31 + 0x2c) = uVar18" (pointer_expression "*(uint *)(lVar31 + 0x2c)" * (cast_expression "(uint *)(lVar31 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x2c)" ( (binary_expression "lVar31 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(lVar31 + 0x30) = uVar33;" (assignment_expression "*(uint *)(lVar31 + 0x30) = uVar33" (pointer_expression "*(uint *)(lVar31 + 0x30)" * (cast_expression "(uint *)(lVar31 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x30)" ( (binary_expression "lVar31 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char *)(lVar31 + 0x34) = (char)local_b8;" (assignment_expression "*(char *)(lVar31 + 0x34) = (char)local_b8" (pointer_expression "*(char *)(lVar31 + 0x34)" * (cast_expression "(char *)(lVar31 + 0x34)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x34)" ( (binary_expression "lVar31 + 0x34" identifier + number_literal) )))) = (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "FUN_004a11e0(lVar31,&DAT_0067dac0);" (call_expression "FUN_004a11e0(lVar31,&DAT_0067dac0)" identifier (argument_list "(lVar31,&DAT_0067dac0)" ( identifier , (pointer_expression "&DAT_0067dac0" & identifier) ))) ;) (expression_statement "_DAT_0067dad0 = _DAT_0067dad0 + 1;" (assignment_expression "_DAT_0067dad0 = _DAT_0067dad0 + 1" identifier = (binary_expression "_DAT_0067dad0 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_002c2945;" goto statement_identifier ;) })) comment (expression_statement "FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate")" identifier (argument_list "("../../gold/mips.cc",0x2f66,"relocate")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""relocate"" " string_content ") ))) ;) }))) (if_statement "if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }" if (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" ( (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }" { (expression_statement "local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);" (assignment_expression "local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6)" identifier = (call_expression "FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6)" identifier (argument_list "(*(long *)(param_4 + 0x20),param_8,0,plVar6)" ( (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) , identifier , number_literal , identifier )))) ;) (if_statement "if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }" if (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" ( (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }" { (expression_statement "uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);" (assignment_expression "uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" identifier = (call_expression "FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" identifier (argument_list "(*(long *)(param_4 + 0x20),local_e4,plVar6)" ( (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) , identifier , identifier )))) ;) (if_statement "if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;" if (parenthesized_expression "(*(char *)((long)param_1 + 4) != '\0')" ( (binary_expression "*(char *)((long)param_1 + 4) != '\0'" (pointer_expression "*(char *)((long)param_1 + 4)" * (cast_expression "(char *)((long)param_1 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002c2940;" goto statement_identifier ;)) (expression_statement "uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;" (assignment_expression "uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10" identifier = (binary_expression "((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10" (binary_expression "((uint)*param_10 ^ uVar18) & 0xffff" (parenthesized_expression "((uint)*param_10 ^ uVar18)" ( (binary_expression "(uint)*param_10 ^ uVar18" (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier) ^ identifier) )) & number_literal) ^ (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier))) ;) (labeled_statement "LAB_002c27a6:\n          *(uint *)param_10 = uVar17;" statement_identifier : (expression_statement "*(uint *)param_10 = uVar17;" (assignment_expression "*(uint *)param_10 = uVar17" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;)) (expression_statement "uVar17 = (uint)(0xffff < uVar18 + 0x8000);" (assignment_expression "uVar17 = (uint)(0xffff < uVar18 + 0x8000)" identifier = (call_expression "(uint)(0xffff < uVar18 + 0x8000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffff < uVar18 + 0x8000)" ( (binary_expression "0xffff < uVar18 + 0x8000" number_literal < (binary_expression "uVar18 + 0x8000" identifier + number_literal)) )))) ;) (goto_statement "goto LAB_002c2945;" goto statement_identifier ;) })) (goto_statement "goto LAB_002c4797;" goto statement_identifier ;) })) (goto_statement "goto LAB_002c479c;" goto statement_identifier ;)) (case_statement "case 10:\n      local_b8 = 0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c2e45:\n      local_cc = local_b0;" statement_identifier : (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" identifier = identifier) ;)) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" { (expression_statement "uVar17 = uVar18 * 4 & 0x3fffc;" (assignment_expression "uVar17 = uVar18 * 4 & 0x3fffc" identifier = (binary_expression "uVar18 * 4 & 0x3fffc" (binary_expression "uVar18 * 4" identifier * number_literal) & number_literal)) ;) (expression_statement "local_b0 = uVar17 - 0x40000;" (assignment_expression "local_b0 = uVar17 - 0x40000" identifier = (binary_expression "uVar17 - 0x40000" identifier - number_literal)) ;) (if_statement "if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }" if (parenthesized_expression "((uVar18 * 4 & 0x20000) == 0)" ( (binary_expression "(uVar18 * 4 & 0x20000) == 0" (parenthesized_expression "(uVar18 * 4 & 0x20000)" ( (binary_expression "uVar18 * 4 & 0x20000" (binary_expression "uVar18 * 4" identifier * number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar17;\n        }" { (expression_statement "local_b0 = uVar17;" (assignment_expression "local_b0 = uVar17" identifier = identifier) ;) })) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar35 - param_11 >> 2;" (assignment_expression "uVar36 = iVar35 - param_11 >> 2" identifier = (binary_expression "iVar35 - param_11 >> 2" (binary_expression "iVar35 - param_11" identifier - identifier) >> number_literal)) ;) (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (expression_statement "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;" (assignment_expression "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar18 ^ (uVar36 ^ uVar18) & 0xffff" identifier ^ (binary_expression "(uVar36 ^ uVar18) & 0xffff" (parenthesized_expression "(uVar36 ^ uVar18)" ( (binary_expression "uVar36 ^ uVar18" identifier ^ identifier) )) & number_literal))) ;) (expression_statement "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar17 = 3;" (assignment_expression "uVar17 = 3" identifier = number_literal) ;) (if_statement "if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }" if (parenthesized_expression "((uVar32 & 3) == 0)" ( (binary_expression "(uVar32 & 3) == 0" (parenthesized_expression "(uVar32 & 3)" ( (binary_expression "uVar32 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }" { (expression_statement "uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);" (assignment_expression "uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000)" identifier = (call_expression "(uint)(0x3ffff < (iVar35 - param_11) + 0x20000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3ffff < (iVar35 - param_11) + 0x20000)" ( (binary_expression "0x3ffff < (iVar35 - param_11) + 0x20000" number_literal < (binary_expression "(iVar35 - param_11) + 0x20000" (parenthesized_expression "(iVar35 - param_11)" ( (binary_expression "iVar35 - param_11" identifier - identifier) )) + number_literal)) )))) ;) })) (break_statement "break;" break ;)) (case_statement "case 0xb:" case number_literal :) (case_statement "case 0x67:" case number_literal :) (case_statement "case 0x8e:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }" statement_identifier : (if_statement "if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }" if (parenthesized_expression "(param_8 == (undefined8 *)0x0)" ( (binary_expression "param_8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002c467a:\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }" { (labeled_statement "LAB_002c467a:\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");" statement_identifier : comment (expression_statement "FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate")" identifier (argument_list "("../../gold/mips.cc",0x2f3d,"relocate")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""relocate"" " string_content ") ))) ;)) }))) (if_statement "if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }" if (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" ( (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }" { (expression_statement "local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);" (assignment_expression "local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6)" identifier = (call_expression "FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6)" identifier (argument_list "(*(long *)(param_4 + 0x20),param_8,0,plVar6)" ( (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) , identifier , number_literal , identifier )))) ;) (if_statement "if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }" if (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" ( (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }" { (expression_statement "uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);" (assignment_expression "uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" identifier = (call_expression "FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" identifier (argument_list "(*(long *)(param_4 + 0x20),local_e4,plVar6)" ( (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) , identifier , identifier )))) ;) (if_statement "if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;" if (parenthesized_expression "(*(char *)((long)param_1 + 4) != '\0')" ( (binary_expression "*(char *)((long)param_1 + 4) != '\0'" (pointer_expression "*(char *)((long)param_1 + 4)" * (cast_expression "(char *)((long)param_1 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002c2940;" goto statement_identifier ;)) (expression_statement "uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;" (assignment_expression "uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10" identifier = (binary_expression "((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10" (binary_expression "((uint)*param_10 ^ uVar18) & 0xffff" (parenthesized_expression "((uint)*param_10 ^ uVar18)" ( (binary_expression "(uint)*param_10 ^ uVar18" (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier) ^ identifier) )) & number_literal) ^ (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier))) ;) (goto_statement "goto LAB_002c27a6;" goto statement_identifier ;) })) (goto_statement "goto LAB_002c4735;" goto statement_identifier ;) })) (goto_statement "goto LAB_002c473a;" goto statement_identifier ;)) (case_statement "case 0xc:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);\n      goto joined_r0x002c327b;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }" statement_identifier : (if_statement "if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }" if (parenthesized_expression "(*(long *)(param_4 + 0x28) == 0)" ( (binary_expression "*(long *)(param_4 + 0x28) == 0" (pointer_expression "*(long *)(param_4 + 0x28)" * (cast_expression "(long *)(param_4 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x28)" ( (binary_expression "param_4 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        iVar35 = 0;\n      }" { (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }" else (compound_statement "{\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }" { (expression_statement "iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);" (assignment_expression "iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40)" identifier = (pointer_expression "*(int *)(*(long *)(param_4 + 0x28) + 0x40)" * (cast_expression "(int *)(*(long *)(param_4 + 0x28) + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_4 + 0x28) + 0x40)" ( (binary_expression "*(long *)(param_4 + 0x28) + 0x40" (pointer_expression "*(long *)(param_4 + 0x28)" * (cast_expression "(long *)(param_4 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x28)" ( (binary_expression "param_4 + 0x28" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }" if (parenthesized_expression "(((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0))" ( (binary_expression "((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)" (parenthesized_expression "((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))" ( (binary_expression "(*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" ( (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" ( (binary_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0" (pointer_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0)" * (cast_expression "(long *)(*(long *)(param_4 + 0x20) + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_4 + 0x20) + 0xd0)" ( (binary_expression "*(long *)(param_4 + 0x20) + 0xd0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "(plVar6[0x6e] != 0)" ( (binary_expression "plVar6[0x6e] != 0" (subscript_expression "plVar6[0x6e]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }" { (expression_statement "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);" (assignment_expression "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" identifier = (binary_expression "iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" identifier + (pointer_expression "*(int *)(plVar6[0x6e] + 0x10c)" * (cast_expression "(int *)(plVar6[0x6e] + 0x10c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6[0x6e] + 0x10c)" ( (binary_expression "plVar6[0x6e] + 0x10c" (subscript_expression "plVar6[0x6e]" identifier [ number_literal ]) + number_literal) )))))) ;) })) })))) (expression_statement "uVar18 = local_cc;" (assignment_expression "uVar18 = local_cc" identifier = identifier) ;) (if_statement "if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar18 = (uint)*param_10;\n      }" { (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) })) (expression_statement "iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);" (assignment_expression "iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,uVar18)" identifier (argument_list "(param_9,plVar6,uVar18)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);" (assignment_expression "uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35)" identifier = (binary_expression "iVar21 + ((int)plVar6[0x6d] - iVar35)" identifier + (parenthesized_expression "((int)plVar6[0x6d] - iVar35)" ( (binary_expression "(int)plVar6[0x6d] - iVar35" (cast_expression "(int)plVar6[0x6d]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "plVar6[0x6d]" identifier [ number_literal ])) - identifier) )))) ;) (goto_statement "goto joined_r0x002c327b;" goto statement_identifier ;)) (case_statement "case 0x12:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);\n      if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);" statement_identifier : (expression_statement "cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);" (assignment_expression "cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4)" identifier = (call_expression "FUN_0029fae0(param_8,0x12,param_5,param_4)" identifier (argument_list "(param_8,0x12,param_5,param_4)" ( identifier , number_literal , identifier , identifier )))) ;)) (if_statement "if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }" if (parenthesized_expression "(cVar16 != '\0')" ( (binary_expression "cVar16 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }" { (expression_statement "bVar14 = *(byte *)((long)param_1 + 4);" (assignment_expression "bVar14 = *(byte *)((long)param_1 + 4)" identifier = (pointer_expression "*(byte *)((long)param_1 + 4)" * (cast_expression "(byte *)((long)param_1 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar18 = local_cc;" (assignment_expression "uVar18 = local_cc" identifier = identifier) ;) (if_statement "if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar18 = (uint)*param_10;\n        }" { (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) })) (goto_statement "goto LAB_002c2f02;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 0x13:" case number_literal :) (case_statement "case 0x91:" case number_literal :) (case_statement "case 0xf9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }\n      if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }\n      local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n      if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }\n      if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;\n      goto LAB_002c1fd4;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);" statement_identifier : (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" identifier = (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) ))))) ;)) (if_statement "if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }" if (parenthesized_expression "(param_8 != (undefined8 *)0x0)" ( (binary_expression "param_8 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }" { (if_statement "if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }" if (parenthesized_expression "(lVar31 != 0)" ( (binary_expression "lVar31 != 0" identifier != number_literal) )) (compound_statement "{\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }" { (expression_statement "local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);" (assignment_expression "local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6)" identifier = (call_expression "FUN_0029b9e0(lVar31,param_8,0,plVar6)" identifier (argument_list "(lVar31,param_8,0,plVar6)" ( identifier , identifier , number_literal , identifier )))) ;) (goto_statement "goto LAB_002c252a;" goto statement_identifier ;) })) (labeled_statement "LAB_002c4721:\n        FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c4726:\n        FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c472b:\n        FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (goto_statement "goto LAB_002c4730;" goto statement_identifier ;) })) (if_statement "if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n        FUN_00290940();\n        goto LAB_002c4792;\n      }" { (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002c4792;" goto statement_identifier ;) })) (expression_statement "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);" (assignment_expression "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc)" identifier = (call_expression "(**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc)" (parenthesized_expression "(**(code **)(*plVar6 + 0x160))" ( (pointer_expression "**(code **)(*plVar6 + 0x160)" * (pointer_expression "*(code **)(*plVar6 + 0x160)" * (cast_expression "(code **)(*plVar6 + 0x160)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x160)" ( (binary_expression "*plVar6 + 0x160" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) )) (argument_list "(plVar6,uVar33,0,(long)(int)local_cc)" ( identifier , identifier , number_literal , (cast_expression "(long)(int)local_cc" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (labeled_statement "LAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }" statement_identifier : (if_statement "if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }" if (parenthesized_expression "(*(long *)(param_4 + 0x20) == 0)" ( (binary_expression "*(long *)(param_4 + 0x20) == 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        FUN_00290940();\n        goto LAB_002c4721;\n      }" { (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002c4721;" goto statement_identifier ;) }))) (expression_statement "uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);" (assignment_expression "uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" identifier = (call_expression "FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" identifier (argument_list "(*(long *)(param_4 + 0x20),local_e4,plVar6)" ( (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) , identifier , identifier )))) ;) (if_statement "if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }" if (parenthesized_expression "(uVar18 != 0xf9)" ( (binary_expression "uVar18 != 0xf9" identifier != number_literal) )) (compound_statement "{\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }" { (if_statement "if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }" if (parenthesized_expression "(*(char *)((long)param_1 + 4) == '\0')" ( (binary_expression "*(char *)((long)param_1 + 4) == '\0'" (pointer_expression "*(char *)((long)param_1 + 4)" * (cast_expression "(char *)((long)param_1 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }" { (expression_statement "uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;" (assignment_expression "uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10" identifier = (binary_expression "(uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10" (binary_expression "(uVar36 ^ (uint)*param_10) & 0xffff" (parenthesized_expression "(uVar36 ^ (uint)*param_10)" ( (binary_expression "uVar36 ^ (uint)*param_10" identifier ^ (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) )) & number_literal) ^ (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier))) ;) (goto_statement "goto LAB_002c2590;" goto statement_identifier ;) })) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;) })) (if_statement "if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;" if (parenthesized_expression "(*(char *)((long)param_1 + 4) == '\0')" ( (binary_expression "*(char *)((long)param_1 + 4) == '\0'" (pointer_expression "*(char *)((long)param_1 + 4)" * (cast_expression "(char *)((long)param_1 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002c1fd0;" goto statement_identifier ;)) (goto_statement "goto LAB_002c1fd4;" goto statement_identifier ;)) (case_statement "case 0x14:" case number_literal :) (case_statement "case 0x92:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) goto LAB_002c4726;\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }\n      if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }\n      uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);\n      if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;\n      goto LAB_002c2590;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;" statement_identifier : (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;)) (expression_statement "uVar17 = uVar18 & 0xffff;" (assignment_expression "uVar17 = uVar18 & 0xffff" identifier = (binary_expression "uVar18 & 0xffff" identifier & number_literal)) ;) (if_statement "if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }" if (parenthesized_expression "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar17 = local_cc;\n      }" { (expression_statement "uVar17 = local_cc;" (assignment_expression "uVar17 = local_cc" identifier = identifier) ;) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,uVar17)" identifier (argument_list "(param_9,plVar6,uVar17)" ( identifier , identifier , identifier )))) ;) (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" identifier = (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (lVar31 == 0) goto LAB_002c4726;" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002c4726;" goto statement_identifier ;)) (if_statement "if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }" if (parenthesized_expression "(*(long *)(lVar31 + 0xd0) == 0)" ( (binary_expression "*(long *)(lVar31 + 0xd0) == 0" (pointer_expression "*(long *)(lVar31 + 0xd0)" * (cast_expression "(long *)(lVar31 + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0xd0)" ( (binary_expression "lVar31 + 0xd0" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        lVar31 = *(long *)(lVar31 + 200);\n      }" { (expression_statement "lVar31 = *(long *)(lVar31 + 200);" (assignment_expression "lVar31 = *(long *)(lVar31 + 200)" identifier = (pointer_expression "*(long *)(lVar31 + 200)" * (cast_expression "(long *)(lVar31 + 200)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 200)" ( (binary_expression "lVar31 + 200" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        lVar31 = plVar6[0x6e];\n      }" else (compound_statement "{\n        lVar31 = plVar6[0x6e];\n      }" { (expression_statement "lVar31 = plVar6[0x6e];" (assignment_expression "lVar31 = plVar6[0x6e]" identifier = (subscript_expression "plVar6[0x6e]" identifier [ number_literal ])) ;) }))) (if_statement "if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }" { (labeled_statement "LAB_002c4761:\n        FUN_00293350();" statement_identifier : (expression_statement "FUN_00293350();" (call_expression "FUN_00293350()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c4766:\n        FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (goto_statement "goto LAB_002c476b;" goto statement_identifier ;) })) (expression_statement "uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);" (assignment_expression "uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10)" identifier = (call_expression "FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10)" identifier (argument_list "(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10)" ( identifier , (binary_expression "(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10" (call_expression "(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10)" (call_expression "(ulong)(ushort)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(ushort)" ( identifier ))) (argument_list "((uint)(iVar35 + 0x8000) >> 0x10)" ( (binary_expression "(uint)(iVar35 + 0x8000) >> 0x10" (call_expression "(uint)(iVar35 + 0x8000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar35 + 0x8000)" ( (binary_expression "iVar35 + 0x8000" identifier + number_literal) ))) >> number_literal) ))) << number_literal) )))) ;) (if_statement "if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;" if (parenthesized_expression "(*(long *)(param_4 + 0x20) == 0)" ( (binary_expression "*(long *)(param_4 + 0x20) == 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_002c475c;" goto statement_identifier ;)) (expression_statement "uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);" (assignment_expression "uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6)" identifier = (call_expression "FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6)" identifier (argument_list "(*(long *)(param_4 + 0x20),uVar19,plVar6)" ( (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) , identifier , identifier )))) ;) (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (expression_statement "uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;" (assignment_expression "uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18" identifier = (binary_expression "(uVar18 ^ uVar36) & 0xffff ^ uVar18" (binary_expression "(uVar18 ^ uVar36) & 0xffff" (parenthesized_expression "(uVar18 ^ uVar36)" ( (binary_expression "uVar18 ^ uVar36" identifier ^ identifier) )) & number_literal) ^ identifier)) ;) (goto_statement "goto LAB_002c2590;" goto statement_identifier ;)) (case_statement "case 0x15:" case number_literal :) (case_statement "case 0x93:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;\n      local_b0 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }\n      if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;" statement_identifier : (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;)) (expression_statement "local_b0 = uVar18 & 0xffff;" (assignment_expression "local_b0 = uVar18 & 0xffff" identifier = (binary_expression "uVar18 & 0xffff" identifier & number_literal)) ;) (if_statement "if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }" if (parenthesized_expression "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_b0 = local_cc;\n      }" { (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) })) (if_statement "if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }" if (parenthesized_expression "(local_ce != 0)" ( (binary_expression "local_ce != 0" identifier != number_literal) )) (compound_statement "{\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }" { (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;" (assignment_expression "lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10" identifier = (binary_expression "(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10" (call_expression "(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10)" (call_expression "(ulong)(ushort)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(ushort)" ( identifier ))) (argument_list "((uint)(iVar35 + 0x8000) >> 0x10)" ( (binary_expression "(uint)(iVar35 + 0x8000) >> 0x10" (call_expression "(uint)(iVar35 + 0x8000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar35 + 0x8000)" ( (binary_expression "iVar35 + 0x8000" identifier + number_literal) ))) >> number_literal) ))) << number_literal)) ;) (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" identifier = (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_00290940();\n          goto LAB_002c463a;\n        }" { (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002c463a;" goto statement_identifier ;) })) (if_statement "if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }" if (parenthesized_expression "(*(long *)(lVar31 + 0xd0) == 0)" ( (binary_expression "*(long *)(lVar31 + 0xd0) == 0" (pointer_expression "*(long *)(lVar31 + 0xd0)" * (cast_expression "(long *)(lVar31 + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0xd0)" ( (binary_expression "lVar31 + 0xd0" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          lVar31 = *(long *)(lVar31 + 200);\n        }" { (expression_statement "lVar31 = *(long *)(lVar31 + 200);" (assignment_expression "lVar31 = *(long *)(lVar31 + 200)" identifier = (pointer_expression "*(long *)(lVar31 + 200)" * (cast_expression "(long *)(lVar31 + 200)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 200)" ( (binary_expression "lVar31 + 200" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          lVar31 = plVar6[0x6e];\n        }" else (compound_statement "{\n          lVar31 = plVar6[0x6e];\n        }" { (expression_statement "lVar31 = plVar6[0x6e];" (assignment_expression "lVar31 = plVar6[0x6e]" identifier = (subscript_expression "plVar6[0x6e]" identifier [ number_literal ])) ;) }))) (if_statement "if (lVar31 == 0) goto LAB_002c463f;" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002c463f;" goto statement_identifier ;)) (expression_statement "FUN_002c0d60(lVar31,lVar25);" (call_expression "FUN_002c0d60(lVar31,lVar25)" identifier (argument_list "(lVar31,lVar25)" ( identifier , identifier ))) ;) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "local_b0 = iVar35 - (int)lVar25;" (assignment_expression "local_b0 = iVar35 - (int)lVar25" identifier = (binary_expression "iVar35 - (int)lVar25" identifier - (cast_expression "(int)lVar25" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (if_statement "if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (compound_statement "{\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(uint *)param_1 = local_b0;" (assignment_expression "*(uint *)param_1 = local_b0" (pointer_expression "*(uint *)param_1" * (cast_expression "(uint *)param_1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (else_clause "else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }" else (compound_statement "{\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }" { (expression_statement "*(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;" (assignment_expression "*(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(uVar18 ^ local_b0) & 0xffff ^ uVar18" (binary_expression "(uVar18 ^ local_b0) & 0xffff" (parenthesized_expression "(uVar18 ^ local_b0)" ( (binary_expression "uVar18 ^ local_b0" identifier ^ identifier) )) & number_literal) ^ identifier)) ;) (expression_statement "uVar17 = (uint)(0xffff < local_b0 + 0x8000);" (assignment_expression "uVar17 = (uint)(0xffff < local_b0 + 0x8000)" identifier = (call_expression "(uint)(0xffff < local_b0 + 0x8000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffff < local_b0 + 0x8000)" ( (binary_expression "0xffff < local_b0 + 0x8000" number_literal < (binary_expression "local_b0 + 0x8000" identifier + number_literal)) )))) ;) }))) (break_statement "break;" break ;)) (case_statement "case 0x16:" case number_literal :) (case_statement "case 0x1e:" case number_literal :) (case_statement "case 0x94:" case number_literal :) (case_statement "case 0x99:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }\n      goto LAB_002c46d8;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);" statement_identifier : (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" identifier = (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) ))))) ;)) (if_statement "if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }" if (parenthesized_expression "(param_8 != (undefined8 *)0x0)" ( (binary_expression "param_8 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }" { (if_statement "if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }" if (parenthesized_expression "(lVar31 != 0)" ( (binary_expression "lVar31 != 0" identifier != number_literal) )) (compound_statement "{\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }" { (expression_statement "local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);" (assignment_expression "local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6)" identifier = (call_expression "FUN_0029b9e0(lVar31,param_8,0,plVar6)" identifier (argument_list "(lVar31,param_8,0,plVar6)" ( identifier , identifier , number_literal , identifier )))) ;) (goto_statement "goto LAB_002c2378;" goto statement_identifier ;) })) (labeled_statement "LAB_002c4730:\n        FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c4735:\n        FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c473a:\n        FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c473f:\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");" statement_identifier : comment (expression_statement "FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate")" identifier (argument_list "("../../gold/mips.cc",0x2e46,"relocate")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""relocate"" " string_content ") ))) ;)) })) (if_statement "if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }" if (parenthesized_expression "(lVar31 != 0)" ( (binary_expression "lVar31 != 0" identifier != number_literal) )) (compound_statement "{\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }" { (expression_statement "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);" (assignment_expression "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc)" identifier = (call_expression "(**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc)" (parenthesized_expression "(**(code **)(*plVar6 + 0x160))" ( (pointer_expression "**(code **)(*plVar6 + 0x160)" * (pointer_expression "*(code **)(*plVar6 + 0x160)" * (cast_expression "(code **)(*plVar6 + 0x160)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x160)" ( (binary_expression "*plVar6 + 0x160" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) )) (argument_list "(plVar6,uVar33,0,(long)(int)local_cc)" ( identifier , identifier , number_literal , (cast_expression "(long)(int)local_cc" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (labeled_statement "LAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }" statement_identifier : (if_statement "if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }" if (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" ( (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }" { (expression_statement "iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);" (assignment_expression "iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" identifier = (call_expression "FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" identifier (argument_list "(*(long *)(param_4 + 0x20),local_e4,plVar6)" ( (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) , identifier , identifier )))) ;) (expression_statement "uVar18 = iVar35 + 0x8000U >> 0x10;" (assignment_expression "uVar18 = iVar35 + 0x8000U >> 0x10" identifier = (binary_expression "iVar35 + 0x8000U >> 0x10" (binary_expression "iVar35 + 0x8000U" identifier + number_literal) >> number_literal)) ;) (if_statement "if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;" if (parenthesized_expression "(*(char *)((long)param_1 + 4) != '\0')" ( (binary_expression "*(char *)((long)param_1 + 4) != '\0'" (pointer_expression "*(char *)((long)param_1 + 4)" * (cast_expression "(char *)((long)param_1 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002c2940;" goto statement_identifier ;)) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);" (assignment_expression "*(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10)" (pointer_expression "*(ushort *)param_10" * (cast_expression "(ushort *)param_10" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (call_expression "(ushort)(iVar35 + 0x8000U >> 0x10)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(iVar35 + 0x8000U >> 0x10)" ( (binary_expression "iVar35 + 0x8000U >> 0x10" (binary_expression "iVar35 + 0x8000U" identifier + number_literal) >> number_literal) )))) ;) (goto_statement "goto LAB_002c2945;" goto statement_identifier ;) }))) (goto_statement "goto LAB_002c472b;" goto statement_identifier ;) })) (goto_statement "goto LAB_002c46d8;" goto statement_identifier ;)) (case_statement "case 0x17:" case number_literal :) (case_statement "case 0x1f:" case number_literal :) (case_statement "case 0x95:" case number_literal :) (case_statement "case 0x9a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }\nLAB_002c4792:\n      FUN_00290940();\nLAB_002c4797:\n      FUN_00290940();\nLAB_002c479c:\n      FUN_00290940();\nLAB_002c47a1:\n      FUN_00290940();\nLAB_002c47a6:\n      FUN_00290940();\n                    /* catch() { ... } // from try @ 002c1a5e with catch @ 002c47ab */\n      uVar22 = FUN_0017eb9a();\n      return uVar22;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);" statement_identifier : (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" identifier = (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) ))))) ;)) (if_statement "if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }" if (parenthesized_expression "(param_8 != (undefined8 *)0x0)" ( (binary_expression "param_8 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }" { (if_statement "if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }" if (parenthesized_expression "(lVar31 != 0)" ( (binary_expression "lVar31 != 0" identifier != number_literal) )) (compound_statement "{\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }" { (expression_statement "local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);" (assignment_expression "local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6)" identifier = (call_expression "FUN_0029b9e0(lVar31,param_8,0,plVar6)" identifier (argument_list "(lVar31,param_8,0,plVar6)" ( identifier , identifier , number_literal , identifier )))) ;) (goto_statement "goto LAB_002c22ef;" goto statement_identifier ;) })) (labeled_statement "LAB_002c476b:\n        FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (goto_statement "goto LAB_002c4770;" goto statement_identifier ;) })) (if_statement "if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }" if (parenthesized_expression "(lVar31 != 0)" ( (binary_expression "lVar31 != 0" identifier != number_literal) )) (compound_statement "{\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }" { (expression_statement "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);" (assignment_expression "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc)" identifier = (call_expression "(**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc)" (parenthesized_expression "(**(code **)(*plVar6 + 0x160))" ( (pointer_expression "**(code **)(*plVar6 + 0x160)" * (pointer_expression "*(code **)(*plVar6 + 0x160)" * (cast_expression "(code **)(*plVar6 + 0x160)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x160)" ( (binary_expression "*plVar6 + 0x160" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) )) (argument_list "(plVar6,uVar33,0,(long)(int)local_cc)" ( identifier , identifier , number_literal , (cast_expression "(long)(int)local_cc" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (labeled_statement "LAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }" statement_identifier : (if_statement "if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }" if (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" ( (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }" { (expression_statement "uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);" (assignment_expression "uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" identifier = (call_expression "FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" identifier (argument_list "(*(long *)(param_4 + 0x20),local_e4,plVar6)" ( (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) , identifier , identifier )))) ;) (if_statement "if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;" if (parenthesized_expression "(*(char *)((long)param_1 + 4) != '\0')" ( (binary_expression "*(char *)((long)param_1 + 4) != '\0'" (pointer_expression "*(char *)((long)param_1 + 4)" * (cast_expression "(char *)((long)param_1 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002c2940;" goto statement_identifier ;)) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;" (assignment_expression "*(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10" (binary_expression "(uVar18 ^ (uint)*param_10) & 0xffff" (parenthesized_expression "(uVar18 ^ (uint)*param_10)" ( (binary_expression "uVar18 ^ (uint)*param_10" identifier ^ (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) )) & number_literal) ^ (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier))) ;) (goto_statement "goto LAB_002c2945;" goto statement_identifier ;) }))) (goto_statement "goto LAB_002c4766;" goto statement_identifier ;) })) (labeled_statement "LAB_002c4792:\n      FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c4797:\n      FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c479c:\n      FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c47a1:\n      FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c47a6:\n      FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) comment (expression_statement "uVar22 = FUN_0017eb9a();" (assignment_expression "uVar22 = FUN_0017eb9a()" identifier = (call_expression "FUN_0017eb9a()" identifier (argument_list "()" ( )))) ;) (return_statement "return uVar22;" return identifier ;)) (case_statement "case 0x18:" case number_literal :) (case_statement "case 0x96:\n      local_b8 = 0;\nLAB_002c2efa:\n      uVar18 = -local_b0;\nLAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      if (bVar14 != '\0') goto LAB_002c1f30;\n      uVar17 = 0;\n      *param_10 = (ulong)uVar36;\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c2efa:\n      uVar18 = -local_b0;" statement_identifier : (expression_statement "uVar18 = -local_b0;" (assignment_expression "uVar18 = -local_b0" identifier = (unary_expression "-local_b0" - identifier)) ;)) (labeled_statement "LAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);" statement_identifier : (expression_statement "uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);" (assignment_expression "uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,uVar18)" identifier (argument_list "(param_9,plVar6,uVar18)" ( identifier , identifier , identifier )))) ;)) (if_statement "if (bVar14 != '\0') goto LAB_002c1f30;" if (parenthesized_expression "(bVar14 != '\0')" ( (binary_expression "bVar14 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*param_10 = (ulong)uVar36;" (assignment_expression "*param_10 = (ulong)uVar36" (pointer_expression "*param_10" * identifier) = (cast_expression "(ulong)uVar36" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x1c:" case number_literal :) (case_statement "case 0x97:\n      local_b8 = 0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }\n      uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);\n      goto joined_r0x002c1f7e;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c1ed8:\n      local_cc = local_b0;" statement_identifier : (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" identifier = identifier) ;)) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }" if (parenthesized_expression "(((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0))" ( (binary_expression "((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)" (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)" ( (comma_expression "local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0" (assignment_expression "local_b0 = (uVar18 & 0xffff) - 0x10000" identifier = (binary_expression "(uVar18 & 0xffff) - 0x10000" (parenthesized_expression "(uVar18 & 0xffff)" ( (binary_expression "uVar18 & 0xffff" identifier & number_literal) )) - number_literal)) , (binary_expression "(uVar18 & 0x8000) == 0" (parenthesized_expression "(uVar18 & 0x8000)" ( (binary_expression "uVar18 & 0x8000" identifier & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n        local_b0 = uVar18 & 0xffff;\n      }" { (expression_statement "local_b0 = uVar18 & 0xffff;" (assignment_expression "local_b0 = uVar18 & 0xffff" identifier = (binary_expression "uVar18 & 0xffff" identifier & number_literal)) ;) })) (expression_statement "uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);" (assignment_expression "uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20)" identifier = (call_expression "(uint)((ulong)uVar17 + 0x80008000 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulong)uVar17 + 0x80008000 >> 0x20)" ( (binary_expression "(ulong)uVar17 + 0x80008000 >> 0x20" (binary_expression "(ulong)uVar17 + 0x80008000" (cast_expression "(ulong)uVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) + number_literal) >> number_literal) )))) ;) (goto_statement "goto joined_r0x002c1f7e;" goto statement_identifier ;)) (case_statement "case 0x1d:" case number_literal :) (case_statement "case 0x98:\n      local_b8 = 0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar36 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }\n      FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }\n      uVar36 = uVar36 & 0xffff0000;\n      goto LAB_002c1fd0;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c2f32:\n      local_cc = local_b0;" statement_identifier : (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" identifier = identifier) ;)) (expression_statement "uVar36 = (uint)*param_10;" (assignment_expression "uVar36 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }" { (expression_statement "local_b0 = (uVar36 & 0xffff) - 0x10000;" (assignment_expression "local_b0 = (uVar36 & 0xffff) - 0x10000" identifier = (binary_expression "(uVar36 & 0xffff) - 0x10000" (parenthesized_expression "(uVar36 & 0xffff)" ( (binary_expression "uVar36 & 0xffff" identifier & number_literal) )) - number_literal)) ;) (if_statement "if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }" if (parenthesized_expression "((uVar36 & 0x8000) == 0)" ( (binary_expression "(uVar36 & 0x8000) == 0" (parenthesized_expression "(uVar36 & 0x8000)" ( (binary_expression "uVar36 & 0x8000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar36 & 0xffff;\n        }" { (expression_statement "local_b0 = uVar36 & 0xffff;" (assignment_expression "local_b0 = uVar36 & 0xffff" identifier = (binary_expression "uVar36 & 0xffff" identifier & number_literal)) ;) })) })) (expression_statement "FUN_001a5ac0(param_9,plVar6,local_b0);" (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier ))) ;) (if_statement "if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }" if (parenthesized_expression "(bVar45 && bVar48)" ( (binary_expression "bVar45 && bVar48" identifier && identifier) )) (compound_statement "{\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(uint *)param_1 = 0;" (assignment_expression "*(uint *)param_1 = 0" (pointer_expression "*(uint *)param_1" * (cast_expression "(uint *)param_1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (break_statement "break;" break ;) })) (expression_statement "uVar36 = uVar36 & 0xffff0000;" (assignment_expression "uVar36 = uVar36 & 0xffff0000" identifier = (binary_expression "uVar36 & 0xffff0000" identifier & number_literal)) ;) (goto_statement "goto LAB_002c1fd0;" goto statement_identifier ;)) (case_statement "case 0x25:" case number_literal :) (case_statement "case 0x9c:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }\n      uVar17 = (uint)*param_10;\n      uVar36 = uVar17;\n      if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }\n      if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }" statement_identifier : (if_statement "if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }" if (parenthesized_expression "(param_8 != (undefined8 *)0x0)" ( (binary_expression "param_8 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }" { (expression_statement "cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);" (assignment_expression "cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1)" identifier = (call_expression "FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1)" identifier (argument_list "(param_8,*(int *)(param_8 + 4) != 0,1)" ( identifier , (binary_expression "*(int *)(param_8 + 4) != 0" (pointer_expression "*(int *)(param_8 + 4)" * (cast_expression "(int *)(param_8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 4)" ( (binary_expression "param_8 + 4" identifier + number_literal) )))) != number_literal) , number_literal )))) ;) (if_statement "if (cVar16 == '\0') break;" if (parenthesized_expression "(cVar16 == '\0')" ( (binary_expression "cVar16 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "bVar14 = *(byte *)((long)param_1 + 4);" (assignment_expression "bVar14 = *(byte *)((long)param_1 + 4)" identifier = (pointer_expression "*(byte *)((long)param_1 + 4)" * (cast_expression "(byte *)((long)param_1 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) }))) (expression_statement "uVar17 = (uint)*param_10;" (assignment_expression "uVar17 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "uVar36 = uVar17;" (assignment_expression "uVar36 = uVar17" identifier = identifier) ;) (if_statement "if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }" if (parenthesized_expression "(((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))" ( (binary_expression "((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809)))" (parenthesized_expression "((uVar18 == 0x25) && (local_cf != 1))" ( (binary_expression "(uVar18 == 0x25) && (local_cf != 1)" (parenthesized_expression "(uVar18 == 0x25)" ( (binary_expression "uVar18 == 0x25" identifier == number_literal) )) && (parenthesized_expression "(local_cf != 1)" ( (binary_expression "local_cf != 1" identifier != number_literal) ))) )) && (parenthesized_expression "((uVar17 == 0x3200008 || (uVar17 == 0x320f809)))" ( (parenthesized_expression "(uVar17 == 0x3200008 || (uVar17 == 0x320f809))" ( (binary_expression "uVar17 == 0x3200008 || (uVar17 == 0x320f809)" (binary_expression "uVar17 == 0x3200008" identifier == number_literal) || (parenthesized_expression "(uVar17 == 0x320f809)" ( (binary_expression "uVar17 == 0x320f809" identifier == number_literal) ))) )) ))) )) (compound_statement "{\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }" { (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6)" identifier (argument_list "(param_9,plVar6)" ( identifier , identifier )))) ;) (if_statement "if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }" if (parenthesized_expression "((iVar35 - param_11) + 0x1fffc < 0x40000)" ( (binary_expression "(iVar35 - param_11) + 0x1fffc < 0x40000" (binary_expression "(iVar35 - param_11) + 0x1fffc" (parenthesized_expression "(iVar35 - param_11)" ( (binary_expression "iVar35 - param_11" identifier - identifier) )) + number_literal) < number_literal) )) (compound_statement "{\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }" { (expression_statement "uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;" (assignment_expression "uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff" identifier = (binary_expression "(iVar35 - param_11) - 4 >> 2 & 0xffff" (binary_expression "(iVar35 - param_11) - 4 >> 2" (binary_expression "(iVar35 - param_11) - 4" (parenthesized_expression "(iVar35 - param_11)" ( (binary_expression "iVar35 - param_11" identifier - identifier) )) - number_literal) >> number_literal) & number_literal)) ;) (expression_statement "uVar36 = uVar18 | 0x10000000;" (assignment_expression "uVar36 = uVar18 | 0x10000000" identifier = (binary_expression "uVar18 | 0x10000000" identifier | number_literal)) ;) (if_statement "if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }" if (parenthesized_expression "(uVar17 != 0x3200008)" ( (binary_expression "uVar17 != 0x3200008" identifier != number_literal) )) (compound_statement "{\n            uVar36 = uVar18 | 0x4110000;\n          }" { (expression_statement "uVar36 = uVar18 | 0x4110000;" (assignment_expression "uVar36 = uVar18 | 0x4110000" identifier = (binary_expression "uVar18 | 0x4110000" identifier | number_literal)) ;) })) })) })) (if_statement "if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }" if (parenthesized_expression "(bVar14 == '\0')" ( (binary_expression "bVar14 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }" { (expression_statement "*(uint *)param_10 = uVar36;" (assignment_expression "*(uint *)param_10 = uVar36" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }" else (compound_statement "{\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }" { (expression_statement "*(uint *)param_1 = uVar36;" (assignment_expression "*(uint *)param_1 = uVar36" (pointer_expression "*(uint *)param_1" * (cast_expression "(uint *)param_1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) }))) (break_statement "break;" break ;)) (case_statement "case 0x27:" case number_literal :) (case_statement "case 0x29:\n      goto switchD_002c14fa_caseD_27;" case number_literal : (goto_statement "goto switchD_002c14fa_caseD_27;" goto statement_identifier ;)) (case_statement "case 0x2a:" case number_literal :) (case_statement "case 0x6a:" case number_literal :) (case_statement "case 0xa2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }\n      FUN_00290940();\nswitchD_002c14fa_caseD_27:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_27:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      goto joined_r0x002c327b;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);" statement_identifier : (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" identifier = (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) ))))) ;)) (if_statement "if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }" if (parenthesized_expression "(param_8 == (undefined8 *)0x0)" ( (binary_expression "param_8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }" { (if_statement "if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_00290940();\n          goto LAB_002c467a;\n        }" { (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002c467a;" goto statement_identifier ;) })) (expression_statement "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);" (assignment_expression "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc)" identifier = (call_expression "(**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc)" (parenthesized_expression "(**(code **)(*plVar6 + 0x160))" ( (pointer_expression "**(code **)(*plVar6 + 0x160)" * (pointer_expression "*(code **)(*plVar6 + 0x160)" * (cast_expression "(code **)(*plVar6 + 0x160)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x160)" ( (binary_expression "*plVar6 + 0x160" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) )) (argument_list "(plVar6,uVar33,2,(long)(int)local_cc)" ( identifier , identifier , number_literal , (cast_expression "(long)(int)local_cc" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }) (else_clause "else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }" else (compound_statement "{\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }" { (if_statement "if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }" { (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_002c475c:\n          FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (goto_statement "goto LAB_002c4761;" goto statement_identifier ;) })) (expression_statement "local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);" (assignment_expression "local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6)" identifier = (call_expression "FUN_0029b9e0(lVar31,param_8,2,plVar6)" identifier (argument_list "(lVar31,param_8,2,plVar6)" ( identifier , identifier , number_literal , identifier )))) ;) }))) (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" identifier = (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }" if (parenthesized_expression "(lVar31 != 0)" ( (binary_expression "lVar31 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }" { (labeled_statement "LAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);" statement_identifier : (expression_statement "uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);" (assignment_expression "uVar36 = FUN_002924d0(lVar31,local_e4,plVar6)" identifier = (call_expression "FUN_002924d0(lVar31,local_e4,plVar6)" identifier (argument_list "(lVar31,local_e4,plVar6)" ( identifier , identifier , identifier )))) ;)) (goto_statement "goto LAB_002c211b;" goto statement_identifier ;) })) (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;) (labeled_statement "switchD_002c14fa_caseD_27:\n      local_b8 = 0;" statement_identifier : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;)) (labeled_statement "switchD_002c18c9_caseD_27:\n      uVar18 = local_cc;" statement_identifier : (expression_statement "uVar18 = local_cc;" (assignment_expression "uVar18 = local_cc" identifier = identifier) ;)) (if_statement "if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar18 = (uint)*param_10;\n      }" { (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,uVar18)" identifier (argument_list "(param_9,plVar6,uVar18)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar35 - 0x8000;" (assignment_expression "uVar36 = iVar35 - 0x8000" identifier = (binary_expression "iVar35 - 0x8000" identifier - number_literal)) ;) (goto_statement "goto joined_r0x002c327b;" goto statement_identifier ;)) (case_statement "case 0x2b:" case number_literal :) (case_statement "case 0x6b:" case number_literal :) (case_statement "case 0xa3:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }\n      if (lVar25 == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }\n      local_e4 = *(uint *)(lVar25 + 0x14);\n      uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\nLAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;\n      uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;\nLAB_002c2590:\n      *(uint *)param_10 = uVar18;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);" statement_identifier : (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" identifier = (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) ))))) ;)) (if_statement "if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }" { (labeled_statement "LAB_002c463a:\n        FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c463f:\n        FUN_00293350();" statement_identifier : (expression_statement "FUN_00293350();" (call_expression "FUN_00293350()" identifier (argument_list "()" ( ))) ;)) (goto_statement "goto LAB_002c4644;" goto statement_identifier ;) })) (if_statement "if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }" if (parenthesized_expression "(*(long *)(lVar31 + 0xd0) == 0)" ( (binary_expression "*(long *)(lVar31 + 0xd0) == 0" (pointer_expression "*(long *)(lVar31 + 0xd0)" * (cast_expression "(long *)(lVar31 + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0xd0)" ( (binary_expression "lVar31 + 0xd0" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        lVar25 = *(long *)(lVar31 + 200);\n      }" { (expression_statement "lVar25 = *(long *)(lVar31 + 200);" (assignment_expression "lVar25 = *(long *)(lVar31 + 200)" identifier = (pointer_expression "*(long *)(lVar31 + 200)" * (cast_expression "(long *)(lVar31 + 200)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 200)" ( (binary_expression "lVar31 + 200" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        lVar25 = plVar6[0x6e];\n      }" else (compound_statement "{\n        lVar25 = plVar6[0x6e];\n      }" { (expression_statement "lVar25 = plVar6[0x6e];" (assignment_expression "lVar25 = plVar6[0x6e]" identifier = (subscript_expression "plVar6[0x6e]" identifier [ number_literal ])) ;) }))) (if_statement "if (lVar25 == 0) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }" if (parenthesized_expression "(lVar25 == 0)" ( (binary_expression "lVar25 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }" { comment (expression_statement "FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset")" identifier (argument_list "("../../gold/mips.cc",0x86a,"tls_ldm_offset")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""tls_ldm_offset"" " string_content ") ))) ;) })) (expression_statement "local_e4 = *(uint *)(lVar25 + 0x14);" (assignment_expression "local_e4 = *(uint *)(lVar25 + 0x14)" identifier = (pointer_expression "*(uint *)(lVar25 + 0x14)" * (cast_expression "(uint *)(lVar25 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar25 + 0x14)" ( (binary_expression "lVar25 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);" (assignment_expression "uVar36 = FUN_002924d0(lVar31,local_e4,plVar6)" identifier = (call_expression "FUN_002924d0(lVar31,local_e4,plVar6)" identifier (argument_list "(lVar31,local_e4,plVar6)" ( identifier , identifier , identifier )))) ;) (labeled_statement "LAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;" statement_identifier : (if_statement "if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;" if (parenthesized_expression "(*(char *)((long)param_1 + 4) != '\0')" ( (binary_expression "*(char *)((long)param_1 + 4) != '\0'" (pointer_expression "*(char *)((long)param_1 + 4)" * (cast_expression "(char *)((long)param_1 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002c1fd4;" goto statement_identifier ;))) (expression_statement "uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;" (assignment_expression "uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10" identifier = (binary_expression "((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10" (binary_expression "((uint)*param_10 ^ uVar36) & 0xffff" (parenthesized_expression "((uint)*param_10 ^ uVar36)" ( (binary_expression "(uint)*param_10 ^ uVar36" (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier) ^ identifier) )) & number_literal) ^ (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier))) ;) (labeled_statement "LAB_002c2590:\n      *(uint *)param_10 = uVar18;" statement_identifier : (expression_statement "*(uint *)param_10 = uVar18;" (assignment_expression "*(uint *)param_10 = uVar18" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;)) (expression_statement "uVar17 = (uint)(0xffff < uVar36 + 0x8000);" (assignment_expression "uVar17 = (uint)(0xffff < uVar36 + 0x8000)" identifier = (call_expression "(uint)(0xffff < uVar36 + 0x8000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffff < uVar36 + 0x8000)" ( (binary_expression "0xffff < uVar36 + 0x8000" number_literal < (binary_expression "uVar36 + 0x8000" identifier + number_literal)) )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x2c:" case number_literal :) (case_statement "case 0x6c:" case number_literal :) (case_statement "case 0xa4:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      goto LAB_002c1f79;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;" statement_identifier : (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;)) (expression_statement "uVar17 = uVar18 & 0xffff;" (assignment_expression "uVar17 = uVar18 & 0xffff" identifier = (binary_expression "uVar18 & 0xffff" identifier & number_literal)) ;) (if_statement "if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }" if (parenthesized_expression "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar17 = local_cc;\n      }" { (expression_statement "uVar17 = local_cc;" (assignment_expression "uVar17 = local_cc" identifier = identifier) ;) })) (expression_statement "uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);" (assignment_expression "uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,uVar17)" identifier (argument_list "(param_9,plVar6,uVar17)" ( identifier , identifier , identifier )))) ;) (goto_statement "goto LAB_002c1f79;" goto statement_identifier ;)) (case_statement "case 0x2d:" case number_literal :) (case_statement "case 0x6d:" case number_literal :) (case_statement "case 0xa5:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;" statement_identifier : (expression_statement "local_108 = (uint)*param_10;" (assignment_expression "local_108 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;)) (expression_statement "uVar18 = local_108 & 0xffff;" (assignment_expression "uVar18 = local_108 & 0xffff" identifier = (binary_expression "local_108 & 0xffff" identifier & number_literal)) ;) (if_statement "if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }" if (parenthesized_expression "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar18 = local_cc;\n      }" { (expression_statement "uVar18 = local_cc;" (assignment_expression "uVar18 = local_cc" identifier = identifier) ;) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,uVar18)" identifier (argument_list "(param_9,plVar6,uVar18)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar35 - 0x8000;" (assignment_expression "uVar36 = iVar35 - 0x8000" identifier = (binary_expression "iVar35 - 0x8000" identifier - number_literal)) ;) (if_statement "if (!bVar45 || !bVar48) goto LAB_002c1ebf;" if (parenthesized_expression "(!bVar45 || !bVar48)" ( (binary_expression "!bVar45 || !bVar48" (unary_expression "!bVar45" ! identifier) || (unary_expression "!bVar48" ! identifier)) )) (goto_statement "goto LAB_002c1ebf;" goto statement_identifier ;)) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (case_statement "case 0x2e:" case number_literal :) (case_statement "case 0x6e:" case number_literal :) (case_statement "case 0xa6:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) goto LAB_002c2030;\n      goto LAB_002c47a1;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);" statement_identifier : (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" identifier = (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) ))))) ;)) (if_statement "if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }" if (parenthesized_expression "(param_8 == (undefined8 *)0x0)" ( (binary_expression "param_8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }" { (if_statement "if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_00290940();\n          goto LAB_002c4670;\n        }" { (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002c4670;" goto statement_identifier ;) })) (expression_statement "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);" (assignment_expression "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc)" identifier = (call_expression "(**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc)" (parenthesized_expression "(**(code **)(*plVar6 + 0x160))" ( (pointer_expression "**(code **)(*plVar6 + 0x160)" * (pointer_expression "*(code **)(*plVar6 + 0x160)" * (cast_expression "(code **)(*plVar6 + 0x160)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x160)" ( (binary_expression "*plVar6 + 0x160" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) )) (argument_list "(plVar6,uVar33,1,(long)(int)local_cc)" ( identifier , identifier , number_literal , (cast_expression "(long)(int)local_cc" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }) (else_clause "else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }" else (compound_statement "{\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }" { (if_statement "if (lVar31 == 0) goto LAB_002c47a6;" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002c47a6;" goto statement_identifier ;)) (expression_statement "local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);" (assignment_expression "local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6)" identifier = (call_expression "FUN_0029b9e0(lVar31,param_8,1,plVar6)" identifier (argument_list "(lVar31,param_8,1,plVar6)" ( identifier , identifier , number_literal , identifier )))) ;) }))) (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" identifier = (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (lVar31 != 0) goto LAB_002c2030;" if (parenthesized_expression "(lVar31 != 0)" ( (binary_expression "lVar31 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002c2030;" goto statement_identifier ;)) (goto_statement "goto LAB_002c47a1;" goto statement_identifier ;)) (case_statement "case 0x2f:" case number_literal :) (case_statement "case 0x30:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1fd0;\n      goto LAB_002c1f30;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;" statement_identifier : (expression_statement "uVar18 = local_cc;" (assignment_expression "uVar18 = local_cc" identifier = identifier) ;)) (if_statement "if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar18 = (uint)*param_10;\n      }" { (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,uVar18)" identifier (argument_list "(param_9,plVar6,uVar18)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar35 - 0x7000;" (assignment_expression "uVar36 = iVar35 - 0x7000" identifier = (binary_expression "iVar35 - 0x7000" identifier - number_literal)) ;) (if_statement "if (!bVar45 || !bVar48) goto LAB_002c1fd0;" if (parenthesized_expression "(!bVar45 || !bVar48)" ( (binary_expression "!bVar45 || !bVar48" (unary_expression "!bVar45" ! identifier) || (unary_expression "!bVar48" ! identifier)) )) (goto_statement "goto LAB_002c1fd0;" goto statement_identifier ;)) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (case_statement "case 0x31:" case number_literal :) (case_statement "case 0x6f:" case number_literal :) (case_statement "case 0xa9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      uVar36 = iVar35 + 0x1000;\nLAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;\njoined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;" statement_identifier : (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;)) (expression_statement "uVar17 = uVar18 & 0xffff;" (assignment_expression "uVar17 = uVar18 & 0xffff" identifier = (binary_expression "uVar18 & 0xffff" identifier & number_literal)) ;) (if_statement "if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }" if (parenthesized_expression "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar17 = local_cc;\n      }" { (expression_statement "uVar17 = local_cc;" (assignment_expression "uVar17 = local_cc" identifier = identifier) ;) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,uVar17)" identifier (argument_list "(param_9,plVar6,uVar17)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar35 + 0x1000;" (assignment_expression "uVar36 = iVar35 + 0x1000" identifier = (binary_expression "iVar35 + 0x1000" identifier + number_literal)) ;) (labeled_statement "LAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;" statement_identifier : (expression_statement "uVar36 = uVar36 >> 0x10;" (assignment_expression "uVar36 = uVar36 >> 0x10" identifier = (binary_expression "uVar36 >> 0x10" identifier >> number_literal)) ;)) (labeled_statement "joined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;" statement_identifier : (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;))) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;" (assignment_expression "*(uint *)param_10 = uVar36 | uVar18 & 0xffff0000" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar36 | uVar18 & 0xffff0000" identifier | (binary_expression "uVar18 & 0xffff0000" identifier & number_literal))) ;) (break_statement "break;" break ;)) (case_statement "case 0x32:" case number_literal :) (case_statement "case 0x70:" case number_literal :) (case_statement "case 0xaa:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;" statement_identifier : (expression_statement "local_108 = (uint)*param_10;" (assignment_expression "local_108 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;)) (expression_statement "uVar18 = local_108 & 0xffff;" (assignment_expression "uVar18 = local_108 & 0xffff" identifier = (binary_expression "local_108 & 0xffff" identifier & number_literal)) ;) (if_statement "if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }" if (parenthesized_expression "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar18 = local_cc;\n      }" { (expression_statement "uVar18 = local_cc;" (assignment_expression "uVar18 = local_cc" identifier = identifier) ;) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,uVar18)" identifier (argument_list "(param_9,plVar6,uVar18)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar35 - 0x7000;" (assignment_expression "uVar36 = iVar35 - 0x7000" identifier = (binary_expression "iVar35 - 0x7000" identifier - number_literal)) ;) (if_statement "if (!bVar45 || !bVar48) goto LAB_002c1ebf;" if (parenthesized_expression "(!bVar45 || !bVar48)" ( (binary_expression "!bVar45 || !bVar48" (unary_expression "!bVar45" ! identifier) || (unary_expression "!bVar48" ! identifier)) )) (goto_statement "goto LAB_002c1ebf;" goto statement_identifier ;)) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (case_statement "case 0x3c:\n      local_b8 = 0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c2f96:\n      local_cc = local_b0;" statement_identifier : (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" identifier = identifier) ;)) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" { (expression_statement "uVar17 = uVar18 * 4 & 0x7ffffc;" (assignment_expression "uVar17 = uVar18 * 4 & 0x7ffffc" identifier = (binary_expression "uVar18 * 4 & 0x7ffffc" (binary_expression "uVar18 * 4" identifier * number_literal) & number_literal)) ;) (expression_statement "local_b0 = uVar17 - 0x800000;" (assignment_expression "local_b0 = uVar17 - 0x800000" identifier = (binary_expression "uVar17 - 0x800000" identifier - number_literal)) ;) (if_statement "if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }" if (parenthesized_expression "((uVar18 * 4 & 0x400000) == 0)" ( (binary_expression "(uVar18 * 4 & 0x400000) == 0" (parenthesized_expression "(uVar18 * 4 & 0x400000)" ( (binary_expression "uVar18 * 4 & 0x400000" (binary_expression "uVar18 * 4" identifier * number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar17;\n        }" { (expression_statement "local_b0 = uVar17;" (assignment_expression "local_b0 = uVar17" identifier = identifier) ;) })) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar35 - param_11 >> 2;" (assignment_expression "uVar36 = iVar35 - param_11 >> 2" identifier = (binary_expression "iVar35 - param_11 >> 2" (binary_expression "iVar35 - param_11" identifier - identifier) >> number_literal)) ;) (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (expression_statement "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;" (assignment_expression "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff" identifier ^ (binary_expression "(uVar36 ^ uVar18) & 0x1fffff" (parenthesized_expression "(uVar36 ^ uVar18)" ( (binary_expression "uVar36 ^ uVar18" identifier ^ identifier) )) & number_literal))) ;) (expression_statement "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar17 = 3;" (assignment_expression "uVar17 = 3" identifier = number_literal) ;) (if_statement "if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }" if (parenthesized_expression "((uVar32 & 3) == 0)" ( (binary_expression "(uVar32 & 3) == 0" (parenthesized_expression "(uVar32 & 3)" ( (binary_expression "uVar32 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }" { (expression_statement "uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);" (assignment_expression "uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000)" identifier = (call_expression "(uint)(0x7fffff < (iVar35 - param_11) + 0x400000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x7fffff < (iVar35 - param_11) + 0x400000)" ( (binary_expression "0x7fffff < (iVar35 - param_11) + 0x400000" number_literal < (binary_expression "(iVar35 - param_11) + 0x400000" (parenthesized_expression "(iVar35 - param_11)" ( (binary_expression "iVar35 - param_11" identifier - identifier) )) + number_literal)) )))) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x3d:\n      local_b8 = 0;\nLAB_002c304d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c304d:\n      local_cc = local_b0;" statement_identifier : (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" identifier = identifier) ;)) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" { (expression_statement "uVar17 = uVar18 * 4 & 0xffffffc;" (assignment_expression "uVar17 = uVar18 * 4 & 0xffffffc" identifier = (binary_expression "uVar18 * 4 & 0xffffffc" (binary_expression "uVar18 * 4" identifier * number_literal) & number_literal)) ;) (expression_statement "local_b0 = uVar17 + 0xf0000000;" (assignment_expression "local_b0 = uVar17 + 0xf0000000" identifier = (binary_expression "uVar17 + 0xf0000000" identifier + number_literal)) ;) (if_statement "if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }" if (parenthesized_expression "((uVar18 * 4 & 0x8000000) == 0)" ( (binary_expression "(uVar18 * 4 & 0x8000000) == 0" (parenthesized_expression "(uVar18 * 4 & 0x8000000)" ( (binary_expression "uVar18 * 4 & 0x8000000" (binary_expression "uVar18 * 4" identifier * number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar17;\n        }" { (expression_statement "local_b0 = uVar17;" (assignment_expression "local_b0 = uVar17" identifier = identifier) ;) })) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar35 - param_11 >> 2;" (assignment_expression "uVar36 = iVar35 - param_11 >> 2" identifier = (binary_expression "iVar35 - param_11 >> 2" (binary_expression "iVar35 - param_11" identifier - identifier) >> number_literal)) ;) (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (expression_statement "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;" (assignment_expression "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff" identifier ^ (binary_expression "(uVar36 ^ uVar18) & 0x3ffffff" (parenthesized_expression "(uVar36 ^ uVar18)" ( (binary_expression "uVar36 ^ uVar18" identifier ^ identifier) )) & number_literal))) ;) (expression_statement "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar17 = 3;" (assignment_expression "uVar17 = 3" identifier = number_literal) ;) (if_statement "if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }" if (parenthesized_expression "((uVar32 & 3) == 0)" ( (binary_expression "(uVar32 & 3) == 0" (parenthesized_expression "(uVar32 & 3)" ( (binary_expression "uVar32 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }" { (expression_statement "uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);" (assignment_expression "uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000)" identifier = (call_expression "(uint)(0xfffffff < (iVar35 - param_11) + 0x8000000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffff < (iVar35 - param_11) + 0x8000000)" ( (binary_expression "0xfffffff < (iVar35 - param_11) + 0x8000000" number_literal < (binary_expression "(iVar35 - param_11) + 0x8000000" (parenthesized_expression "(iVar35 - param_11)" ( (binary_expression "iVar35 - param_11" identifier - identifier) )) + number_literal)) )))) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x3e:\n      local_b8 = 0;\nLAB_002c3104:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - (param_11 & 0xfffffff8);\n      uVar36 = uVar20 >> 3;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar32 = uVar32 & 7;\njoined_r0x002c324e:\n      uVar17 = 3;\n      if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c3104:\n      local_cc = local_b0;" statement_identifier : (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" identifier = identifier) ;)) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" { (expression_statement "uVar17 = uVar18 * 8 & 0x1ffff8;" (assignment_expression "uVar17 = uVar18 * 8 & 0x1ffff8" identifier = (binary_expression "uVar18 * 8 & 0x1ffff8" (binary_expression "uVar18 * 8" identifier * number_literal) & number_literal)) ;) (expression_statement "local_b0 = uVar17 - 0x200000;" (assignment_expression "local_b0 = uVar17 - 0x200000" identifier = (binary_expression "uVar17 - 0x200000" identifier - number_literal)) ;) (if_statement "if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }" if (parenthesized_expression "((uVar18 * 8 & 0x100000) == 0)" ( (binary_expression "(uVar18 * 8 & 0x100000) == 0" (parenthesized_expression "(uVar18 * 8 & 0x100000)" ( (binary_expression "uVar18 * 8 & 0x100000" (binary_expression "uVar18 * 8" identifier * number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar17;\n        }" { (expression_statement "local_b0 = uVar17;" (assignment_expression "local_b0 = uVar17" identifier = identifier) ;) })) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar20 = iVar35 - (param_11 & 0xfffffff8);" (assignment_expression "uVar20 = iVar35 - (param_11 & 0xfffffff8)" identifier = (binary_expression "iVar35 - (param_11 & 0xfffffff8)" identifier - (parenthesized_expression "(param_11 & 0xfffffff8)" ( (binary_expression "param_11 & 0xfffffff8" identifier & number_literal) )))) ;) (expression_statement "uVar36 = uVar20 >> 3;" (assignment_expression "uVar36 = uVar20 >> 3" identifier = (binary_expression "uVar20 >> 3" identifier >> number_literal)) ;) (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (expression_statement "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;" (assignment_expression "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff" identifier ^ (binary_expression "(uVar36 ^ uVar18) & 0x3ffff" (parenthesized_expression "(uVar36 ^ uVar18)" ( (binary_expression "uVar36 ^ uVar18" identifier ^ identifier) )) & number_literal))) ;) (expression_statement "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar32 = uVar32 & 7;" (assignment_expression "uVar32 = uVar32 & 7" identifier = (binary_expression "uVar32 & 7" identifier & number_literal)) ;) (labeled_statement "joined_r0x002c324e:\n      uVar17 = 3;" statement_identifier : (expression_statement "uVar17 = 3;" (assignment_expression "uVar17 = 3" identifier = number_literal) ;)) (if_statement "if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }" if (parenthesized_expression "(uVar32 == 0)" ( (binary_expression "uVar32 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }" { (expression_statement "uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);" (assignment_expression "uVar17 = (uint)(0x1fffff < uVar20 + 0x100000)" identifier = (call_expression "(uint)(0x1fffff < uVar20 + 0x100000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x1fffff < uVar20 + 0x100000)" ( (binary_expression "0x1fffff < uVar20 + 0x100000" number_literal < (binary_expression "uVar20 + 0x100000" identifier + number_literal)) )))) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x3f:\n      local_b8 = 0;\nLAB_002c31c0:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - param_11;\n      uVar36 = uVar20 >> 2;\n      if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }\nLAB_002c1f30:\n      uVar17 = 0;\n      *(uint *)param_1 = uVar36;\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c31c0:\n      local_cc = local_b0;" statement_identifier : (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" identifier = identifier) ;)) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" { (expression_statement "uVar17 = uVar18 * 4 & 0x1ffffc;" (assignment_expression "uVar17 = uVar18 * 4 & 0x1ffffc" identifier = (binary_expression "uVar18 * 4 & 0x1ffffc" (binary_expression "uVar18 * 4" identifier * number_literal) & number_literal)) ;) (expression_statement "local_b0 = uVar17 - 0x200000;" (assignment_expression "local_b0 = uVar17 - 0x200000" identifier = (binary_expression "uVar17 - 0x200000" identifier - number_literal)) ;) (if_statement "if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }" if (parenthesized_expression "((uVar18 * 4 & 0x100000) == 0)" ( (binary_expression "(uVar18 * 4 & 0x100000) == 0" (parenthesized_expression "(uVar18 * 4 & 0x100000)" ( (binary_expression "uVar18 * 4 & 0x100000" (binary_expression "uVar18 * 4" identifier * number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar17;\n        }" { (expression_statement "local_b0 = uVar17;" (assignment_expression "local_b0 = uVar17" identifier = identifier) ;) })) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar20 = iVar35 - param_11;" (assignment_expression "uVar20 = iVar35 - param_11" identifier = (binary_expression "iVar35 - param_11" identifier - identifier)) ;) (expression_statement "uVar36 = uVar20 >> 2;" (assignment_expression "uVar36 = uVar20 >> 2" identifier = (binary_expression "uVar20 >> 2" identifier >> number_literal)) ;) (if_statement "if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }" if (parenthesized_expression "(!bVar45 || !bVar48)" ( (binary_expression "!bVar45 || !bVar48" (unary_expression "!bVar45" ! identifier) || (unary_expression "!bVar48" ! identifier)) )) (compound_statement "{\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }" { (expression_statement "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;" (assignment_expression "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff" identifier ^ (binary_expression "(uVar36 ^ uVar18) & 0x7ffff" (parenthesized_expression "(uVar36 ^ uVar18)" ( (binary_expression "uVar36 ^ uVar18" identifier ^ identifier) )) & number_literal))) ;) (expression_statement "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar32 = uVar32 & 3;" (assignment_expression "uVar32 = uVar32 & 3" identifier = (binary_expression "uVar32 & 3" identifier & number_literal)) ;) (goto_statement "goto joined_r0x002c324e;" goto statement_identifier ;) })) (labeled_statement "LAB_002c1f30:\n      uVar17 = 0;" statement_identifier : (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;)) (expression_statement "*(uint *)param_1 = uVar36;" (assignment_expression "*(uint *)param_1 = uVar36" (pointer_expression "*(uint *)param_1" * (cast_expression "(uint *)param_1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0x40:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }" statement_identifier : (if_statement "if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }" if (parenthesized_expression "(param_3 == 4)" ( (binary_expression "param_3 == 4" identifier == number_literal) )) (compound_statement "{\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }" { (expression_statement "uVar32 = *param_10;" (assignment_expression "uVar32 = *param_10" identifier = (pointer_expression "*param_10" * identifier)) ;) (expression_statement "uVar18 = (uint)uVar32 << 0x10;" (assignment_expression "uVar18 = (uint)uVar32 << 0x10" identifier = (binary_expression "(uint)uVar32 << 0x10" (cast_expression "(uint)uVar32" ( (type_descriptor "uint" type_identifier) ) identifier) << number_literal)) ;) (if_statement "if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }" if (parenthesized_expression "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar18 = local_cc;\n        }" { (expression_statement "uVar18 = local_cc;" (assignment_expression "uVar18 = local_cc" identifier = identifier) ;) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,uVar18)" identifier (argument_list "(param_9,plVar6,uVar18)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;" (assignment_expression "uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10" identifier = (binary_expression "(iVar35 - param_11) + 0x8000 >> 0x10" (binary_expression "(iVar35 - param_11) + 0x8000" (parenthesized_expression "(iVar35 - param_11)" ( (binary_expression "iVar35 - param_11" identifier - identifier) )) + number_literal) >> number_literal)) ;) (if_statement "if ((bool)bVar14) goto LAB_002c3c10;" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (goto_statement "goto LAB_002c3c10;" goto statement_identifier ;)) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;" (assignment_expression "*(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(uint)uVar32 & 0xffff0000 | uVar36" (binary_expression "(uint)uVar32 & 0xffff0000" (cast_expression "(uint)uVar32" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) | identifier)) ;) }) (else_clause "else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }" else (compound_statement "{\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }" { (if_statement "if (param_3 != 9) goto LAB_002c4653;" if (parenthesized_expression "(param_3 != 9)" ( (binary_expression "param_3 != 9" identifier != number_literal) )) (goto_statement "goto LAB_002c4653;" goto statement_identifier ;)) (expression_statement "lVar31 = FUN_0049cb70(0x40);" (assignment_expression "lVar31 = FUN_0049cb70(0x40)" identifier = (call_expression "FUN_0049cb70(0x40)" identifier (argument_list "(0x40)" ( number_literal )))) ;) (expression_statement "*(undefined1 *)(lVar31 + 0x3c) = 0;" (assignment_expression "*(undefined1 *)(lVar31 + 0x3c) = 0" (pointer_expression "*(undefined1 *)(lVar31 + 0x3c)" * (cast_expression "(undefined1 *)(lVar31 + 0x3c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x3c)" ( (binary_expression "lVar31 + 0x3c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(lVar31 + 0x2c) = 0;" (assignment_expression "*(undefined4 *)(lVar31 + 0x2c) = 0" (pointer_expression "*(undefined4 *)(lVar31 + 0x2c)" * (cast_expression "(undefined4 *)(lVar31 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x2c)" ( (binary_expression "lVar31 + 0x2c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(ulong **)(lVar31 + 0x10) = param_10;" (assignment_expression "*(ulong **)(lVar31 + 0x10) = param_10" (pointer_expression "*(ulong **)(lVar31 + 0x10)" * (cast_expression "(ulong **)(lVar31 + 0x10)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar31 + 0x10)" ( (binary_expression "lVar31 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(long **)(lVar31 + 0x18) = plVar6;" (assignment_expression "*(long **)(lVar31 + 0x18) = plVar6" (pointer_expression "*(long **)(lVar31 + 0x18)" * (cast_expression "(long **)(lVar31 + 0x18)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar31 + 0x18)" ( (binary_expression "lVar31 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 **)(lVar31 + 0x20) = param_9;" (assignment_expression "*(undefined8 **)(lVar31 + 0x20) = param_9" (pointer_expression "*(undefined8 **)(lVar31 + 0x20)" * (cast_expression "(undefined8 **)(lVar31 + 0x20)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar31 + 0x20)" ( (binary_expression "lVar31 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(lVar31 + 0x28) = local_cc;" (assignment_expression "*(uint *)(lVar31 + 0x28) = local_cc" (pointer_expression "*(uint *)(lVar31 + 0x28)" * (cast_expression "(uint *)(lVar31 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x28)" ( (binary_expression "lVar31 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(lVar31 + 0x30) = uVar33;" (assignment_expression "*(uint *)(lVar31 + 0x30) = uVar33" (pointer_expression "*(uint *)(lVar31 + 0x30)" * (cast_expression "(uint *)(lVar31 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x30)" ( (binary_expression "lVar31 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char *)(lVar31 + 0x34) = (char)local_b8;" (assignment_expression "*(char *)(lVar31 + 0x34) = (char)local_b8" (pointer_expression "*(char *)(lVar31 + 0x34)" * (cast_expression "(char *)(lVar31 + 0x34)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x34)" ( (binary_expression "lVar31 + 0x34" identifier + number_literal) )))) = (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "*(uint *)(lVar31 + 0x38) = param_11;" (assignment_expression "*(uint *)(lVar31 + 0x38) = param_11" (pointer_expression "*(uint *)(lVar31 + 0x38)" * (cast_expression "(uint *)(lVar31 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x38)" ( (binary_expression "lVar31 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_004a11e0(lVar31,&DAT_0067daa0);" (call_expression "FUN_004a11e0(lVar31,&DAT_0067daa0)" identifier (argument_list "(lVar31,&DAT_0067daa0)" ( identifier , (pointer_expression "&DAT_0067daa0" & identifier) ))) ;) (expression_statement "_DAT_0067dab0 = _DAT_0067dab0 + 1;" (assignment_expression "_DAT_0067dab0 = _DAT_0067dab0 + 1" identifier = (binary_expression "_DAT_0067dab0 + 1" identifier + number_literal)) ;) })))) (break_statement "break;" break ;)) (case_statement "case 0x41:\n      local_b8 = 0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }\n      if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c330f:\n      local_cc = local_b0;" statement_identifier : (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" identifier = identifier) ;)) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }" { (expression_statement "local_b0 = (uVar18 & 0xffff) - 0x10000;" (assignment_expression "local_b0 = (uVar18 & 0xffff) - 0x10000" identifier = (binary_expression "(uVar18 & 0xffff) - 0x10000" (parenthesized_expression "(uVar18 & 0xffff)" ( (binary_expression "uVar18 & 0xffff" identifier & number_literal) )) - number_literal)) ;) (if_statement "if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }" if (parenthesized_expression "((uVar18 & 0x8000) == 0)" ( (binary_expression "(uVar18 & 0x8000) == 0" (parenthesized_expression "(uVar18 & 0x8000)" ( (binary_expression "uVar18 & 0x8000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar18 & 0xffff;\n        }" { (expression_statement "local_b0 = uVar18 & 0xffff;" (assignment_expression "local_b0 = uVar18 & 0xffff" identifier = (binary_expression "uVar18 & 0xffff" identifier & number_literal)) ;) })) })) (if_statement "if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }" if (parenthesized_expression "((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))" ( (binary_expression "(param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0)" (parenthesized_expression "(param_3 == 9)" ( (binary_expression "param_3 == 9" identifier == number_literal) )) && (parenthesized_expression "(local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0)" ( (comma_expression "local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0" (assignment_expression "local_98 = DAT_0067daa0" identifier = identifier) , (binary_expression "(undefined8 **)DAT_0067daa0 != &DAT_0067daa0" (cast_expression "(undefined8 **)DAT_0067daa0" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != (pointer_expression "&DAT_0067daa0" & identifier))) ))) )) (compound_statement "{\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }" { (do_statement "do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);" do (compound_statement "{\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        }" { (if_statement "if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }" if (parenthesized_expression "(uVar33 == *(uint *)(local_98 + 6))" ( (binary_expression "uVar33 == *(uint *)(local_98 + 6)" identifier == (pointer_expression "*(uint *)(local_98 + 6)" * (cast_expression "(uint *)(local_98 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 6)" ( (binary_expression "local_98 + 6" identifier + number_literal) ))))) )) (compound_statement "{\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }" { (expression_statement "puVar9 = (uint *)local_98[2];" (assignment_expression "puVar9 = (uint *)local_98[2]" identifier = (cast_expression "(uint *)local_98[2]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_98[2]" identifier [ number_literal ]))) ;) (expression_statement "iVar35 = *(int *)(local_98 + 5);" (assignment_expression "iVar35 = *(int *)(local_98 + 5)" identifier = (pointer_expression "*(int *)(local_98 + 5)" * (cast_expression "(int *)(local_98 + 5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 5)" ( (binary_expression "local_98 + 5" identifier + number_literal) ))))) ;) (expression_statement "uVar17 = *puVar9;" (assignment_expression "uVar17 = *puVar9" identifier = (pointer_expression "*puVar9" * identifier)) ;) (if_statement "if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }" if (parenthesized_expression "(*(char *)((long)local_98 + 0x34) != '\0')" ( (binary_expression "*(char *)((long)local_98 + 0x34) != '\0'" (pointer_expression "*(char *)((long)local_98 + 0x34)" * (cast_expression "(char *)((long)local_98 + 0x34)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_98 + 0x34)" ( (binary_expression "(long)local_98 + 0x34" (cast_expression "(long)local_98" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }" { (expression_statement "iVar35 = local_b0 + uVar17 * 0x10000;" (assignment_expression "iVar35 = local_b0 + uVar17 * 0x10000" identifier = (binary_expression "local_b0 + uVar17 * 0x10000" identifier + (binary_expression "uVar17 * 0x10000" identifier * number_literal))) ;) })) (expression_statement "iVar21 = *(int *)(local_98 + 7);" (assignment_expression "iVar21 = *(int *)(local_98 + 7)" identifier = (pointer_expression "*(int *)(local_98 + 7)" * (cast_expression "(int *)(local_98 + 7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 7)" ( (binary_expression "local_98 + 7" identifier + number_literal) ))))) ;) (expression_statement "iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);" (assignment_expression "iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35)" identifier = (call_expression "FUN_001a5ac0(local_98[4],local_98[3],iVar35)" identifier (argument_list "(local_98[4],local_98[3],iVar35)" ( (subscript_expression "local_98[4]" identifier [ number_literal ]) , (subscript_expression "local_98[3]" identifier [ number_literal ]) , identifier )))) ;) (expression_statement "uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;" (assignment_expression "uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10" identifier = (binary_expression "(uint)((0x8000 - iVar21) + iVar35) >> 0x10" (call_expression "(uint)((0x8000 - iVar21) + iVar35)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((0x8000 - iVar21) + iVar35)" ( (binary_expression "(0x8000 - iVar21) + iVar35" (parenthesized_expression "(0x8000 - iVar21)" ( (binary_expression "0x8000 - iVar21" number_literal - identifier) )) + identifier) ))) >> number_literal)) ;) (if_statement "if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }" if (parenthesized_expression "(bVar45 && bVar48)" ( (binary_expression "bVar45 && bVar48" identifier && identifier) )) (compound_statement "{\n              *(uint *)param_1 = uVar36;\n            }" { (expression_statement "*(uint *)param_1 = uVar36;" (assignment_expression "*(uint *)param_1 = uVar36" (pointer_expression "*(uint *)param_1" * (cast_expression "(uint *)param_1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (else_clause "else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }" else (compound_statement "{\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }" { (expression_statement "*puVar9 = uVar36 | uVar17 & 0xffff0000;" (assignment_expression "*puVar9 = uVar36 | uVar17 & 0xffff0000" (pointer_expression "*puVar9" * identifier) = (binary_expression "uVar36 | uVar17 & 0xffff0000" identifier | (binary_expression "uVar17 & 0xffff0000" identifier & number_literal))) ;) }))) (expression_statement "puVar10 = (undefined8 *)*local_98;" (assignment_expression "puVar10 = (undefined8 *)*local_98" identifier = (cast_expression "(undefined8 *)*local_98" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_98" * identifier))) ;) (expression_statement "_DAT_0067dab0 = _DAT_0067dab0 + -1;" (assignment_expression "_DAT_0067dab0 = _DAT_0067dab0 + -1" identifier = (binary_expression "_DAT_0067dab0 + -1" identifier + number_literal)) ;) (expression_statement "FUN_004a1200(local_98);" (call_expression "FUN_004a1200(local_98)" identifier (argument_list "(local_98)" ( identifier ))) ;) (expression_statement "FUN_0049e340(local_98);" (call_expression "FUN_0049e340(local_98)" identifier (argument_list "(local_98)" ( identifier ))) ;) (expression_statement "local_98 = puVar10;" (assignment_expression "local_98 = puVar10" identifier = identifier) ;) }) (else_clause "else {\n            local_98 = (undefined8 *)*local_98;\n          }" else (compound_statement "{\n            local_98 = (undefined8 *)*local_98;\n          }" { (expression_statement "local_98 = (undefined8 *)*local_98;" (assignment_expression "local_98 = (undefined8 *)*local_98" identifier = (cast_expression "(undefined8 *)*local_98" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_98" * identifier))) ;) }))) }) while (parenthesized_expression "((undefined8 **)local_98 != &DAT_0067daa0)" ( (binary_expression "(undefined8 **)local_98 != &DAT_0067daa0" (cast_expression "(undefined8 **)local_98" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != (pointer_expression "&DAT_0067daa0" & identifier)) )) ;) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar35 - param_11;" (assignment_expression "uVar36 = iVar35 - param_11" identifier = (binary_expression "iVar35 - param_11" identifier - identifier)) ;) (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;" (assignment_expression "*(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(uVar36 ^ uVar18) & 0xffff ^ uVar18" (binary_expression "(uVar36 ^ uVar18) & 0xffff" (parenthesized_expression "(uVar36 ^ uVar18)" ( (binary_expression "uVar36 ^ uVar18" identifier ^ identifier) )) & number_literal) ^ identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x8b:\n      local_b8 = 0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c3385:\n      local_cc = local_b0;" statement_identifier : (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" identifier = identifier) ;)) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }" { (expression_statement "uVar17 = uVar18 * 2 & 0xff;" (assignment_expression "uVar17 = uVar18 * 2 & 0xff" identifier = (binary_expression "uVar18 * 2 & 0xff" (binary_expression "uVar18 * 2" identifier * number_literal) & number_literal)) ;) (expression_statement "local_b0 = uVar17 - 0x100;" (assignment_expression "local_b0 = uVar17 - 0x100" identifier = (binary_expression "uVar17 - 0x100" identifier - number_literal)) ;) (if_statement "if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }" if (parenthesized_expression "((uVar18 * 2 & 0x80) == 0)" ( (binary_expression "(uVar18 * 2 & 0x80) == 0" (parenthesized_expression "(uVar18 * 2 & 0x80)" ( (binary_expression "uVar18 * 2 & 0x80" (binary_expression "uVar18 * 2" identifier * number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar17;\n        }" { (expression_statement "local_b0 = uVar17;" (assignment_expression "local_b0 = uVar17" identifier = identifier) ;) })) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar35 - param_11 >> 1;" (assignment_expression "uVar36 = iVar35 - param_11 >> 1" identifier = (binary_expression "iVar35 - param_11 >> 1" (binary_expression "iVar35 - param_11" identifier - identifier) >> number_literal)) ;) (if_statement "if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (compound_statement "{\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }" { (labeled_statement "LAB_002c3c10:\n        uVar17 = 0;" statement_identifier : (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;)) (expression_statement "*(uint *)param_1 = uVar36;" (assignment_expression "*(uint *)param_1 = uVar36" (pointer_expression "*(uint *)param_1" * (cast_expression "(uint *)param_1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (else_clause "else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }" else (compound_statement "{\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }" { (expression_statement "*(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;" (assignment_expression "*(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(uVar36 ^ uVar18) & 0x7f ^ uVar18" (binary_expression "(uVar36 ^ uVar18) & 0x7f" (parenthesized_expression "(uVar36 ^ uVar18)" ( (binary_expression "uVar36 ^ uVar18" identifier ^ identifier) )) & number_literal) ^ identifier)) ;) (expression_statement "uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);" (assignment_expression "uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80)" identifier = (call_expression "(uint)(0xff < (iVar35 - param_11) + 0x80)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xff < (iVar35 - param_11) + 0x80)" ( (binary_expression "0xff < (iVar35 - param_11) + 0x80" number_literal < (binary_expression "(iVar35 - param_11) + 0x80" (parenthesized_expression "(iVar35 - param_11)" ( (binary_expression "iVar35 - param_11" identifier - identifier) )) + number_literal)) )))) ;) }))) (break_statement "break;" break ;)) (case_statement "case 0x8c:\n      local_b8 = 0;\nLAB_002c328d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;\n      uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c328d:\n      local_cc = local_b0;" statement_identifier : (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" identifier = identifier) ;)) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }" { (expression_statement "uVar17 = uVar18 * 2 & 0x7fe;" (assignment_expression "uVar17 = uVar18 * 2 & 0x7fe" identifier = (binary_expression "uVar18 * 2 & 0x7fe" (binary_expression "uVar18 * 2" identifier * number_literal) & number_literal)) ;) (expression_statement "local_b0 = uVar17 - 0x800;" (assignment_expression "local_b0 = uVar17 - 0x800" identifier = (binary_expression "uVar17 - 0x800" identifier - number_literal)) ;) (if_statement "if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }" if (parenthesized_expression "((uVar18 * 2 & 0x400) == 0)" ( (binary_expression "(uVar18 * 2 & 0x400) == 0" (parenthesized_expression "(uVar18 * 2 & 0x400)" ( (binary_expression "uVar18 * 2 & 0x400" (binary_expression "uVar18 * 2" identifier * number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar17;\n        }" { (expression_statement "local_b0 = uVar17;" (assignment_expression "local_b0 = uVar17" identifier = identifier) ;) })) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar35 - param_11 >> 1;" (assignment_expression "uVar36 = iVar35 - param_11 >> 1" identifier = (binary_expression "iVar35 - param_11 >> 1" (binary_expression "iVar35 - param_11" identifier - identifier) >> number_literal)) ;) (if_statement "if ((bool)bVar14) goto LAB_002c3c10;" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (goto_statement "goto LAB_002c3c10;" goto statement_identifier ;)) (expression_statement "*(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;" (assignment_expression "*(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(uVar36 ^ uVar18) & 0x3ff ^ uVar18" (binary_expression "(uVar36 ^ uVar18) & 0x3ff" (parenthesized_expression "(uVar36 ^ uVar18)" ( (binary_expression "uVar36 ^ uVar18" identifier ^ identifier) )) & number_literal) ^ identifier)) ;) (expression_statement "uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);" (assignment_expression "uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400)" identifier = (call_expression "(uint)(0x7ff < (iVar35 - param_11) + 0x400)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x7ff < (iVar35 - param_11) + 0x400)" ( (binary_expression "0x7ff < (iVar35 - param_11) + 0x400" number_literal < (binary_expression "(iVar35 - param_11) + 0x400" (parenthesized_expression "(iVar35 - param_11)" ( (binary_expression "iVar35 - param_11" identifier - identifier) )) + number_literal)) )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x8d:\n      local_b8 = 0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c33fc:\n      local_cc = local_b0;" statement_identifier : (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" identifier = identifier) ;)) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" { (expression_statement "uVar17 = uVar18 * 2 & 0x1fffe;" (assignment_expression "uVar17 = uVar18 * 2 & 0x1fffe" identifier = (binary_expression "uVar18 * 2 & 0x1fffe" (binary_expression "uVar18 * 2" identifier * number_literal) & number_literal)) ;) (expression_statement "local_b0 = uVar17 - 0x20000;" (assignment_expression "local_b0 = uVar17 - 0x20000" identifier = (binary_expression "uVar17 - 0x20000" identifier - number_literal)) ;) (if_statement "if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }" if (parenthesized_expression "((uVar18 * 2 & 0x10000) == 0)" ( (binary_expression "(uVar18 * 2 & 0x10000) == 0" (parenthesized_expression "(uVar18 * 2 & 0x10000)" ( (binary_expression "uVar18 * 2 & 0x10000" (binary_expression "uVar18 * 2" identifier * number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar17;\n        }" { (expression_statement "local_b0 = uVar17;" (assignment_expression "local_b0 = uVar17" identifier = identifier) ;) })) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar35 - param_11 >> 1;" (assignment_expression "uVar36 = iVar35 - param_11 >> 1" identifier = (binary_expression "iVar35 - param_11 >> 1" (binary_expression "iVar35 - param_11" identifier - identifier) >> number_literal)) ;) (if_statement "if ((bool)bVar14) goto LAB_002c3c10;" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (goto_statement "goto LAB_002c3c10;" goto statement_identifier ;)) (expression_statement "*(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;" (assignment_expression "*(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(uVar36 ^ uVar18) & 0xffff ^ uVar18" (binary_expression "(uVar36 ^ uVar18) & 0xffff" (parenthesized_expression "(uVar36 ^ uVar18)" ( (binary_expression "uVar36 ^ uVar18" identifier ^ identifier) )) & number_literal) ^ identifier)) ;) (expression_statement "uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);" (assignment_expression "uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000)" identifier = (call_expression "(uint)(0x1ffff < (iVar35 - param_11) + 0x10000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x1ffff < (iVar35 - param_11) + 0x10000)" ( (binary_expression "0x1ffff < (iVar35 - param_11) + 0x10000" number_literal < (binary_expression "(iVar35 - param_11) + 0x10000" (parenthesized_expression "(iVar35 - param_11)" ( (binary_expression "iVar35 - param_11" identifier - identifier) )) + number_literal)) )))) ;) (break_statement "break;" break ;)) (case_statement "case 0xf8:\n      local_b8 = 0;\nLAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\njoined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;\nLAB_002c1fd0:\n      puVar34 = param_10;\nLAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;\nLAB_002c1fd6:\n      uVar17 = 0;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" statement_identifier : (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;)) (expression_statement "uVar36 = iVar35 - param_11;" (assignment_expression "uVar36 = iVar35 - param_11" identifier = (binary_expression "iVar35 - param_11" identifier - identifier)) ;) (labeled_statement "joined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;" statement_identifier : (if_statement "if (bVar45 && bVar48) goto LAB_002c1f30;" if (parenthesized_expression "(bVar45 && bVar48)" ( (binary_expression "bVar45 && bVar48" identifier && identifier) )) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;))) (labeled_statement "LAB_002c1fd0:\n      puVar34 = param_10;" statement_identifier : (expression_statement "puVar34 = param_10;" (assignment_expression "puVar34 = param_10" identifier = identifier) ;)) (labeled_statement "LAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;" statement_identifier : (expression_statement "*(uint *)puVar34 = uVar36;" (assignment_expression "*(uint *)puVar34 = uVar36" (pointer_expression "*(uint *)puVar34" * (cast_expression "(uint *)puVar34" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;)) (labeled_statement "LAB_002c1fd6:\n      uVar17 = 0;" statement_identifier : (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;))) })) (labeled_statement "LAB_002c1e60:\n    unaff_R13 = unaff_R13 + 1;" statement_identifier : (expression_statement "unaff_R13 = unaff_R13 + 1;" (assignment_expression "unaff_R13 = unaff_R13 + 1" identifier = (binary_expression "unaff_R13 + 1" identifier + number_literal)) ;)) (if_statement "if (local_d8 == unaff_R13) break;" if (parenthesized_expression "(local_d8 == unaff_R13)" ( (binary_expression "local_d8 == unaff_R13" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar18 = *unaff_R13;" (assignment_expression "uVar18 = *unaff_R13" identifier = (pointer_expression "*unaff_R13" * identifier)) ;) })) (expression_statement "local_c8 = &local_78;" (assignment_expression "local_c8 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;) (expression_statement "uVar18 = uVar44 - 0x85;" (assignment_expression "uVar18 = uVar44 - 0x85" identifier = (binary_expression "uVar44 - 0x85" identifier - number_literal)) ;) (if_statement "if (local_f0 < 0xd) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    if (uVar18 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)) {\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(ushort *)((long)param_10 + 2) = (ushort)uVar36;\n    *(ushort *)param_10 = uVar30;\n  }\n  else if (((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)) &&\n          (1 < uVar44 - 0x8b)) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    goto LAB_002c19bf;\n  }" if (parenthesized_expression "(local_f0 < 0xd)" ( (binary_expression "local_f0 < 0xd" identifier < number_literal) )) (compound_statement "{\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    if (uVar18 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)) {\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(ushort *)((long)param_10 + 2) = (ushort)uVar36;\n    *(ushort *)param_10 = uVar30;\n  }" { (expression_statement "uVar36 = (uint)*param_10;" (assignment_expression "uVar36 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "uVar30 = (ushort)(uVar36 >> 0x10);" (assignment_expression "uVar30 = (ushort)(uVar36 >> 0x10)" identifier = (call_expression "(ushort)(uVar36 >> 0x10)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar36 >> 0x10)" ( (binary_expression "uVar36 >> 0x10" identifier >> number_literal) )))) ;) (if_statement "if (uVar18 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)) {\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }" if (parenthesized_expression "(uVar18 < 0x29)" ( (binary_expression "uVar18 < 0x29" identifier < number_literal) )) (compound_statement "{\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }\n    }" { (if_statement "if ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }" if (parenthesized_expression "((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0)" ( (binary_expression "(0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0" (parenthesized_expression "(0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1)" ( (binary_expression "0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1" (binary_expression "0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f)" number_literal >> (parenthesized_expression "((ulong)uVar18 & 0x3f)" ( (binary_expression "(ulong)uVar18 & 0x3f" (cast_expression "(ulong)uVar18" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) ))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }" { (labeled_statement "LAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;" statement_identifier : (expression_statement "uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;" (assignment_expression "uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f" identifier = (binary_expression "(ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f" (binary_expression "(ushort)uVar36 & 0x7e0 | uVar30 & 0xf800" (binary_expression "(ushort)uVar36 & 0x7e0" (cast_expression "(ushort)uVar36" ( (type_descriptor "ushort" type_identifier) ) identifier) & number_literal) | (binary_expression "uVar30 & 0xf800" identifier & number_literal)) | (binary_expression "(ushort)(uVar36 >> 0xb) & 0x1f" (call_expression "(ushort)(uVar36 >> 0xb)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar36 >> 0xb)" ( (binary_expression "uVar36 >> 0xb" identifier >> number_literal) ))) & number_literal))) ;)) (expression_statement "uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;" (assignment_expression "uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0" identifier = (binary_expression "uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0" (binary_expression "uVar36 & 0x1f" identifier & number_literal) | (binary_expression "uVar36 >> 0xb & 0xffffffe0" (binary_expression "uVar36 >> 0xb" identifier >> number_literal) & number_literal))) ;) })) }) (else_clause "else if (((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)) {\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }" else (if_statement "if (((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)) {\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }" if (parenthesized_expression "(((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100))" ( (binary_expression "((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)" (parenthesized_expression "((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4)" ( (binary_expression "(uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4" (parenthesized_expression "(uVar44 == 0x85 || uVar44 == 100)" ( (binary_expression "uVar44 == 0x85 || uVar44 == 100" (binary_expression "uVar44 == 0x85" identifier == number_literal) || (binary_expression "uVar44 == 100" identifier == number_literal)) )) || (binary_expression "uVar44 == 4" identifier == number_literal)) )) || (parenthesized_expression "(uVar44 != 100)" ( (binary_expression "uVar44 != 100" identifier != number_literal) ))) )) (compound_statement "{\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }" { (if_statement "if (uVar44 != 100) goto LAB_002c1c8c;" if (parenthesized_expression "(uVar44 != 100)" ( (binary_expression "uVar44 != 100" identifier != number_literal) )) (goto_statement "goto LAB_002c1c8c;" goto statement_identifier ;)) (expression_statement "uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;" (assignment_expression "uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f" identifier = (binary_expression "uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f" (binary_expression "uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0" (binary_expression "uVar30 & 0xfc00" identifier & number_literal) | (binary_expression "(ushort)(uVar36 >> 0xb) & 0x3e0" (call_expression "(ushort)(uVar36 >> 0xb)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar36 >> 0xb)" ( (binary_expression "uVar36 >> 0xb" identifier >> number_literal) ))) & number_literal)) | (binary_expression "uVar30 >> 5 & 0x1f" (binary_expression "uVar30 >> 5" identifier >> number_literal) & number_literal))) ;) })))) (labeled_statement "LAB_002c19bf:\n    *(ushort *)((long)param_10 + 2) = (ushort)uVar36;" statement_identifier : (expression_statement "*(ushort *)((long)param_10 + 2) = (ushort)uVar36;" (assignment_expression "*(ushort *)((long)param_10 + 2) = (ushort)uVar36" (pointer_expression "*(ushort *)((long)param_10 + 2)" * (cast_expression "(ushort *)((long)param_10 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_10 + 2)" ( (binary_expression "(long)param_10 + 2" (cast_expression "(long)param_10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (cast_expression "(ushort)uVar36" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;)) (expression_statement "*(ushort *)param_10 = uVar30;" (assignment_expression "*(ushort *)param_10 = uVar30" (pointer_expression "*(ushort *)param_10" * (cast_expression "(ushort *)param_10" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (else_clause "else if (((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)) &&\n          (1 < uVar44 - 0x8b)) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    goto LAB_002c19bf;\n  }" else (if_statement "if (((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)) &&\n          (1 < uVar44 - 0x8b)) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    goto LAB_002c19bf;\n  }" if (parenthesized_expression "(((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)) &&\n          (1 < uVar44 - 0x8b))" ( (binary_expression "((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)) &&\n          (1 < uVar44 - 0x8b)" (parenthesized_expression "((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0))" ( (binary_expression "(uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)" (parenthesized_expression "(uVar18 < 0x29)" ( (binary_expression "uVar18 < 0x29" identifier < number_literal) )) && (parenthesized_expression "((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)" ( (binary_expression "(0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0" (parenthesized_expression "(0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1)" ( (binary_expression "0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1" (binary_expression "0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f)" number_literal >> (parenthesized_expression "((ulong)uVar18 & 0x3f)" ( (binary_expression "(ulong)uVar18 & 0x3f" (cast_expression "(ulong)uVar18" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) ))) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "(1 < uVar44 - 0x8b)" ( (binary_expression "1 < uVar44 - 0x8b" number_literal < (binary_expression "uVar44 - 0x8b" identifier - number_literal)) ))) )) (compound_statement "{\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    goto LAB_002c19bf;\n  }" { (expression_statement "uVar36 = (uint)*param_10;" (assignment_expression "uVar36 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "uVar30 = (ushort)(uVar36 >> 0x10);" (assignment_expression "uVar30 = (ushort)(uVar36 >> 0x10)" identifier = (call_expression "(ushort)(uVar36 >> 0x10)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar36 >> 0x10)" ( (binary_expression "uVar36 >> 0x10" identifier >> number_literal) )))) ;) (goto_statement "goto LAB_002c19bf;" goto statement_identifier ;) })))) (if_statement "if (uVar17 == 1) {\n    if (param_8 == (undefined8 *)0x0) {\n      lVar31 = plVar6[1];\n      uVar22 = gettext("relocation overflow: %u against local symbol %u in %s");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31);\n    }\n    else {\n      if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }\n      if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    /* try { // try from 002c2bde to 002c2be2 has its CatchHandler @ 002c47b3 */\n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    /* try { // try from 002c1a5e to 002c1a62 has its CatchHandler @ 002c47ab */\n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      FUN_0049e340();\n    }\n  }\n  else if (uVar17 != 0) {\n    if (uVar17 == 2) {\n      pcVar39 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (uVar17 != 3) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }\n    uVar22 = gettext(pcVar39);\n    FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n  }" if (parenthesized_expression "(uVar17 == 1)" ( (binary_expression "uVar17 == 1" identifier == number_literal) )) (compound_statement "{\n    if (param_8 == (undefined8 *)0x0) {\n      lVar31 = plVar6[1];\n      uVar22 = gettext("relocation overflow: %u against local symbol %u in %s");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31);\n    }\n    else {\n      if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }\n      if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    /* try { // try from 002c2bde to 002c2be2 has its CatchHandler @ 002c47b3 */\n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    /* try { // try from 002c1a5e to 002c1a62 has its CatchHandler @ 002c47ab */\n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      FUN_0049e340();\n    }\n  }" { (if_statement "if (param_8 == (undefined8 *)0x0) {\n      lVar31 = plVar6[1];\n      uVar22 = gettext("relocation overflow: %u against local symbol %u in %s");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31);\n    }\n    else {\n      if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }\n      if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    /* try { // try from 002c2bde to 002c2be2 has its CatchHandler @ 002c47b3 */\n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    /* try { // try from 002c1a5e to 002c1a62 has its CatchHandler @ 002c47ab */\n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      FUN_0049e340();\n    }" if (parenthesized_expression "(param_8 == (undefined8 *)0x0)" ( (binary_expression "param_8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      lVar31 = plVar6[1];\n      uVar22 = gettext("relocation overflow: %u against local symbol %u in %s");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31);\n    }" { (expression_statement "lVar31 = plVar6[1];" (assignment_expression "lVar31 = plVar6[1]" identifier = (subscript_expression "plVar6[1]" identifier [ number_literal ])) ;) (expression_statement "uVar22 = gettext("relocation overflow: %u against local symbol %u in %s");" (assignment_expression "uVar22 = gettext("relocation overflow: %u against local symbol %u in %s")" identifier = (call_expression "gettext("relocation overflow: %u against local symbol %u in %s")" identifier (argument_list "("relocation overflow: %u against local symbol %u in %s")" ( (string_literal ""relocation overflow: %u against local symbol %u in %s"" " string_content ") )))) ;) (expression_statement "FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31);" (call_expression "FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31)" identifier (argument_list "(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n      if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }\n      if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    /* try { // try from 002c2bde to 002c2be2 has its CatchHandler @ 002c47b3 */\n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    /* try { // try from 002c1a5e to 002c1a62 has its CatchHandler @ 002c47ab */\n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      FUN_0049e340();\n    }" else (compound_statement "{\n      if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }\n      if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    /* try { // try from 002c2bde to 002c2be2 has its CatchHandler @ 002c47b3 */\n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    /* try { // try from 002c1a5e to 002c1a62 has its CatchHandler @ 002c47ab */\n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      FUN_0049e340();\n    }" { (if_statement "if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }" if (parenthesized_expression "((*(byte *)((long)param_8 + 0x3a) & 7) == 0)" ( (binary_expression "(*(byte *)((long)param_8 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)((long)param_8 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)param_8 + 0x3a) & 7" (pointer_expression "*(byte *)((long)param_8 + 0x3a)" * (cast_expression "(byte *)((long)param_8 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x3a)" ( (binary_expression "(long)param_8 + 0x3a" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }" { (if_statement "if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }" if (parenthesized_expression "((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0)" ( (binary_expression "(*(byte *)((long)param_8 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((long)param_8 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)((long)param_8 + 0x3b) & 0x20" (pointer_expression "*(byte *)((long)param_8 + 0x3b)" * (cast_expression "(byte *)((long)param_8 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x3b)" ( (binary_expression "(long)param_8 + 0x3b" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }" { (expression_statement "bVar42 = FUN_00443190();" (assignment_expression "bVar42 = FUN_00443190()" identifier = (call_expression "FUN_00443190()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar42 = bVar42 ^ 1;" (assignment_expression "bVar42 = bVar42 ^ 1" identifier = (binary_expression "bVar42 ^ 1" identifier ^ number_literal)) ;) }) (else_clause "else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }" else (compound_statement "{\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }" { (expression_statement "bVar42 = *(int *)(param_8 + 3) != 0;" (assignment_expression "bVar42 = *(int *)(param_8 + 3) != 0" identifier = (binary_expression "*(int *)(param_8 + 3) != 0" (pointer_expression "*(int *)(param_8 + 3)" * (cast_expression "(int *)(param_8 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 3)" ( (binary_expression "param_8 + 3" identifier + number_literal) )))) != number_literal)) ;) }))) }) (else_clause "else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }" else (compound_statement "{\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }" { (expression_statement "bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;" (assignment_expression "bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4" identifier = (binary_expression "(*(byte *)((long)param_8 + 0x3a) & 7) != 4" (parenthesized_expression "(*(byte *)((long)param_8 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)param_8 + 0x3a) & 7" (pointer_expression "*(byte *)((long)param_8 + 0x3a)" * (cast_expression "(byte *)((long)param_8 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x3a)" ( (binary_expression "(long)param_8 + 0x3a" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal)) ;) }))) (if_statement "if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    /* try { // try from 002c2bde to 002c2be2 has its CatchHandler @ 002c47b3 */\n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    /* try { // try from 002c1a5e to 002c1a62 has its CatchHandler @ 002c47ab */\n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }" if (parenthesized_expression "((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0))" ( (binary_expression "(bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)" (parenthesized_expression "(bVar42 == 0)" ( (binary_expression "bVar42 == 0" identifier == number_literal) )) || (parenthesized_expression "((*(byte *)((long)param_8 + 0x3a) & 7) != 0)" ( (binary_expression "(*(byte *)((long)param_8 + 0x3a) & 7) != 0" (parenthesized_expression "(*(byte *)((long)param_8 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)param_8 + 0x3a) & 7" (pointer_expression "*(byte *)((long)param_8 + 0x3a)" * (cast_expression "(byte *)((long)param_8 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x3a)" ( (binary_expression "(long)param_8 + 0x3a" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    /* try { // try from 002c2bde to 002c2be2 has its CatchHandler @ 002c47b3 */\n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }" { (expression_statement "FUN_004443d0(local_58,param_8);" (call_expression "FUN_004443d0(local_58,param_8)" identifier (argument_list "(local_58,param_8)" ( identifier , identifier ))) ;) (expression_statement "puVar12 = local_58[0];" (assignment_expression "puVar12 = local_58[0]" identifier = (subscript_expression "local_58[0]" identifier [ number_literal ])) ;) (expression_statement "uVar22 = gettext("relocation overflow: %u against \'%s\'");" (assignment_expression "uVar22 = gettext("relocation overflow: %u against \'%s\'")" identifier = (call_expression "gettext("relocation overflow: %u against \'%s\'")" identifier (argument_list "("relocation overflow: %u against \'%s\'")" ( (string_literal ""relocation overflow: %u against \'%s\'"" " string_content escape_sequence string_content escape_sequence ") )))) ;) comment (expression_statement "FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);" (call_expression "FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12)" identifier (argument_list "(param_2,param_6,iVar3,uVar22,uVar44,puVar12)" ( identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (if_statement "if (local_58[0] == auStack_48) goto LAB_002c193c;" if (parenthesized_expression "(local_58[0] == auStack_48)" ( (binary_expression "local_58[0] == auStack_48" (subscript_expression "local_58[0]" identifier [ number_literal ]) == identifier) )) (goto_statement "goto LAB_002c193c;" goto statement_identifier ;)) }) (else_clause "else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    /* try { // try from 002c1a5e to 002c1a62 has its CatchHandler @ 002c47ab */\n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }" else (compound_statement "{\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    /* try { // try from 002c1a5e to 002c1a62 has its CatchHandler @ 002c47ab */\n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }" { (expression_statement "uVar22 = *(undefined8 *)(param_8[2] + 8);" (assignment_expression "uVar22 = *(undefined8 *)(param_8[2] + 8)" identifier = (pointer_expression "*(undefined8 *)(param_8[2] + 8)" * (cast_expression "(undefined8 *)(param_8[2] + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8[2] + 8)" ( (binary_expression "param_8[2] + 8" (subscript_expression "param_8[2]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "FUN_004443d0(local_58,param_8);" (call_expression "FUN_004443d0(local_58,param_8)" identifier (argument_list "(local_58,param_8)" ( identifier , identifier ))) ;) (expression_statement "puVar12 = local_58[0];" (assignment_expression "puVar12 = local_58[0]" identifier = (subscript_expression "local_58[0]" identifier [ number_literal ])) ;) (expression_statement "uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");" (assignment_expression "uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s")" identifier = (call_expression "gettext("relocation overflow: %u against \'%s\' defined in %s")" identifier (argument_list "("relocation overflow: %u against \'%s\' defined in %s")" ( (string_literal ""relocation overflow: %u against \'%s\' defined in %s"" " string_content escape_sequence string_content escape_sequence string_content ") )))) ;) comment (expression_statement "FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);" (call_expression "FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22)" identifier (argument_list "(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (if_statement "if (local_58[0] == auStack_48) goto LAB_002c193c;" if (parenthesized_expression "(local_58[0] == auStack_48)" ( (binary_expression "local_58[0] == auStack_48" (subscript_expression "local_58[0]" identifier [ number_literal ]) == identifier) )) (goto_statement "goto LAB_002c193c;" goto statement_identifier ;)) }))) (expression_statement "FUN_0049e340();" (call_expression "FUN_0049e340()" identifier (argument_list "()" ( ))) ;) }))) }) (else_clause "else if (uVar17 != 0) {\n    if (uVar17 == 2) {\n      pcVar39 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (uVar17 != 3) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }\n    uVar22 = gettext(pcVar39);\n    FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n  }" else (if_statement "if (uVar17 != 0) {\n    if (uVar17 == 2) {\n      pcVar39 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (uVar17 != 3) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }\n    uVar22 = gettext(pcVar39);\n    FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n  }" if (parenthesized_expression "(uVar17 != 0)" ( (binary_expression "uVar17 != 0" identifier != number_literal) )) (compound_statement "{\n    if (uVar17 == 2) {\n      pcVar39 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (uVar17 != 3) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }\n    uVar22 = gettext(pcVar39);\n    FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n  }" { (if_statement "if (uVar17 == 2) {\n      pcVar39 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (uVar17 != 3) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }" if (parenthesized_expression "(uVar17 == 2)" ( (binary_expression "uVar17 == 2" identifier == number_literal) )) (compound_statement "{\n      pcVar39 = "unexpected opcode while processing relocation";\n    }" { (expression_statement "pcVar39 = "unexpected opcode while processing relocation";" (assignment_expression "pcVar39 = "unexpected opcode while processing relocation"" identifier = (string_literal ""unexpected opcode while processing relocation"" " string_content ")) ;) }) (else_clause "else {\n      if (uVar17 != 3) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }" else (compound_statement "{\n      if (uVar17 != 3) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }" { (if_statement "if (uVar17 != 3) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }" if (parenthesized_expression "(uVar17 != 3)" ( (binary_expression "uVar17 != 3" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }" { comment (expression_statement "FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x3035,"relocate")" identifier (argument_list "("../../gold/mips.cc",0x3035,"relocate")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""relocate"" " string_content ") ))) ;) })) (expression_statement "pcVar39 = "unaligned PC-relative relocation";" (assignment_expression "pcVar39 = "unaligned PC-relative relocation"" identifier = (string_literal ""unaligned PC-relative relocation"" " string_content ")) ;) }))) (expression_statement "uVar22 = gettext(pcVar39);" (assignment_expression "uVar22 = gettext(pcVar39)" identifier = (call_expression "gettext(pcVar39)" identifier (argument_list "(pcVar39)" ( identifier )))) ;) (expression_statement "FUN_0034ad90(param_2,param_6,iVar3,uVar22);" (call_expression "FUN_0034ad90(param_2,param_6,iVar3,uVar22)" identifier (argument_list "(param_2,param_6,iVar3,uVar22)" ( identifier , identifier , identifier , identifier ))) ;) })))) (labeled_statement "LAB_002c193c:\n  FUN_001a5bc0(local_c8);" statement_identifier : (expression_statement "FUN_001a5bc0(local_c8);" (call_expression "FUN_001a5bc0(local_c8)" identifier (argument_list "(local_c8)" ( identifier ))) ;)) (return_statement "return 1;" return number_literal ;) })))
(ERROR "/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original prototype: bool relocate(Relocate * this, Relocate_info<32,_false> * relinfo, uint\n   rel_type, Target_mips<32,_false> * target, Output_section * output_section, size_t relnum, uchar\n   * preloc, Sized_symbol<32> * gsym, Symbol_value<32> * psymval, uchar * view, Mips_address\n   address, section_size_type param_11) */\n\nbool __thiscall\nanon_unknown.dwarf_ead2ad::Target_mips<32,_false>::Relocate::relocate\n          (Relocate *this,Relocate_info<32,_false> *relinfo,uint rel_type,\n          Target_mips<32,_false> *target,Output_section *output_section,size_t relnum,uchar *preloc,\n          Sized_symbol<32> *gsym,Symbol_value<32> *psymval,uchar *view,Mips_address address,\n          section_size_type param_11)\n\n{\n  uint64_t *puVar1;\n  _Rb_tree_header *p_Var2;\n  byte bVar3;\n  byte bVar4;\n  char cVar5;\n  ushort uVar6;\n  uint uVar7;\n  Mips_address address_00;\n  Mips_relobj<32,_false> *this_00;\n  Mips_output_data_mips_stubs<32,_false> *pMVar8;\n  Mips_output_data_plt<32,_false> *pMVar9;\n  Mips_output_data_la25_stub<32,_false> *pMVar10;\n  uint64_t uVar11;\n  _Bit_type *p_Var12;\n  ulong uVar13;\n  Mips_relobj<32,_false> *pMVar14;\n  _Bit_type *p_Var15;\n  pointer pcVar16;\n  undefined3 uVar17;\n  _Base_ptr *pp_Var18;\n  _Alloc_hider _Var19;\n  byte bVar20;\n  byte bVar21;\n  undefined1 uVar22;\n  Valtype x;\n  Value VVar23;\n  Value VVar24;\n  int iVar25;\n  Status SVar26;\n  ulong uVar27;\n  Mips_symbol<64> *pMVar28;\n  Mips_got_info<32,_false> *pMVar29;\n  _List_node_base *p_Var30;\n  Mips_output_data_got<32,_false> *pMVar31;\n  _Base_ptr p_Var32;\n  Sized_symbol<32> *pSVar33;\n  Mips_symbol<32> *pMVar34;\n  Mips16_stub_section<32,_false> *pMVar35;\n  _Base_ptr p_Var36;\n  _Base_ptr p_Var37;\n  ushort uVar38;\n  uint uVar39;\n  uint uVar40;\n  uint uVar41;\n  long lVar42;\n  _List_node_base **pp_Var43;\n  uint *puVar44;\n  bool jal_shuffle;\n  int extraout_EDX;\n  uint uVar45;\n  ulong uVar46;\n  Mips_relobj<32,_false> *pMVar47;\n  Symbol_value<32> *extraout_RDX;\n  Symbol_value<32> *extraout_RDX_00;\n  undefined7 uVar50;\n  Symbol_value<32> *pSVar48;\n  Mips_relobj<32,_false> *extraout_RDX_01;\n  Mips_relobj<32,_false> *pMVar49;\n  Mips_relobj<32,_false> *extraout_RDX_02;\n  Symbol_value<32> *extraout_RDX_03;\n  Target_mips *extraout_RDX_04;\n  _Rb_tree_color _Var51;\n  Relocate *pRVar52;\n  Mips_output_data_got<32,_false> *pMVar53;\n  _Rb_tree_color lo16_reloc;\n  Mips_symbol<64> *pMVar54;\n  _List_node_base **pp_Var56;\n  Value_type VVar57;\n  Mips_got_info<32,_false> *pMVar58;\n  byte *pbVar59;\n  Mips_relobj<32,_false> *pMVar60;\n  char *pcVar61;\n  Symbol *this_01;\n  Mips_symbol<32> *this_02;\n  _Base_ptr p_Var62;\n  Target_mips<32,_false> *target_00;\n  uchar *puVar63;\n  Mips_symbol<64> *unaff_R13;\n  ulong uVar64;\n  uint uVar65;\n  bool bVar66;\n  bool bVar67;\n  byte calculate_only;\n  bool bVar68;\n  bool bVar69;\n  undefined1 in_stack_fffffffffffffec8;\n  Symbol *in_stack_fffffffffffffed0;\n  uint in_stack_fffffffffffffed8;\n  uint in_stack_fffffffffffffedc;\n  _List_node_base *in_stack_fffffffffffffee0;\n  Mips_relobj<32,_false> *in_stack_fffffffffffffee8;\n  uint in_stack_fffffffffffffef8;\n  uint in_stack_fffffffffffffefc;\n  uint3 uVar70;\n  _List_node_base *local_100;\n  uint local_f0;\n  byte local_e8;\n  uint local_e4;\n  Mips_symbol<64> *local_d8;\n  byte local_cf;\n  bool local_ce;\n  bool local_cd;\n  Value local_cc;\n  Mips_relobj<32,_false> *local_c8;\n  uint local_c0;\n  uint local_bc;\n  _Bit_type *local_b8;\n  Value local_b0;\n  Mips_relobj<32,_false> *local_98;\n  uint r_types [3];\n  Symbol_value<32> symval;\n  string local_58;\n  Mips_symbol<64> *pMVar55;\n  \n  bVar21 = 0;\n  uVar39 = *(uint *)(preloc + 4);\n  uVar46 = (ulong)*(uint *)(relinfo->reloc_shdr + 0x14) /\n           (ulong)*(uint *)(relinfo->reloc_shdr + 0x24);\n  uVar7 = *(uint *)preloc;\n  uVar65 = uVar39 & 0xff;\n  _Var51 = uVar39 >> 8;\n  if (rel_type == 4) {\n    local_c0 = 0;\n    local_cc = *(Value *)(preloc + 8);\n    local_bc = 0xffffffff;\n    if (relnum + 1 < uVar46) {\n      local_bc = *(uint *)(preloc + 0xc);\n      local_c0 = (uint)preloc[0x10];\n    }\n  }\n  else if (relnum + 1 < uVar46) {\n    local_cc = 0;\n    local_bc = *(uint *)(preloc + 8);\n    local_c0 = (uint)preloc[0xc];\n  }\n  else {\n    local_c0 = 0;\n    local_bc = 0xffffffff;\n    local_cc = 0;\n  }\n  symval._8_4_ = 0x80000000;\n  symval.u_.value = 0;\n  this_00 = (Mips_relobj<32,_false> *)relinfo->object;\n  symval.output_symtab_index_ = 0;\n  symval.output_dynsym_index_ = 0xffffffff;\n  if (gsym == (Sized_symbol<32> *)0x0) {\n    p_Var15 = (this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl.\n              super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;\n    if (((ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +\n        ((long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n               .super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p - (long)p_Var15) *\n        8) - (ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                    _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset <=\n        (ulong)_Var51) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");\n    }\n    local_e8 = (byte)(uVar39 >> 8);\n    uVar27 = 1L << (local_e8 & 0x3f);\n    p_Var12 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n              _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;\n    uVar46 = p_Var15[uVar39 >> 0xe];\n    local_b8 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n               _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n    uVar64 = uVar27 & uVar46;\n    bVar20 = uVar64 != 0;\n    pMVar28 = (Mips_symbol<64> *)(ulong)bVar20;\n    puVar63 = (uchar *)(ulong)(this_00->local_symbol_is_micromips_).\n                              super__Bvector_base<std::allocator<bool>_>._M_impl.\n                              super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset;\n    if (((ulong)(this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +\n        ((long)local_b8 - (long)p_Var12) * 8) - (long)puVar63 <= (ulong)_Var51) {\nLAB_002c45d2:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/mips.cc",0x668,"local_symbol_is_micromips");\n    }\n    uVar13 = p_Var12[uVar39 >> 0xe];\n    calculate_only = (uVar27 & uVar13) != 0;\n    local_cd = ((uVar46 | uVar13) & uVar27) != 0;\n    if (local_cd) {\n                    /* try { // try from 002c2e1b to 002c47aa has its CatchHandler @ 002c47bb */\n      symval.u_.value =\n           gold::Symbol_value<32>::value<false>(psymval,(Sized_relobj_file<32,_false> *)this_00,1);\n      psymval = &symval;\n    }\n    uVar70 = (uint3)(in_stack_fffffffffffffefc >> 8);\n    if (uVar65 == 100) {\n      p_Var62 = (this_00->local_mips16_call_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                _M_parent;\n      pp_Var43 = (_List_node_base **)\n                 &(this_00->local_mips16_call_stubs_)._M_t._M_impl.super__Rb_tree_header;\n      p_Var37 = p_Var62;\n      p_Var36 = (_Base_ptr)pp_Var43;\n      if (p_Var62 == (_Base_ptr)0x0) goto LAB_002c1c10;\n      do {\n        if (p_Var37[1]._M_color < _Var51) {\n          p_Var32 = p_Var37->_M_right;\n        }\n        else {\n          p_Var32 = p_Var37->_M_left;\n          p_Var36 = p_Var37;\n        }\n        p_Var37 = p_Var32;\n      } while (p_Var32 != (_Base_ptr)0x0);\n      if ((((_Base_ptr)pp_Var43 == p_Var36) || (_Var51 < p_Var36[1]._M_color)) ||\n         (p_Var36[1]._M_parent == (_Base_ptr)0x0)) goto LAB_002c1c10;\n      p_Var37 = (_Base_ptr)pp_Var43;\n      if (uVar64 != 0) {\n        bVar20 = true;\n        goto LAB_002c1c10;\n      }\n      do {\n        p_Var36 = p_Var62;\n        if (p_Var36[1]._M_color < _Var51) {\n          p_Var62 = p_Var36->_M_right;\n          p_Var36 = p_Var37;\n        }\n        else {\n          p_Var62 = p_Var36->_M_left;\n        }\n        p_Var37 = p_Var36;\n      } while (p_Var62 != (_Base_ptr)0x0);\n      pMVar49 = (Mips_relobj<32,_false> *)0x0;\n      if (((_Base_ptr)pp_Var43 != p_Var36) && (p_Var36[1]._M_color <= _Var51)) {\n        pMVar49 = (Mips_relobj<32,_false> *)p_Var36[1]._M_parent;\n      }\n      bVar20 = 0;\n      in_stack_fffffffffffffefc = (uint)uVar70 << 8;\n      goto LAB_002c1d90;\n    }\n    pp_Var43 = (_List_node_base **)\n               &(this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header;\n    p_Var62 = (this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header.\n              _M_parent;\n    p_Var37 = (_Base_ptr)pp_Var43;\n    if (p_Var62 != (_Base_ptr)0x0) {\n      do {\n        while (p_Var36 = p_Var62, p_Var36[1]._M_color < _Var51) {\n          pp_Var18 = &p_Var36->_M_right;\n          p_Var62 = *pp_Var18;\n          p_Var36 = p_Var37;\n          if (*pp_Var18 == (_Base_ptr)0x0) goto LAB_002c2b6a;\n        }\n        p_Var62 = p_Var36->_M_left;\n        p_Var37 = p_Var36;\n      } while (p_Var36->_M_left != (_Base_ptr)0x0);\nLAB_002c2b6a:\n      if ((((_Base_ptr)pp_Var43 == p_Var36) || (_Var51 < p_Var36[1]._M_color)) ||\n         (in_stack_fffffffffffffefc = (uint)uVar70 << 8, bVar21 = calculate_only,\n         p_Var36[1]._M_parent == (_Base_ptr)0x0)) goto LAB_002c1c10;\n      goto LAB_002c15fe;\n    }\nLAB_002c1c10:\n    in_stack_fffffffffffffefc = in_stack_fffffffffffffefc & 0xffffff00;\nLAB_002c1c17:\n    bVar67 = uVar65 == 100;\nLAB_002c13a0:\n    bVar68 = (bool)(calculate_only & bVar67);\n    bVar21 = bVar68;\n    if (bVar68 == false) {\nLAB_002c13ac:\n      bVar21 = calculate_only;\n      uVar39 = uVar39 & 0xf7;\n      local_c8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n      pp_Var43 = (_List_node_base **)(ulong)uVar39;\n      bVar68 = bVar67;\n      if (uVar39 == 0x85) {\nLAB_002c1870:\n        if (bVar20 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        pp_Var43 = (_List_node_base **)local_c8;\n        if (uVar65 - 0x8b < 2) goto LAB_002c1870;\n      }\n    }\n    else {\nLAB_002c187c:\n      pcVar61 = (char *)gettext("MIPS16 and microMIPS functions cannot call each other");\n      gold::gold_error(pcVar61);\n    }\nLAB_002c13d7:\n    if (gsym != (Sized_symbol<32> *)0x0) goto LAB_002c16b8;\n    local_cf = (bVar20 ^ 1) & bVar68;\n    local_ce = (bool)local_cf;\n    if ((bool)local_cf != false) goto LAB_002c1402;\n    local_cf = (bVar21 ^ 1) & uVar65 == 0x85;\n    if ((bool)local_cf == false) goto LAB_002c1bcf;\n    r_types[0] = 0x85;\n    r_types[1] = 0;\n    r_types[2] = 0;\n    local_f0 = 0x21;\n    local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n    local_ce = (bool)local_cf;\nLAB_002c1d4a:\n    if (1 < r_types[0] - 0x8b) {\n      uVar39 = (uint)*(ushort *)view;\n      pp_Var43 = (_List_node_base **)(ulong)*(ushort *)(view + 2);\nLAB_002c1462:\n      uVar65 = uVar39 << 0x10 | (uint)pp_Var43;\nLAB_002c1467:\n      *(uint *)view = uVar65;\n    }\n  }\n  else {\n    bVar20 = (byte)(gsym->super_Symbol).field_0x39 >> 2;\n    bVar67 = (bVar20 & 0x3c) == 0x3c;\n    pMVar28 = (Mips_symbol<64> *)(ulong)bVar67;\n    calculate_only = (bVar20 & 0x30) == 0x20;\n    local_cd = bVar67 || (bool)calculate_only;\n    puVar63 = (uchar *)relnum;\n    if ((bVar67 || (bool)calculate_only) &&\n       (VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,0), VVar23 != 0)) {\n      VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,0);\n      symval.u_.value = VVar23 | 1;\n      psymval = &symval;\n    }\n    else {\n      local_cd = false;\n    }\n    local_c8 = (Mips_relobj<32,_false> *)&symval;\n    local_98 = (Mips_relobj<32,_false> *)0x0;\n    if (uVar65 - 1 < 0xf9) {\n      local_98 = (Mips_relobj<32,_false> *)(ulong)(uint)(int)(char)CSWTCH_4890[uVar65 - 1];\n    }\n    pMVar58 = (Mips_got_info<32,_false> *)gsym;\n                    /* try { // try from 002c11cb to 002c1a28 has its CatchHandler @ 002c47bb */\n    bVar67 = gold::Symbol::use_plt_offset(&gsym->super_Symbol,(int)local_98);\n    cVar5 = *(char *)((long)&gsym[1].super_Symbol.symtab_index_ + 1);\n    if (bVar67) {\n      if (cVar5 != '\0') goto LAB_002c11e1;\n      uVar40 = gsym[1].super_Symbol.dynsym_index_;\n      pMVar9 = target->plt_;\n      if (uVar40 == 0xffffffff) {\n        if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n          Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar58);\n          goto LAB_002c45d2;\n        }\n        uVar40 = gsym[1].super_Symbol.plt_offset_;\n        if (uVar40 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);\n        }\n        bVar20 = target->field_0x14;\n        VVar23 = uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n                 pMVar9->plt0_entry_o32[2];\n        if (bVar20 == 0) {\n                    /* WARNING: Subroutine does not return */\n          is_output_micromips(target);\n        }\n        local_b8 = (_Bit_type *)(ulong)*(uint *)&target->field_0x10;\n        bVar67 = false;\n        bVar68 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n        if (bVar68) {\n          pMVar28 = (Mips_symbol<64> *)(ulong)bVar20;\n          bVar20 = calculate_only;\n        }\n      }\n      else {\n        if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\nLAB_002c4644:\n          Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar58);\nLAB_002c4649:\n                    /* WARNING: Subroutine does not return */\n          Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);\n        }\n        if ((pMVar9->field_0x20 & 1) == 0) goto LAB_002c4649;\n        VVar23 = uVar40 + pMVar9->plt0_entry_o32[2] + pMVar9->plt_header_size_;\n        bVar67 = false;\n        pMVar28 = (Mips_symbol<64> *)0x0;\n        bVar68 = true;\n        bVar20 = 0;\n      }\nLAB_002c1209:\n      calculate_only = bVar20;\n      symval.u_.value = VVar23;\n      psymval = (Symbol_value<32> *)local_c8;\n    }\n    else {\n      bVar67 = false;\n      bVar68 = cVar5 == '\0';\n      if (!bVar68) {\nLAB_002c11e1:\n        pMVar8 = target->mips_stubs_;\n        if (pMVar8 == (Mips_output_data_mips_stubs<32,_false> *)0x0) {\n          mips_stubs_section((Target_mips<32,_false> *)pMVar58);\nLAB_002c4653:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if (((pMVar8->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);\n        }\n        uVar40 = *(uint *)((long)&gsym[1].super_Symbol.version_ + 4);\n        puVar1 = &(pMVar8->super_Output_section_data).super_Output_data.address_;\n        bVar67 = CARRY4(uVar40,(uint)*puVar1);\n        VVar23 = uVar40 + (int)*puVar1;\n        bVar68 = VVar23 == 0;\n        bVar20 = calculate_only;\n        goto LAB_002c1209;\n      }\n    }\n    bVar20 = (byte)pMVar28;\n    pMVar55 = (Mips_symbol<64> *)(gsym->super_Symbol).name_;\n    lVar42 = 9;\n    pMVar54 = pMVar55;\n    pbVar59 = (byte *)"_gp_disp";\n    do {\n      if (lVar42 == 0) break;\n      lVar42 = lVar42 + -1;\n      bVar3 = *(byte *)&(pMVar54->super_Sized_symbol<64>).super_Symbol.name_;\n      bVar67 = bVar3 < *pbVar59;\n      bVar68 = bVar3 == *pbVar59;\n      pMVar54 = (Mips_symbol<64> *)((long)pMVar54 + (ulong)bVar21 * -2 + 1);\n      pbVar59 = pbVar59 + (ulong)bVar21 * -2 + 1;\n    } while (bVar68);\n    pp_Var43 = (_List_node_base **)0xf;\n    bVar68 = !bVar67 && !bVar68;\n    bVar66 = bVar68 < bVar67;\n    bVar69 = bVar68 == bVar67;\n    pMVar49 = (Mips_relobj<32,_false> *)"__gnu_local_gp";\n    do {\n      pMVar54 = pMVar55;\n      pMVar60 = pMVar49;\n      if ((Mips_relobj<32,_false> *)pp_Var43 == (Mips_relobj<32,_false> *)0x0) break;\n      pp_Var43 = (_List_node_base **)\n                 &((Mips_relobj<32,_false> *)((long)pp_Var43 + -0x420))->field_0x41f;\n      pMVar60 = (Mips_relobj<32,_false> *)((long)pMVar49 + (ulong)bVar21 * -2 + 1);\n      pMVar54 = (Mips_symbol<64> *)((long)pMVar55 + (ulong)bVar21 * -2 + 1);\n      bVar4 = *(byte *)&(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                        super_Relobj.super_Object._vptr_Object;\n      bVar3 = *(byte *)&(pMVar55->super_Sized_symbol<64>).super_Symbol.name_;\n      bVar66 = bVar3 < bVar4;\n      bVar69 = bVar3 == bVar4;\n      pMVar55 = pMVar54;\n      pMVar49 = pMVar60;\n    } while (bVar69);\n    if (bVar68 != bVar67) {\n      if ((!bVar66 && !bVar69) == bVar66) {\nLAB_002c1750:\n        if (target->gp_ == (Sized_symbol<32> *)0x0) {\n          symval.u_.value = 0;\n        }\n        else {\n          symval.u_.value = target->gp_->value_;\n          if (((target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n              (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&\n             (pMVar60 = this_00, this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {\n            symval.u_.value = symval.u_.value + this_00->got_info_->offset_;\n          }\n        }\n        psymval = (Symbol_value<32> *)local_c8;\n        pp_Var43 = (_List_node_base **)target;\n      }\nLAB_002c15d8:\n      in_stack_fffffffffffffefc = in_stack_fffffffffffffefc & 0xffffff00;\n      if (uVar65 != 100) goto LAB_002c15e9;\nLAB_002c12e3:\n      pMVar60 = (Mips_relobj<32,_false> *)gsym[1].super_Symbol.got_offsets_.got_next_;\n      if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {\n        if ((*(long *)&gsym[1].super_Symbol.field_0x38 == 0) ||\n           (((gsym->super_Symbol).plt_offset_ == 0xffffffff && (bVar20 != 0)))) goto LAB_002c1304;\n        pMVar49 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;\nLAB_002c1d90:\n        local_c8 = (Mips_relobj<32,_false> *)&symval;\n        symval.u_.value =\n             Mips16_stub_section<32,_false>::output_address\n                       ((Mips16_stub_section<32,_false> *)pMVar49,\n                        (Mips16_stub_section<32,_false> *)\n                        &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                         .super_Relobj.super_Object.name_);\n        psymval = (Symbol_value<32> *)local_c8;\n        bVar67 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0)) {\n        pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;\n        pMVar49 = pMVar60;\n        if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {\n          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 != -1) goto LAB_002c17c6;\n      bVar67 = true;\nLAB_002c1320:\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((gsym->super_Symbol).plt_offset_ != 0xffffffff) {\n        uVar40 = gsym[1].super_Symbol.plt_offset_;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        if ((uVar40 != 0xffffffff) && (gsym[1].super_Symbol.dynsym_index_ != 0xffffffff)) {\n          pMVar9 = target->plt_;\n          if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n            Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");\n          }\n          if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n            Mips_output_data_plt<64,_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);\n          }\n          symval.u_.value =\n               uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n               pMVar9->plt0_entry_o32[2];\n          pp_Var43 = (_List_node_base **)(ulong)symval.u_.value;\n          if (target->field_0x14 == '\0') {\nLAB_002c46dd:\n                    /* WARNING: Subroutine does not return */\n            is_output_micromips((Target_mips<32,_false> *)pMVar60);\n          }\n          psymval = (Symbol_value<32> *)local_c8;\n          bVar20 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n          calculate_only = !(bool)bVar20;\n        }\n      }\n      goto LAB_002c13a0;\n    }\n    bVar21 = this_00->field_0x36c;\n    pMVar60 = (Mips_relobj<32,_false> *)(ulong)bVar21;\n    local_b8 = (_Bit_type *)(ulong)bVar21;\n    bVar21 = bVar21 >> 1 & 1 ^ 1;\n    if ((!bVar66 && !bVar69) == bVar66) {\n      if (bVar21 == 0) goto LAB_002c1750;\n    }\n    else if (bVar21 == 0) goto LAB_002c15d8;\n    if ((((1 < uVar65 - 0x68) && (1 < uVar65 - 5)) && (1 < uVar65 - 0x86)) && (1 < uVar65 - 0x40)) {\n      pp_Var43 = (_List_node_base **)\n                 gettext(\n                        "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                        );\n      pMVar54 = (Mips_symbol<64> *)relnum;\n      pMVar60 = (Mips_relobj<32,_false> *)relinfo;\n      gold::gold_error_at_location<32,_false>(relinfo,relnum,(ulong)uVar7,(char *)pp_Var43);\n    }\n    in_stack_fffffffffffffefc = CONCAT31((int3)(in_stack_fffffffffffffefc >> 8),1);\n    if (uVar65 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    lVar42._0_4_ = gsym[1].super_Symbol.got_offsets_.got_type_;\n    lVar42._4_4_ = gsym[1].super_Symbol.got_offsets_.got_offset_;\n    if (lVar42 == 0) {\nLAB_002c17b9:\n      bVar20 = (byte)pMVar28;\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 == -1) {\nLAB_002c1848:\n        bVar67 = uVar65 == 100;\n        if (uVar65 == 0x85 || bVar67) goto LAB_002c1320;\n        bVar67 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      bVar20 = (byte)pMVar28;\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((this_00->field_0x36c & 1) != 0) goto LAB_002c1848;\n      pMVar60 = (Mips_relobj<32,_false> *)(ulong)uVar65;\n      bVar67 = relocation_needs_la25_stub<32,_true>\n                         ((Mips_relobj<32,_true> *)pMVar60,(uint)pMVar28,SUB41(iVar25,0));\n      pMVar54 = pMVar28;\n      if (!bVar67) goto LAB_002c1848;\n      pMVar10 = target->la25_stub_;\n      if (pMVar10 == (Mips_output_data_la25_stub<32,_false> *)0x0) {\n        la25_stub_section((Target_mips<32,_false> *)pMVar60);\n        goto LAB_002c46aa;\n      }\n      if (((pMVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        Mips_output_data_plt<64,_false>::mips_entry_address\n                  ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar28);\n      }\n      psymval = (Symbol_value<32> *)local_c8;\n      bVar67 = uVar65 == 100;\n      symval.u_.value =\n           extraout_EDX + (int)(pMVar10->super_Output_section_data).super_Output_data.address_ +\n           (uint)(((byte)(gsym->super_Symbol).field_0x39 >> 2 & 0x30) == 0x20);\n      bVar68 = (bool)(calculate_only & bVar67);\n      pp_Var43 = (_List_node_base **)local_c8;\n      bVar21 = bVar68;\n      if (bVar68 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    bVar21 = calculate_only;\n    if ((uVar65 == 0x67) && (*(char *)&gsym[1].super_Symbol.name_ == '\0')) {\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 != -1) goto LAB_002c17c6;\n      bVar67 = false;\n      goto LAB_002c13ac;\n    }\nLAB_002c15fe:\n    bVar20 = (byte)pMVar28;\n    local_c8 = (Mips_relobj<32,_false> *)&symval;\n    uVar40 = relinfo->data_shndx;\n    unaff_R13 = (Mips_symbol<64> *)(ulong)uVar40;\n    pMVar54 = unaff_R13;\n    pMVar60 = this_00;\n    bVar67 = Mips_relobj<32,_false>::is_mips16_stub_section(this_00,uVar40);\n    if ((bVar67) || (uVar40 == this_00->pdr_shndx_)) {\n      calculate_only = bVar21;\n      if (gsym == (Sized_symbol<32> *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }\n    if (gsym == (Sized_symbol<32> *)0x0) {\n      this_02 = (Mips_symbol<32> *)\n                (this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                _M_parent;\n      p_Var2 = &(this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header;\n      pMVar35 = (Mips16_stub_section<32,_false> *)p_Var2;\n      if (this_02 != (Mips_symbol<32> *)0x0) {\n        do {\n          pMVar34 = this_02;\n          if ((pMVar34->super_Sized_symbol<32>).super_Symbol.dynsym_index_ < _Var51) {\n            this_02 = *(Mips_symbol<32> **)&(pMVar34->super_Sized_symbol<32>).super_Symbol.u2_;\n            pMVar34 = (Mips_symbol<32> *)pMVar35;\n          }\n          else {\n            this_02 = *(Mips_symbol<32> **)((long)&pMVar34->super_Sized_symbol<32> + 0x10);\n          }\n          pMVar35 = (Mips16_stub_section<32,_false> *)pMVar34;\n        } while (this_02 != (Mips_symbol<32> *)0x0);\n        this_02 = (Mips_symbol<32> *)0x0;\n        if (((Mips_symbol<32> *)p_Var2 != pMVar34) &&\n           (*(_Rb_tree_color *)&((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->object_\n            <= _Var51)) {\n          this_02 = *(Mips_symbol<32> **)\n                     &((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->shndx_;\n        }\n      }\nLAB_002c3d91:\n      symval.u_.value =\n           Mips16_stub_section<32,_false>::output_address\n                     ((Mips16_stub_section<32,_false> *)this_02,\n                      (Mips16_stub_section<32,_false> *)\n                      &((Mips16_stub_section<32,_false> *)this_02)->shndx_);\n      bVar68 = uVar65 == 100;\n      bVar20 = 0;\n      pp_Var43 = (_List_node_base **)(ulong)(uVar39 & 0xf7);\n      if ((uVar39 & 0xf7) != 0x85) {\n        local_cd = true;\n        psymval = (Symbol_value<32> *)local_c8;\n        bVar20 = 0;\n        goto LAB_002c13c4;\n      }\n      psymval = (Symbol_value<32> *)local_c8;\n      local_cd = true;\n      goto LAB_002c13d7;\n    }\n    if (*(char *)&gsym[1].super_Symbol.name_ == '\0') {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/mips.cc",0x2d5f,"relocate");\n    }\n    iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n    if (iVar25 == -1) {\n      this_02 = *(Mips_symbol<32> **)&gsym[1].super_Symbol.got_offsets_;\n      goto LAB_002c3d91;\n    }\n    pMVar10 = target->la25_stub_;\n    if (pMVar10 == (Mips_output_data_la25_stub<32,_false> *)0x0) {\n      la25_stub_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46d8:\n      Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n      goto LAB_002c46dd;\n    }\n    bVar20 = (pMVar10->super_Output_section_data).super_Output_data.field_0x20;\n    uVar40 = bVar20 & 1;\n    pp_Var43 = (_List_node_base **)(ulong)uVar40;\n    local_cd = SUB41(uVar40,0);\n    if ((bVar20 & 1) == 0) {\nLAB_002c4670:\n                    /* WARNING: Subroutine does not return */\n      Mips_output_data_plt<64,_false>::mips_entry_address\n                ((Mips_output_data_plt<64,_false> *)pMVar60,(Mips_symbol<64> *)target);\n    }\n    bVar68 = uVar65 == 100;\n    symval.u_.value = iVar25 + (int)(pMVar10->super_Output_section_data).super_Output_data.address_;\n    bVar20 = 0;\n    if ((uVar39 & 0xf7) != 0x85) {\n      psymval = (Symbol_value<32> *)local_c8;\n      local_c8 = (Mips_relobj<32,_false> *)pp_Var43;\n      bVar20 = 0;\n      goto LAB_002c13c4;\n    }\n    psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85;\n    pp_Var43 = (_List_node_base **)(ulong)uVar65;\n    if (uVar65 < 0x29) {\n      uVar27 = 1L << ((byte)uVar65 & 0x3f) & 0x1b3e1fff3ff;\n      uVar46 = (ulong)((-(uint)(uVar27 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x2d;\n      uVar65 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar46 = 0xffffff8e;\n      uVar65 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    r_types[1] = 0;\n    r_types[2] = 0;\n    local_ce = false;\n    local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\nLAB_002c1b2f:\n    r_types[0] = uVar65;\n    if (((uint)uVar46 < 0x29) && ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;\n  }\n  r_types[1] = 0;\n  r_types[2] = 0;\n  unaff_R13 = (Mips_symbol<64> *)r_types;\n  SVar26 = STATUS_OKAY;\n  local_e4 = 0;\n  pMVar28 = (Mips_symbol<64> *)&symval;\n  uVar65 = r_types[0];\n  local_d8 = pMVar28;\n  lo16_reloc = r_types[0];\n  while( true ) {\n    local_98 = (Mips_relobj<32,_false> *)(ulong)lo16_reloc;\n    local_c8 = (Mips_relobj<32,_false> *)&symval;\n    if (lo16_reloc == _S_red) break;\n    target_00 = (Target_mips<32,_false> *)(ulong)local_c0;\n    uVar39 = CONCAT31((int3)(uVar7 >> 8),local_bc == uVar7) &\n             (uint)CONCAT71((int7)((ulong)pMVar28 >> 8),local_c0 != 0);\n    calculate_only = (byte)uVar39;\n    uVar17 = (undefined3)(uVar39 >> 8);\n    pMVar53 = (Mips_output_data_got<32,_false> *)this;\n    pRVar52 = this;\n    pp_Var56 = (_List_node_base **)local_98;\n    pMVar60 = (Mips_relobj<32,_false> *)psymval;\n    if (this->calculate_only_ == false) {\n      this->calculate_only_ = (bool)calculate_only;\n      puVar44 = (uint *)pp_Var43;\n      switch(local_98) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case (Mips_relobj<32,_false> *)0x1:\n        uVar38 = *(ushort *)view;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          pp_Var43 = (_List_node_base **)(ulong)(uVar38 - 0x10000);\n          local_b0 = (uint)uVar38;\n          if ((short)uVar38 < 0) {\n            local_b0 = uVar38 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case (Mips_relobj<32,_false> *)0x2:\n        goto switchD_002c18c9_caseD_2;\n      case (Mips_relobj<32,_false> *)0x3:\n        goto switchD_002c14fa_caseD_3;\n      case (Mips_relobj<32,_false> *)0x4:\n      case (Mips_relobj<32,_false> *)0x64:\n      case (Mips_relobj<32,_false> *)0x85:\n        bVar21 = (calculate_only ^ 1) & local_cf;\n        pp_Var43 = (_List_node_base **)(ulong)CONCAT31(uVar17,bVar21);\n        local_b0 = local_cc;\n        uVar39 = *(uint *)view;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if ((char)pp_Var43 == '\0') {\nLAB_002c38db:\n            uVar22 = SUB81(target_00,0);\n            bVar67 = gsym == (Sized_symbol<32> *)0x0;\n            if ((local_cf == 1) || (lo16_reloc != 0x85)) goto LAB_002c34d9;\n            if (bVar67) {\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;\n              uVar40 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;\n            uVar40 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar40 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          pp_Var56 = (_List_node_base **)this_00;\n          VVar23 = gold::Symbol_value<32>::value<false>\n                             (psymval,(Sized_relobj_file<32,_false> *)this_00,0);\n          if ((VVar23 & 3) == (uint)(lo16_reloc == 4)) goto LAB_002c38db;\n          pcVar61 = (char *)gettext("JALX to a non-word-aligned address");\n          gold::gold_warning(pcVar61);\nLAB_002c413e:\n          SVar26 = STATUS_BAD_RELOC;\n        }\n        else {\n          if (lo16_reloc == 0x85) {\n            local_b0 = uVar39 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar39 & 0x3ffffff) << 2;\n          if (bVar21 != 0) {\n            local_b8 = (_Bit_type *)(ulong)bVar21;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          uVar22 = SUB81(target_00,0);\n          bVar67 = gsym == (Sized_symbol<32> *)0x0;\n          if (bVar67) {\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;\n            uVar40 = 0xf0000000;\nLAB_002c34f1:\n            bVar67 = true;\n            uVar40 = address + 4 & uVar40 | local_b0;\n          }\n          else {\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;\n            uVar40 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar40 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          pp_Var56 = (_List_node_base **)this_00;\n          VVar23 = gold::Symbol_value<32>::value<false>\n                             (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar40);\n          uVar40 = VVar23 >> (sbyte)in_stack_fffffffffffffee8;\n          pSVar48 = extraout_RDX;\n          if ((((bool)calculate_only == false) && (!bVar67)) &&\n             (pMVar60 = (Mips_relobj<32,_false> *)gsym,\n             bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol),\n             pSVar48 = extraout_RDX_00, !bVar67)) {\n            uVar41 = (int)in_stack_fffffffffffffee8 + 0x1a;\n            pp_Var43 = (_List_node_base **)(ulong)uVar41;\n            uVar45 = uVar40 >> 0x1a;\n            pSVar48 = (Symbol_value<32> *)(ulong)uVar45;\n            if (uVar45 != address + 4 >> ((byte)uVar41 & 0x1f)) goto LAB_002c3567;\n          }\n          uVar40 = uVar39 ^ (uVar40 ^ uVar39) & 0x3ffffff;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (local_cf != 0) {\n            uVar39 = uVar39 >> 0x1a;\n            uVar50 = (undefined7)((ulong)pSVar48 >> 8);\n            if (lo16_reloc == 100) {\n              iVar25 = 7;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 6 < 2);\n            }\n            else if (lo16_reloc == 0x85) {\n              iVar25 = 0x3c;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 0x3c < 2);\n            }\n            else {\n              pSVar48 = (Symbol_value<32> *)\n                        (ulong)((uint)CONCAT71(uVar50,uVar39 == 3) | (uint)(uVar39 == 0x1d));\n              iVar25 = 0x1d;\n            }\n            if (((bool)calculate_only == false) && ((char)pSVar48 == '\0')) {\n              pcVar61 = (char *)gettext(\n                                       "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                                       );\n              gold::gold_error(pcVar61);\n              goto LAB_002c413e;\n            }\n            pp_Var43 = (_List_node_base **)(ulong)(uVar40 & 0x3ffffff | iVar25 << 0x1a);\n          }\n          if (gold::parameters->options_ == (General_options *)0x0) {\nLAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            Mips_relocate_functions<32,_false>::rel26\n                      ((uchar *)pMVar60,(Mips_relobj<32,_false> *)pp_Var56,pSVar48,\n                       (Mips_address)pp_Var43,(bool)uVar22,(Mips_address)puVar63,\n                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8));\n          }\n          if ((bool)calculate_only == false) {\n            SVar26 = STATUS_OKAY;\n            *(Valtype *)view = (Valtype)pp_Var43;\n          }\n          else {\n            SVar26 = STATUS_OKAY;\n            this->calculated_value_ = (Valtype)pp_Var43;\n          }\n        }\n        goto LAB_002c1e60;\n      case (Mips_relobj<32,_false> *)0x5:\n      case (Mips_relobj<32,_false> *)0x68:\n      case (Mips_relobj<32,_false> *)0x86:\n        goto switchD_002c18c9_caseD_5;\n      case (Mips_relobj<32,_false> *)0x6:\n      case (Mips_relobj<32,_false> *)0x69:\n      case (Mips_relobj<32,_false> *)0x87:\n      case (Mips_relobj<32,_false> *)0x9d:\n        local_b0 = local_cc;\n        in_stack_fffffffffffffef8 = *(uint *)view;\n        if ((char)local_b8 != '\0') {\n          uVar40 = in_stack_fffffffffffffef8 & 0xffff;\n          pp_Var56 = (_List_node_base **)(ulong)uVar40;\n          local_b0 = uVar40 - 0x10000;\n          if ((in_stack_fffffffffffffef8 & 0x8000) == 0) {\n            local_b0 = uVar40;\n          }\n        }\n        goto LAB_002c3615;\n      case (Mips_relobj<32,_false> *)0x7:\n      case (Mips_relobj<32,_false> *)0x8:\n      case (Mips_relobj<32,_false> *)0x65:\n      case (Mips_relobj<32,_false> *)0x88:\n      case (Mips_relobj<32,_false> *)0x89:\n      case (Mips_relobj<32,_false> *)0xac:\n        local_b0 = local_cc;\n        pSVar33 = target->gp_;\n        if (pSVar33 != (Sized_symbol<32> *)0x0) goto LAB_002c370d;\n        VVar57 = 0;\nLAB_002c3751:\n        uVar40 = *(uint *)view;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (lo16_reloc == 0xac) {\n            local_b0 = uVar40 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar40 & 0xffff) - 0x10000;\n            if ((uVar40 & 0x8000) == 0) {\n              local_b0 = uVar40 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case (Mips_relobj<32,_false> *)0x9:\n      case (Mips_relobj<32,_false> *)0x66:\n      case (Mips_relobj<32,_false> *)0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case (Mips_relobj<32,_false> *)0xa:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case (Mips_relobj<32,_false> *)0xb:\n      case (Mips_relobj<32,_false> *)0x67:\n      case (Mips_relobj<32,_false> *)0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case (Mips_relobj<32,_false> *)0xc:\n        goto switchD_002c18c9_caseD_c;\n      case (Mips_relobj<32,_false> *)0x12:\n        goto switchD_002c18c9_caseD_12;\n      case (Mips_relobj<32,_false> *)0x13:\n      case (Mips_relobj<32,_false> *)0x91:\n      case (Mips_relobj<32,_false> *)0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case (Mips_relobj<32,_false> *)0x14:\n      case (Mips_relobj<32,_false> *)0x92:\n        goto switchD_002c18c9_caseD_14;\n      case (Mips_relobj<32,_false> *)0x15:\n      case (Mips_relobj<32,_false> *)0x93:\n        goto switchD_002c18c9_caseD_15;\n      case (Mips_relobj<32,_false> *)0x16:\n      case (Mips_relobj<32,_false> *)0x1e:\n      case (Mips_relobj<32,_false> *)0x94:\n      case (Mips_relobj<32,_false> *)0x99:\n        goto switchD_002c18c9_caseD_16;\n      case (Mips_relobj<32,_false> *)0x17:\n      case (Mips_relobj<32,_false> *)0x1f:\n      case (Mips_relobj<32,_false> *)0x95:\n      case (Mips_relobj<32,_false> *)0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case (Mips_relobj<32,_false> *)0x18:\n      case (Mips_relobj<32,_false> *)0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = *(Value *)view;\n        }\n        goto LAB_002c2efa;\n      case (Mips_relobj<32,_false> *)0x1c:\n      case (Mips_relobj<32,_false> *)0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case (Mips_relobj<32,_false> *)0x1d:\n      case (Mips_relobj<32,_false> *)0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case (Mips_relobj<32,_false> *)0x25:\n      case (Mips_relobj<32,_false> *)0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case (Mips_relobj<32,_false> *)0x27:\n      case (Mips_relobj<32,_false> *)0x29:\n        goto switchD_002c18c9_caseD_27;\n      case (Mips_relobj<32,_false> *)0x2a:\n      case (Mips_relobj<32,_false> *)0x6a:\n      case (Mips_relobj<32,_false> *)0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case (Mips_relobj<32,_false> *)0x2b:\n      case (Mips_relobj<32,_false> *)0x6b:\n      case (Mips_relobj<32,_false> *)0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case (Mips_relobj<32,_false> *)0x2c:\n      case (Mips_relobj<32,_false> *)0x6c:\n      case (Mips_relobj<32,_false> *)0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case (Mips_relobj<32,_false> *)0x2d:\n      case (Mips_relobj<32,_false> *)0x6d:\n      case (Mips_relobj<32,_false> *)0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case (Mips_relobj<32,_false> *)0x2e:\n      case (Mips_relobj<32,_false> *)0x6e:\n      case (Mips_relobj<32,_false> *)0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case (Mips_relobj<32,_false> *)0x2f:\n      case (Mips_relobj<32,_false> *)0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case (Mips_relobj<32,_false> *)0x31:\n      case (Mips_relobj<32,_false> *)0x6f:\n      case (Mips_relobj<32,_false> *)0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case (Mips_relobj<32,_false> *)0x32:\n      case (Mips_relobj<32,_false> *)0x70:\n      case (Mips_relobj<32,_false> *)0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case (Mips_relobj<32,_false> *)0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case (Mips_relobj<32,_false> *)0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case (Mips_relobj<32,_false> *)0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case (Mips_relobj<32,_false> *)0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case (Mips_relobj<32,_false> *)0x40:\n        goto switchD_002c18c9_caseD_40;\n      case (Mips_relobj<32,_false> *)0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case (Mips_relobj<32,_false> *)0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case (Mips_relobj<32,_false> *)0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case (Mips_relobj<32,_false> *)0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case (Mips_relobj<32,_false> *)0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = *(Value *)view;\n        }\n        goto LAB_002c3260;\n      }\n    }\n    local_cc = this->calculated_value_;\n    this->calculate_only_ = (bool)calculate_only;\n    puVar44 = &switchD_002c14fa::switchdataD_0055d438;\n    pp_Var43 = (_List_node_base **)puVar44;\n    local_b0 = local_cc;\n    switch(local_98) {\n    default:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_0:\n      pp_Var43 = (_List_node_base **)gettext("unsupported reloc %u");\n      pp_Var56 = (_List_node_base **)relnum;\n      gold::gold_error_at_location<32,_false>(relinfo,relnum,(ulong)uVar7,(char *)pp_Var43,local_98)\n      ;\n      break;\n    case (Mips_relobj<32,_false> *)0x1:\n      local_b8 = (_Bit_type *)0x0;\n      local_b0 = local_cc;\nLAB_002c359b:\n      pp_Var56 = (_List_node_base **)this_00;\n      uVar39 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      if (calculate_only != 0) goto LAB_002c1f30;\n      *(short *)view = (short)uVar39;\n      SVar26 = (Status)(0xffff < uVar39 + 0x8000);\n      break;\n    case (Mips_relobj<32,_false> *)0x2:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_2:\n      pp_Var56 = (_List_node_base **)0x2;\n      pp_Var43 = (_List_node_base **)target;\n      bVar67 = should_apply_static_reloc\n                         ((Relocate *)gsym,(Mips_symbol<32> *)0x2,(uint)output_section,\n                          (Output_section *)target,target_00);\n      if (bVar67) {\n        bVar67 = this->calculate_only_;\n        VVar23 = local_cc;\n        if ((char)local_b8 != '\0') {\n          VVar23 = *(Value *)view;\n        }\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n        if (bVar67 == false) {\n          SVar26 = STATUS_OKAY;\n          *(Value *)view = VVar23;\n        }\n        else {\n          SVar26 = STATUS_OKAY;\n          this->calculated_value_ = VVar23;\n        }\n      }\n      if (((gsym != (Sized_symbol<32> *)0x0) &&\n          ((bVar21 = (byte)(gsym->super_Symbol).field_0x39 >> 2, (bVar21 & 0x3c) == 0x3c ||\n           ((bVar21 & 0x30) == 0x20)))) && (*(int *)((long)&gsym[1].super_Symbol.u1_ + 4) == 1)) {\n        pMVar60 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.got_offsets_;\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          if (*(char *)&gsym[1].super_Symbol.name_ == '\0') goto LAB_002c473f;\n          pp_Var56 = (_List_node_base **)\n                     &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                      super_Relobj.super_Object.name_;\n          symval.u_.value =\n               Mips16_stub_section<32,_false>::output_address\n                         ((Mips16_stub_section<32,_false> *)pMVar60,\n                          (Mips16_stub_section<32,_false> *)pp_Var56);\n          psymval = (Symbol_value<32> *)local_c8;\n        }\n        local_e4 = gsym[1].super_Symbol.u2_.shndx;\n        pMVar53 = target->got_;\n        if (pMVar53 == (Mips_output_data_got<32,_false> *)0x0) {\n          do {\n            pMVar31 = Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n            uVar39 = (uint)pMVar31;\nLAB_002c2940:\n            *(uint *)&(pMVar53->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      _vptr_Output_data = uVar39;\n            SVar26 = STATUS_OKAY;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            pMVar53 = target->got_;\n          } while (pMVar53 == (Mips_output_data_got<32,_false> *)0x0);\n          if (gsym != (Sized_symbol<32> *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if ((char)gsym[1].value_ != '\0') {\n            pp_Var56 = (_List_node_base **)this_00;\n            this_01 = (Symbol *)psymval;\n            VVar23 = gold::Symbol_value<32>::value<false>\n                               (psymval,(Sized_relobj_file<32,_false> *)this_00,0);\n            if (*(int *)((long)&gsym[1].super_Symbol.u1_ + 4) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            pMVar58 = pMVar53->primary_got_;\n            if (pMVar58 == (Mips_got_info<32,_false> *)0x0) {\n              iVar25 = pMVar53->master_got_info_->page_gotno_ +\n                       pMVar53->master_got_info_->local_gotno_;\n            }\n            else {\n              iVar25 = pMVar58->page_gotno_ + pMVar58->local_gotno_;\n            }\n            uVar39 = (gsym->super_Symbol).dynsym_index_;\n            if (uVar39 == 0) {\n              gold::Symbol::dynsym_index(this_01);\n              goto LAB_002c461d;\n            }\n            pp_Var43 = (_List_node_base **)pMVar53->got_view_;\n            *(Value *)((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                              super_Relobj.super_Object._vptr_Object +\n                      (ulong)(((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *\n                              0x20 >> 3)) = VVar23;\n            break;\n          }\n        }\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,0);\n        pp_Var43 = (_List_node_base **)pMVar53->got_view_;\n        *(Value *)((long)&(((Mips_relobj<32,_false> *)pp_Var43)->super_Sized_relobj_file<32,_false>)\n                          .super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object +\n                  (ulong)local_e4) = VVar23;\n      }\n      break;\n    case (Mips_relobj<32,_false> *)0x3:\nswitchD_002c14fa_caseD_3:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/mips.cc",0x2e62,"relocate");\n    case (Mips_relobj<32,_false> *)0x4:\n    case (Mips_relobj<32,_false> *)0x64:\n    case (Mips_relobj<32,_false> *)0x85:\n      local_b8 = (_Bit_type *)0x0;\n      pp_Var43 = (_List_node_base **)(ulong)CONCAT31(uVar17,(calculate_only ^ 1) & local_cf);\n      uVar39 = *(uint *)view;\n      goto LAB_002c38d3;\n    case (Mips_relobj<32,_false> *)0x5:\n    case (Mips_relobj<32,_false> *)0x68:\n    case (Mips_relobj<32,_false> *)0x86:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_5:\n      if (rel_type == 4) {\n        pp_Var43 = (_List_node_base **)(ulong)local_cc;\n        puVar63 = (uchar *)(ulong)(in_stack_fffffffffffffefc & 1);\n        pp_Var56 = (_List_node_base **)this_00;\n        SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                           (view,this_00,psymval,local_cc,address,\n                            SUB41(in_stack_fffffffffffffefc & 1,0),lo16_reloc,(bool)(char)local_b8,0\n                            ,target,(bool)calculate_only,&this->calculated_value_);\n      }\n      else {\n        if (rel_type != 9) goto LAB_002c46ec;\n        p_Var30 = (_List_node_base *)operator_new(0x40);\n        pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs;\n        SVar26 = STATUS_OKAY;\n        p_Var30[1]._M_next = (_List_node_base *)view;\n        p_Var30[1]._M_prev = (_List_node_base *)this_00;\n        p_Var30[2]._M_next = (_List_node_base *)psymval;\n        *(Value *)&p_Var30[2]._M_prev = local_cc;\n        *(_Rb_tree_color *)((long)&p_Var30[2]._M_prev + 4) = lo16_reloc;\n        *(_Rb_tree_color *)&p_Var30[3]._M_next = _Var51;\n        *(char *)((long)&p_Var30[3]._M_next + 4) = (char)local_b8;\n        *(Mips_address *)&p_Var30[3]._M_prev = address;\n        *(char *)((long)&p_Var30[3]._M_prev + 4) = (char)in_stack_fffffffffffffefc;\n        std::__detail::_List_node_base::_M_hook\n                  (p_Var30,(_List_node_base *)\n                           &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }\n      break;\n    case (Mips_relobj<32,_false> *)0x6:\n    case (Mips_relobj<32,_false> *)0x69:\n    case (Mips_relobj<32,_false> *)0x87:\n    case (Mips_relobj<32,_false> *)0x9d:\n      local_b8 = (_Bit_type *)0x0;\n      in_stack_fffffffffffffef8 = *(uint *)view;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (rel_type == 9) {\n        in_stack_fffffffffffffedc = uVar39 & 0xff;\n        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs;\n        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs) {\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c3ec8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed0 = (Symbol *)local_100[2]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              address_00 = *(Mips_address *)&local_100[3]._M_prev;\n              puVar63 = (uchar *)(ulong)*(byte *)((long)&local_100[3]._M_prev + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,\n                         SUB81(in_stack_fffffffffffffed0,0));\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,\n                                  (Symbol_value<32> *)in_stack_fffffffffffffed0,\n                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = local_100->_M_next;\n            }\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs);\n        }\n        pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs) {\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c41a8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              pSVar48 = (Symbol_value<32> *)local_100[2]._M_next;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,jal_shuffle);\n              puVar63 = (uchar *)(ulong)local_b0;\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,pSVar48,\n                                  in_stack_fffffffffffffed8,(bool)uVar22,local_b0,target,\n                                  SUB41(in_stack_fffffffffffffedc,0),&this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = local_100->_M_next;\n            }\n            pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);\n        }\n      }\n      if ((char)in_stack_fffffffffffffefc == '\0') {\n        pp_Var56 = (_List_node_base **)this_00;\n        uVar39 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n        uVar40 = in_stack_fffffffffffffef8;\n      }\n      else {\n        pSVar33 = target->gp_;\n        if (lo16_reloc == 0x69) {\n          if (pSVar33 == (Sized_symbol<32> *)0x0) {\n            VVar57 = 0;\n          }\n          else {\n            VVar57 = pSVar33->value_;\n            pp_Var43 = (_List_node_base **)target;\n            if (((target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n                (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&\n               (pp_Var56 = (_List_node_base **)this_00,\n               this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {\n              VVar57 = VVar57 + this_00->got_info_->offset_;\n            }\n          }\n          iVar25 = VVar57 - (address & 0xfffffffc);\n        }\n        else {\n          pp_Var43 = (_List_node_base **)local_98;\n          if ((lo16_reloc == 0x87) || (lo16_reloc == 0x9d)) {\n            if (pSVar33 == (Sized_symbol<32> *)0x0) {\n              VVar57 = 0;\n            }\n            else {\n              VVar57 = pSVar33->value_;\n              pp_Var43 = (_List_node_base **)target;\n              if (((target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n                  (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&\n                 (pp_Var43 = (_List_node_base **)this_00,\n                 this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {\n                VVar57 = VVar57 + this_00->got_info_->offset_;\n              }\n            }\n            iVar25 = (VVar57 - address) + 3;\n          }\n          else {\n            if (pSVar33 == (Sized_symbol<32> *)0x0) {\n              VVar57 = 0;\n            }\n            else {\n              VVar57 = pSVar33->value_;\n              pp_Var43 = (_List_node_base **)target;\n              if (((target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n                  (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&\n                 (pp_Var56 = (_List_node_base **)this_00,\n                 this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {\n                VVar57 = VVar57 + this_00->got_info_->offset_;\n              }\n            }\n            iVar25 = (VVar57 - address) + 4;\n          }\n        }\n        uVar39 = iVar25 + local_b0;\n        uVar40 = in_stack_fffffffffffffef8;\n      }\n      in_stack_fffffffffffffef8 = uVar40;\n      if ((bool)calculate_only != false) goto LAB_002c1f30;\n      goto LAB_002c1ebf;\n    case (Mips_relobj<32,_false> *)0x7:\n    case (Mips_relobj<32,_false> *)0x8:\n    case (Mips_relobj<32,_false> *)0x65:\n    case (Mips_relobj<32,_false> *)0x88:\n    case (Mips_relobj<32,_false> *)0x89:\n    case (Mips_relobj<32,_false> *)0xac:\n      pSVar33 = target->gp_;\n      if (pSVar33 != (Sized_symbol<32> *)0x0) {\n        local_b8 = (_Bit_type *)0x0;\nLAB_002c370d:\n        VVar57 = pSVar33->value_;\n        local_b0 = local_cc;\n        if (((target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n            (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&\n           (this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {\n          VVar57 = VVar57 + this_00->got_info_->offset_;\n        }\n        goto LAB_002c3751;\n      }\n      local_b8 = (_Bit_type *)0x0;\n      VVar57 = 0;\n      uVar40 = *(uint *)view;\n      local_b0 = local_cc;\nLAB_002c378b:\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar39 = VVar23 - VVar57;\n      if (gsym == (Sized_symbol<32> *)0x0) {\n        uVar39 = uVar39 + this_00->gp_;\n      }\n      uVar41 = (uVar39 ^ uVar40) & 0xffff;\n      pp_Var43 = (_List_node_base **)(ulong)uVar41;\n      if (lo16_reloc == 0xac) {\n        uVar41 = (uVar39 ^ uVar40) & 0x7f;\n      }\n      if ((bool)calculate_only != false) goto LAB_002c1f30;\n      *(uint *)view = uVar40 ^ uVar41;\n      if (0xffff < uVar39 + 0x8000) {\n        pcVar61 = (char *)gettext(\n                                 "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                                 );\n        gold::gold_error(pcVar61);\nLAB_002c3567:\n        SVar26 = STATUS_OVERFLOW;\n        break;\n      }\n      goto LAB_002c1fd6;\n    case (Mips_relobj<32,_false> *)0x9:\n    case (Mips_relobj<32,_false> *)0x66:\n    case (Mips_relobj<32,_false> *)0x8a:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_9:\n      if (gsym == (Sized_symbol<32> *)0x0) {\n        if (rel_type == 4) {\n          puVar63 = (uchar *)0x0;\n          pp_Var43 = (_List_node_base **)(ulong)local_cc;\n          pp_Var56 = (_List_node_base **)this_00;\n          pMVar60 = (Mips_relobj<32,_false> *)view;\n          SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local\n                             (view,this_00,psymval,local_cc,(bool)(char)local_b8,0,target,\n                              (bool)calculate_only,&this->calculated_value_);\n          goto LAB_002c2945;\n        }\n        if (rel_type == 9) {\n          pMVar60 = (Mips_relobj<32,_false> *)operator_new(0x40);\n          (pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj.\n          super_Object.field_0x3c = 0;\n          SVar26 = STATUS_OKAY;\n          (pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj.\n          super_Object.shnum_ = 0;\n          pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n          (pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj.\n          super_Object.name_._M_string_length = (size_type)view;\n          *(Mips_relobj<32,_false> **)\n           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj\n            .super_Object.name_.field_2 = this_00;\n          *(Symbol_value<32> **)\n           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.name_.field_2 + 8) = psymval;\n          *(Value *)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object.input_file_ = local_cc;\n          *(_Rb_tree_color *)\n           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.input_file_ + 4) = lo16_reloc;\n          *(_Rb_tree_color *)\n           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj\n            .super_Object.offset_ = _Var51;\n          *(char *)((long)&(pMVar60->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj<32,_false>.super_Relobj.super_Object.offset_ + 4) =\n               (char)local_b8;\n          std::__detail::_List_node_base::_M_hook\n                    ((_List_node_base *)pMVar60,\n                     (_List_node_base *)\n                     &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/mips.cc",0x2f66,"relocate");\n      }\n      pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n        pp_Var43 = (_List_node_base **)this_00;\n        pSVar33 = gsym;\n        local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00);\n        lo16_reloc = (_Rb_tree_color)pSVar33;\n        pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var56 = (_List_node_base **)(ulong)local_e4;\n          uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n          if (this->calculate_only_ != false) goto LAB_002c2940;\n          uVar41 = *(uint *)view;\n          uVar40 = (uVar41 ^ uVar39) & 0xffff ^ uVar41;\nLAB_002c27a6:\n          pp_Var43 = (_List_node_base **)(ulong)uVar41;\n          *(uint *)view = uVar40;\n          SVar26 = (Status)(0xffff < uVar39 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case (Mips_relobj<32,_false> *)0xa:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar39 = uVar40 * 4 & 0x3fffc;\n        local_b0 = uVar39 - 0x40000;\n        if ((uVar40 * 4 & 0x20000) == 0) {\n          local_b0 = uVar39;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar39 = VVar23 - address >> 2;\n      if ((bool)calculate_only != false) goto LAB_002c1f30;\n      *(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0xffff;\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar24 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      SVar26 = STATUS_PCREL_UNALIGNED;\n      if ((VVar24 & 3) == 0) {\n        SVar26 = (Status)(0x3ffff < (VVar23 - address) + 0x20000);\n      }\n      break;\n    case (Mips_relobj<32,_false> *)0xb:\n    case (Mips_relobj<32,_false> *)0x67:\n    case (Mips_relobj<32,_false> *)0x8e:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_b:\n      if (gsym == (Sized_symbol<32> *)0x0) {\nLAB_002c467a:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/mips.cc",0x2f3d,"relocate");\n      }\n      pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n        pp_Var43 = (_List_node_base **)this_00;\n        local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00);\n        pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var56 = (_List_node_base **)(ulong)local_e4;\n          uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n          if (this->calculate_only_ != false) goto LAB_002c2940;\n          uVar40 = *(uint *)view;\n          pp_Var56 = (_List_node_base **)(ulong)uVar40;\n          uVar41 = uVar40 ^ uVar39;\n          uVar40 = uVar41 & 0xffff ^ uVar40;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;\n    case (Mips_relobj<32,_false> *)0xc:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_c:\n      if (target->gp_ == (Sized_symbol<32> *)0x0) {\n        VVar57 = 0;\n      }\n      else {\n        VVar57 = target->gp_->value_;\n        if (((target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n            (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&\n           (this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {\n          VVar57 = VVar57 + this_00->got_info_->offset_;\n        }\n      }\n      VVar23 = local_cc;\n      if ((char)local_b8 != '\0') {\n        VVar23 = *(Value *)view;\n      }\n      VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n      pp_Var56 = (_List_node_base **)(ulong)this_00->gp_;\n      uVar39 = VVar23 + (this_00->gp_ - VVar57);\n      goto joined_r0x002c21d2;\n    case (Mips_relobj<32,_false> *)0x12:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_12:\n      pp_Var56 = (_List_node_base **)0x12;\n      pp_Var43 = (_List_node_base **)target;\n      bVar67 = should_apply_static_reloc\n                         ((Relocate *)gsym,(Mips_symbol<32> *)0x12,(uint)output_section,\n                          (Output_section *)target,target_00);\n      if (bVar67) {\n        calculate_only = this->calculate_only_;\n        VVar23 = local_cc;\n        if ((char)local_b8 != '\0') {\n          VVar23 = *(Value *)view;\n        }\n        goto LAB_002c2f02;\n      }\n      break;\n    case (Mips_relobj<32,_false> *)0x13:\n    case (Mips_relobj<32,_false> *)0x91:\n    case (Mips_relobj<32,_false> *)0xf9:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_13:\n      pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n      if (gsym != (Sized_symbol<32> *)0x0) {\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var43 = (_List_node_base **)this_00;\n          local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c4726:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c472b:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n        goto LAB_002c4730;\n      }\n      if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);\n        goto LAB_002c4792;\n      }\n      pp_Var43 = (_List_node_base **)(long)(int)local_cc;\n      local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,0);\nLAB_002c252a:\n      pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n      if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);\n        goto LAB_002c4721;\n      }\n      pp_Var56 = (_List_node_base **)(ulong)local_e4;\n      uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                         ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n      if (lo16_reloc != 0xf9) {\n        if (this->calculate_only_ == false) {\n          uVar40 = *(uint *)view;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          uVar40 = (uVar39 ^ uVar40) & 0xffff ^ uVar40;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }\n      if (this->calculate_only_ == false) goto LAB_002c1fd0;\n      goto LAB_002c1fd4;\n    case (Mips_relobj<32,_false> *)0x14:\n    case (Mips_relobj<32,_false> *)0x92:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_14:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar39 = local_cc;\n      }\n      VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar39);\n      local_98 = (Mips_relobj<32,_false> *)((ulong)(ushort)(VVar23 + 0x8000 >> 0x10) << 0x10);\n      pMVar49 = (Mips_relobj<32,_false> *)target->got_;\n      if (pMVar49 == (Mips_relobj<32,_false> *)0x0) goto LAB_002c4726;\n      if ((pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n          local_got_offsets_._M_h._M_rehash_policy._M_next_resize == 0) {\n        pMVar60 = *(Mips_relobj<32,_false> **)\n                   &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy;\n      }\n      else {\n        pMVar60 = (Mips_relobj<32,_false> *)this_00->got_info_;\n      }\n      if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {\nLAB_002c4761:\n        Mips_output_data_got<32,_false>::get_got_page_offset\n                  ((Mips_output_data_got<32,_false> *)pMVar60,(Mips_address)local_98,pMVar49);\nLAB_002c4766:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n        pp_Var56 = (_List_node_base **)local_98;\n        goto LAB_002c476b;\n      }\n      uVar39 = Mips_got_info<32,_false>::get_got_page_offset\n                         ((Mips_got_info<32,_false> *)pMVar60,(Mips_address)local_98,\n                          (Mips_output_data_got<32,_false> *)pMVar49);\n      pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n      if (pMVar60 == (Mips_relobj<32,_false> *)0x0) goto LAB_002c475c;\n      pp_Var56 = (_List_node_base **)(ulong)uVar39;\n      uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                         ((Mips_output_data_got<32,_false> *)pMVar60,uVar39,this_00);\n      if ((bool)calculate_only != false) goto LAB_002c1f30;\n      uVar40 = (uVar40 ^ uVar39) & 0xffff ^ uVar40;\n      goto LAB_002c2590;\n    case (Mips_relobj<32,_false> *)0x15:\n    case (Mips_relobj<32,_false> *)0x93:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_15:\n      uVar39 = *(uint *)view;\n      local_b0 = uVar39 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != false) {\n        local_98 = this_00;\n        pMVar58 = (Mips_got_info<32,_false> *)psymval;\n        VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n        uVar40 = VVar23 + 0x8000 >> 0x10;\n        pMVar49 = (Mips_relobj<32,_false> *)target->got_;\n        if (pMVar49 == (Mips_relobj<32,_false> *)0x0) {\n          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar58);\n          goto LAB_002c463a;\n        }\n        if ((pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n            local_got_offsets_._M_h._M_rehash_policy._M_next_resize == 0) {\n          pMVar58 = *(Mips_got_info<32,_false> **)\n                     &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                      local_got_offsets_._M_h._M_rehash_policy;\n        }\n        else {\n          pMVar58 = this_00->got_info_;\n        }\n        if (pMVar58 == (Mips_got_info<32,_false> *)0x0) goto LAB_002c463f;\n        Mips_got_info<32,_false>::get_got_page_offset\n                  (pMVar58,uVar40 * 0x10000,(Mips_output_data_got<32,_false> *)pMVar49);\n        pp_Var56 = (_List_node_base **)this_00;\n        local_b0 = gold::Symbol_value<32>::value<false>\n                             (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n        local_b0 = local_b0 + uVar40 * -0x10000;\n      }\n      if ((bool)calculate_only == false) {\n        *(uint *)view = (uVar39 ^ local_b0) & 0xffff ^ uVar39;\n        SVar26 = (Status)(0xffff < local_b0 + 0x8000);\n      }\n      else {\n        SVar26 = STATUS_OKAY;\n        this->calculated_value_ = local_b0;\n      }\n      break;\n    case (Mips_relobj<32,_false> *)0x16:\n    case (Mips_relobj<32,_false> *)0x1e:\n    case (Mips_relobj<32,_false> *)0x94:\n    case (Mips_relobj<32,_false> *)0x99:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_16:\n      pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n      if (gsym != (Sized_symbol<32> *)0x0) {\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var43 = (_List_node_base **)this_00;\n          local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c4735:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c473a:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c473f:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/mips.cc",0x2e46,"relocate");\n      }\n      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n        pp_Var43 = (_List_node_base **)(long)(int)local_cc;\n        local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,0);\nLAB_002c2378:\n        pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var56 = (_List_node_base **)(ulong)local_e4;\n          iVar25 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n          uVar39 = iVar25 + 0x8000U >> 0x10;\n          if (this->calculate_only_ != false) goto LAB_002c2940;\n          SVar26 = STATUS_OKAY;\n          *(short *)view = (short)(iVar25 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }\n      goto LAB_002c46d8;\n    case (Mips_relobj<32,_false> *)0x17:\n    case (Mips_relobj<32,_false> *)0x1f:\n    case (Mips_relobj<32,_false> *)0x95:\n    case (Mips_relobj<32,_false> *)0x9a:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_17:\n      pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n      if (gsym != (Sized_symbol<32> *)0x0) {\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var43 = (_List_node_base **)this_00;\n          local_98 = (Mips_relobj<32,_false> *)gsym;\n          local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00);\nLAB_002c22ef:\n          pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n          if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n            pp_Var56 = (_List_node_base **)(ulong)local_e4;\n            uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n            if (this->calculate_only_ != false) goto LAB_002c2940;\n            SVar26 = STATUS_OKAY;\n            *(uint *)view = (uVar39 ^ *(uint *)view) & 0xffff ^ *(uint *)view;\n            goto LAB_002c2945;\n          }\n          goto LAB_002c4766;\n        }\nLAB_002c476b:\n        uVar22 = SUB81(target_00,0);\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n        pSVar48 = extraout_RDX_03;\n        goto LAB_002c4770;\n      }\n      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n        pp_Var43 = (_List_node_base **)(long)(int)local_cc;\n        local_98 = (Mips_relobj<32,_false> *)(ulong)_Var51;\n        local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,local_98,0);\n        goto LAB_002c22ef;\n      }\nLAB_002c4792:\n      Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c4797:\n      Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c479c:\n      Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c47a1:\n      Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c47a6:\n      Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n                    /* catch() { ... } // from try @ 002c1a5e with catch @ 002c47ab */\n      uVar22 = (anonymous_namespace)::Target_mips<32,false>::Relocate::relocate\n                         ((Relocate_info *)pMVar60,lo16_reloc,extraout_RDX_04,\n                          (Output_section *)pp_Var43,(ulong)target_00,puVar63,\n                          (Sized_symbol *)in_stack_fffffffffffffed0,\n                          (Symbol_value *)\n                          CONCAT44(in_stack_fffffffffffffedc,in_stack_fffffffffffffed8),\n                          (uchar *)in_stack_fffffffffffffee0,(uint)in_stack_fffffffffffffee8,\n                          (ulong)output_section);\n      return (bool)uVar22;\n    case (Mips_relobj<32,_false> *)0x18:\n    case (Mips_relobj<32,_false> *)0x96:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c2efa:\n      pp_Var43 = (_List_node_base **)puVar44;\n      VVar23 = -local_b0;\nLAB_002c2f02:\n      pp_Var56 = (_List_node_base **)this_00;\n      uVar39 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n      if (calculate_only != '\0') goto LAB_002c1f30;\n      SVar26 = STATUS_OKAY;\n      *(ulong *)view = (ulong)uVar39;\n      break;\n    case (Mips_relobj<32,_false> *)0x1c:\n    case (Mips_relobj<32,_false> *)0x97:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar40 & 0xffff) - 0x10000;\n        if ((uVar40 & 0x8000) == 0) {\n          local_b0 = uVar40 & 0xffff;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      pp_Var43 = (_List_node_base **)0x80008000;\n      uVar39 = (uint)((ulong)VVar23 + 0x80008000 >> 0x20);\n      goto joined_r0x002c1f7e;\n    case (Mips_relobj<32,_false> *)0x1d:\n    case (Mips_relobj<32,_false> *)0x98:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar39 = *(uint *)view;\n      pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0') {\n        uVar40 = uVar39 & 0xffff;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        local_b0 = uVar40 - 0x10000;\n        if ((uVar39 & 0x8000) == 0) {\n          local_b0 = uVar40;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      gold::Symbol_value<32>::value<false>(psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)\n      ;\n      if ((bool)calculate_only != false) {\n        SVar26 = STATUS_OKAY;\n        this->calculated_value_ = 0;\n        break;\n      }\n      uVar39 = uVar39 & 0xffff0000;\n      goto LAB_002c1fd0;\n    case (Mips_relobj<32,_false> *)0x25:\n    case (Mips_relobj<32,_false> *)0x9c:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_25:\n      if (gsym != (Sized_symbol<32> *)0x0) {\n        bVar67 = (gsym->super_Symbol).dynsym_index_ != 0;\n        pp_Var56 = (_List_node_base **)(ulong)bVar67;\n        bVar67 = symbol_refs_local(&gsym->super_Symbol,bVar67,true);\n        if (!bVar67) break;\n        calculate_only = this->calculate_only_;\n      }\n      VVar23 = 0;\n      if ((char)local_b8 == '\0') {\n        VVar23 = local_cc;\n      }\n      uVar39 = *(uint *)view;\n      uVar40 = uVar39;\n      if (((lo16_reloc == 0x25) && (local_cf != 1)) &&\n         ((uVar39 == 0x3200008 || (uVar39 == 0x320f809)))) {\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n        if ((VVar23 - address) + 0x1fffc < 0x40000) {\n          uVar41 = (VVar23 - address) - 4 >> 2 & 0xffff;\n          uVar40 = uVar41 | 0x10000000;\n          if (uVar39 != 0x3200008) {\n            uVar40 = uVar41 | 0x4110000;\n          }\n        }\n      }\n      if (calculate_only == '\0') {\n        *(uint *)view = uVar40;\n        SVar26 = STATUS_OKAY;\n      }\n      else {\n        this->calculated_value_ = uVar40;\n        SVar26 = STATUS_OKAY;\n      }\n      break;\n    case (Mips_relobj<32,_false> *)0x27:\n    case (Mips_relobj<32,_false> *)0x29:\n      goto switchD_002c14fa_caseD_27;\n    case (Mips_relobj<32,_false> *)0x2a:\n    case (Mips_relobj<32,_false> *)0x6a:\n    case (Mips_relobj<32,_false> *)0xa2:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_2a:\n      pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n      if (gsym == (Sized_symbol<32> *)0x0) {\n        if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {\n          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);\n          goto LAB_002c467a;\n        }\n        puVar44 = (uint *)(long)(int)local_cc;\n        local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,2);\n      }\n      else {\n        if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {\n          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);\nLAB_002c475c:\n          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n          pMVar49 = extraout_RDX_02;\n          goto LAB_002c4761;\n        }\n        puVar44 = (uint *)this_00;\n        local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,2,\n                              this_00);\n      }\n      pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n      pp_Var43 = (_List_node_base **)puVar44;\n      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\nLAB_002c2030:\n        pp_Var56 = (_List_node_base **)(ulong)local_e4;\n        uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                           ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n        goto LAB_002c211b;\n      }\n      Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);\nswitchD_002c14fa_caseD_27:\n      local_b8 = (_Bit_type *)0x0;\n      pp_Var43 = (_List_node_base **)puVar44;\nswitchD_002c18c9_caseD_27:\n      VVar23 = local_cc;\n      if ((char)local_b8 != '\0') {\n        VVar23 = *(Value *)view;\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n      uVar39 = VVar23 - 0x8000;\njoined_r0x002c21d2:\n      if ((bool)calculate_only == false) {\nLAB_002c1fd0:\n        pRVar52 = (Relocate *)view;\nLAB_002c1fd4:\n        pRVar52->calculated_value_ = uVar39;\nLAB_002c1fd6:\n        SVar26 = STATUS_OKAY;\n      }\n      else {\nLAB_002c1f30:\n        SVar26 = STATUS_OKAY;\n        this->calculated_value_ = uVar39;\n      }\n      break;\n    case (Mips_relobj<32,_false> *)0x2b:\n    case (Mips_relobj<32,_false> *)0x6b:\n    case (Mips_relobj<32,_false> *)0xa3:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_2b:\n      pMVar58 = (Mips_got_info<32,_false> *)target->got_;\n      if (pMVar58 == (Mips_got_info<32,_false> *)0x0) {\nLAB_002c463a:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar58);\n        pMVar49 = extraout_RDX_01;\nLAB_002c463f:\n        Mips_output_data_got<32,_false>::get_got_page_offset\n                  ((Mips_output_data_got<32,_false> *)pMVar58,(Mips_address)local_98,pMVar49);\n        goto LAB_002c4644;\n      }\n      if ((Mips_got_info<32,_false> *)(pMVar58->got_page_offsets_)._M_h._M_bucket_count ==\n          (Mips_got_info<32,_false> *)0x0) {\n        pMVar29 = (Mips_got_info<32,_false> *)(pMVar58->got_page_offsets_)._M_h._M_buckets;\n      }\n      else {\n        pMVar29 = this_00->got_info_;\n      }\n      if (pMVar29 == (Mips_got_info<32,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }\n      local_e4 = pMVar29->tls_ldm_offset_;\n      pp_Var56 = (_List_node_base **)(ulong)local_e4;\n      uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                         ((Mips_output_data_got<32,_false> *)pMVar58,local_e4,this_00);\nLAB_002c211b:\n      if (this->calculate_only_ != false) goto LAB_002c1fd4;\n      uVar40 = *(uint *)view;\n      pp_Var56 = (_List_node_base **)(ulong)uVar40;\n      pp_Var43 = (_List_node_base **)(ulong)(uVar40 ^ uVar39);\n      uVar40 = (uVar40 ^ uVar39) & 0xffff ^ uVar40;\nLAB_002c2590:\n      *(uint *)view = uVar40;\n      SVar26 = (Status)(0xffff < uVar39 + 0x8000);\n      break;\n    case (Mips_relobj<32,_false> *)0x2c:\n    case (Mips_relobj<32,_false> *)0x6c:\n    case (Mips_relobj<32,_false> *)0xa4:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_2c:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar39 = local_cc;\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      uVar39 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar39);\n      goto LAB_002c1f79;\n    case (Mips_relobj<32,_false> *)0x2d:\n    case (Mips_relobj<32,_false> *)0x6d:\n    case (Mips_relobj<32,_false> *)0xa5:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_2d:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar39 = local_cc;\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar39);\n      uVar39 = VVar23 - 0x8000;\n      goto joined_r0x002c1eba;\n    case (Mips_relobj<32,_false> *)0x2e:\n    case (Mips_relobj<32,_false> *)0x6e:\n    case (Mips_relobj<32,_false> *)0xa6:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_2e:\n      pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n      if (gsym == (Sized_symbol<32> *)0x0) {\n        if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {\n          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);\n          target = (Target_mips<32,_false> *)local_98;\n          goto LAB_002c4670;\n        }\n        pp_Var43 = (_List_node_base **)(long)(int)local_cc;\n        lo16_reloc = _Var51;\n        local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,1);\n      }\n      else {\n        if (pMVar60 == (Mips_relobj<32,_false> *)0x0) goto LAB_002c47a6;\n        pp_Var43 = (_List_node_base **)this_00;\n        pSVar33 = gsym;\n        local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,1,\n                              this_00);\n        lo16_reloc = (_Rb_tree_color)pSVar33;\n      }\n      pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) goto LAB_002c2030;\n      goto LAB_002c47a1;\n    case (Mips_relobj<32,_false> *)0x2f:\n    case (Mips_relobj<32,_false> *)0x30:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_2f:\n      VVar23 = local_cc;\n      if ((char)local_b8 != '\0') {\n        VVar23 = *(Value *)view;\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n      uVar39 = VVar23 - 0x7000;\n      goto joined_r0x002c327b;\n    case (Mips_relobj<32,_false> *)0x31:\n    case (Mips_relobj<32,_false> *)0x6f:\n    case (Mips_relobj<32,_false> *)0xa9:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_31:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar39 = local_cc;\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar39);\n      uVar39 = VVar23 + 0x1000;\nLAB_002c1f79:\n      uVar39 = uVar39 >> 0x10;\njoined_r0x002c1f7e:\n      if ((bool)calculate_only == false) {\n        SVar26 = STATUS_OKAY;\n        *(uint *)view = uVar39 | uVar40 & 0xffff0000;\n        break;\n      }\n      goto LAB_002c1f30;\n    case (Mips_relobj<32,_false> *)0x32:\n    case (Mips_relobj<32,_false> *)0x70:\n    case (Mips_relobj<32,_false> *)0xaa:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_32:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar39 = local_cc;\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar39);\n      uVar39 = VVar23 - 0x7000;\njoined_r0x002c1eba:\n      if ((bool)calculate_only == false) {\nLAB_002c1ebf:\n        SVar26 = STATUS_OKAY;\n        *(uint *)view = (uVar39 ^ uVar40) & 0xffff ^ uVar40;\n        break;\n      }\n      goto LAB_002c1f30;\n    case (Mips_relobj<32,_false> *)0x3c:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0') {\n        uVar39 = uVar40 * 4 & 0x7ffffc;\n        pp_Var43 = (_List_node_base **)(ulong)uVar39;\n        local_b0 = uVar39 - 0x800000;\n        if ((uVar40 * 4 & 0x400000) == 0) {\n          local_b0 = uVar39;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar39 = VVar23 - address >> 2;\n      if ((bool)calculate_only != false) goto LAB_002c1f30;\n      *(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0x1fffff;\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar24 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      SVar26 = STATUS_PCREL_UNALIGNED;\n      if ((VVar24 & 3) == 0) {\n        SVar26 = (Status)(0x7fffff < (VVar23 - address) + 0x400000);\n      }\n      break;\n    case (Mips_relobj<32,_false> *)0x3d:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c304d:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar39 = uVar40 * 4 & 0xffffffc;\n        local_b0 = uVar39 + 0xf0000000;\n        if ((uVar40 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar39;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar39 = VVar23 - address >> 2;\n      if ((bool)calculate_only != false) goto LAB_002c1f30;\n      *(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0x3ffffff;\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar24 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      SVar26 = STATUS_PCREL_UNALIGNED;\n      if ((VVar24 & 3) == 0) {\n        SVar26 = (Status)(0xfffffff < (VVar23 - address) + 0x8000000);\n      }\n      break;\n    case (Mips_relobj<32,_false> *)0x3e:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c3104:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar39 = uVar40 * 8 & 0x1ffff8;\n        local_b0 = uVar39 - 0x200000;\n        if ((uVar40 * 8 & 0x100000) == 0) {\n          local_b0 = uVar39;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar41 = VVar23 - (address & 0xfffffff8);\n      uVar39 = uVar41 >> 3;\n      if ((bool)calculate_only != false) goto LAB_002c1f30;\n      *(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0x3ffff;\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar39 = VVar23 & 7;\njoined_r0x002c324e:\n      SVar26 = STATUS_PCREL_UNALIGNED;\n      if (uVar39 == 0) {\n        SVar26 = (Status)(0x1fffff < uVar41 + 0x100000);\n      }\n      break;\n    case (Mips_relobj<32,_false> *)0x3f:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c31c0:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0') {\n        uVar39 = uVar40 * 4 & 0x1ffffc;\n        pp_Var43 = (_List_node_base **)(ulong)uVar39;\n        local_b0 = uVar39 - 0x200000;\n        if ((uVar40 * 4 & 0x100000) == 0) {\n          local_b0 = uVar39;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar41 = VVar23 - address;\n      uVar39 = uVar41 >> 2;\n      if ((bool)calculate_only == false) {\n        *(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0x7ffff;\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n        uVar39 = VVar23 & 3;\n        goto joined_r0x002c324e;\n      }\n      goto LAB_002c1f30;\n    case (Mips_relobj<32,_false> *)0x40:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_40:\n      if (rel_type == 4) {\n        uVar39 = *(uint *)view;\n        VVar23 = uVar39 << 0x10;\n        if ((char)local_b8 == '\0') {\n          VVar23 = local_cc;\n        }\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n        uVar40 = (VVar23 - address) + 0x8000 >> 0x10;\n        if ((bool)calculate_only != false) goto LAB_002c3c10;\n        SVar26 = STATUS_OKAY;\n        *(uint *)view = uVar39 & 0xffff0000 | uVar40;\n      }\n      else {\n        if (rel_type != 9) goto LAB_002c4653;\n        p_Var30 = (_List_node_base *)operator_new(0x40);\n        *(undefined1 *)((long)&p_Var30[3]._M_prev + 4) = 0;\n        SVar26 = STATUS_OKAY;\n        *(undefined4 *)((long)&p_Var30[2]._M_prev + 4) = 0;\n        pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs;\n        p_Var30[1]._M_next = (_List_node_base *)view;\n        p_Var30[1]._M_prev = (_List_node_base *)this_00;\n        p_Var30[2]._M_next = (_List_node_base *)psymval;\n        *(Value *)&p_Var30[2]._M_prev = local_cc;\n        *(_Rb_tree_color *)&p_Var30[3]._M_next = _Var51;\n        *(char *)((long)&p_Var30[3]._M_next + 4) = (char)local_b8;\n        *(Mips_address *)&p_Var30[3]._M_prev = address;\n        std::__detail::_List_node_base::_M_hook\n                  (p_Var30,(_List_node_base *)\n                           &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs)\n        ;\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case (Mips_relobj<32,_false> *)0x41:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0') {\n        pp_Var43 = (_List_node_base **)((ulong)uVar40 & 0xffff);\n        local_b0 = (Value)pp_Var43 - 0x10000;\n        if ((uVar40 & 0x8000) == 0) {\n          local_b0 = (Value)pp_Var43;\n        }\n      }\n      if ((rel_type == 9) &&\n         (local_98 = (Mips_relobj<32,_false> *)\n                     (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs,\n         (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs !=\n         (_List_node_base *)&(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs\n         )) {\n        do {\n          pp_Var43 = (_List_node_base **)(ulong)_Var51;\n          if (_Var51 == *(_Rb_tree_color *)&((_List_node_base *)((long)local_98 + 0x30))->_M_next) {\n            in_stack_fffffffffffffee8 =\n                 (Mips_relobj<32,_false> *)((_List_node_base *)((long)local_98 + 0x10))->_M_next;\n            VVar23 = *(Value *)&((_List_node_base *)((long)local_98 + 0x20))->_M_prev;\n            in_stack_fffffffffffffef8 =\n                 *(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object;\n            if (*(char *)((long)&((_List_node_base *)((long)local_98 + 0x30))->_M_next + 4) != '\0')\n            {\n              VVar23 = local_b0 + in_stack_fffffffffffffef8 * 0x10000;\n            }\n            iVar25 = *(int *)&((_List_node_base *)((long)local_98 + 0x30))->_M_prev;\n            VVar23 = gold::Symbol_value<32>::value<false>\n                               ((Symbol_value<32> *)\n                                ((_List_node_base *)((long)local_98 + 0x20))->_M_next,\n                                (Sized_relobj_file<32,_false> *)\n                                ((_List_node_base *)((long)local_98 + 0x10))->_M_prev,VVar23);\n            uVar39 = (0x8000 - iVar25) + VVar23 >> 0x10;\n            if ((bool)calculate_only == false) {\n              *(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                        super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object =\n                   uVar39 | in_stack_fffffffffffffef8 & 0xffff0000;\n            }\n            else {\n              this->calculated_value_ = uVar39;\n            }\n            p_Var30 = *(_List_node_base **)&local_98->super_Sized_relobj_file<32,_false>;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            std::__detail::_List_node_base::_M_unhook((_List_node_base *)local_98);\n            operator_delete(local_98);\n            local_98 = (Mips_relobj<32,_false> *)p_Var30;\n          }\n          else {\n            local_98 = *(Mips_relobj<32,_false> **)&local_98->super_Sized_relobj_file<32,_false>;\n          }\n        } while (local_98 !=\n                 (Mips_relobj<32,_false> *)\n                 &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs);\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar39 = VVar23 - address;\n      if ((bool)calculate_only != false) goto LAB_002c1f30;\n      SVar26 = STATUS_OKAY;\n      *(uint *)view = (uVar39 ^ uVar40) & 0xffff ^ uVar40;\n      break;\n    case (Mips_relobj<32,_false> *)0x8b:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar39 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar40 = uVar39 * 2 & 0xff;\n        local_b0 = uVar40 - 0x100;\n        if ((uVar39 * 2 & 0x80) == 0) {\n          local_b0 = uVar40;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar40 = VVar23 - address >> 1;\n      if ((bool)calculate_only == false) {\n        *(uint *)view = (uVar40 ^ uVar39) & 0x7f ^ uVar39;\n        SVar26 = (Status)(0xff < (VVar23 - address) + 0x80);\n      }\n      else {\nLAB_002c3c10:\n        SVar26 = STATUS_OKAY;\n        this->calculated_value_ = uVar40;\n      }\n      break;\n    case (Mips_relobj<32,_false> *)0x8c:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c328d:\n      local_cc = local_b0;\n      uVar39 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar40 = uVar39 * 2 & 0x7fe;\n        local_b0 = uVar40 - 0x800;\n        if ((uVar39 * 2 & 0x400) == 0) {\n          local_b0 = uVar40;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar40 = VVar23 - address >> 1;\n      if ((bool)calculate_only != false) goto LAB_002c3c10;\n      *(uint *)view = (uVar40 ^ uVar39) & 0x3ff ^ uVar39;\n      SVar26 = (Status)(0x7ff < (VVar23 - address) + 0x400);\n      break;\n    case (Mips_relobj<32,_false> *)0x8d:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar39 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar40 = uVar39 * 2 & 0x1fffe;\n        local_b0 = uVar40 - 0x20000;\n        if ((uVar39 * 2 & 0x10000) == 0) {\n          local_b0 = uVar40;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar40 = VVar23 - address >> 1;\n      if ((bool)calculate_only != false) goto LAB_002c3c10;\n      *(uint *)view = (uVar40 ^ uVar39) & 0xffff ^ uVar39;\n      SVar26 = (Status)(0x1ffff < (VVar23 - address) + 0x10000);\n      break;\n    case (Mips_relobj<32,_false> *)0xf8:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c3260:\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar39 = VVar23 - address;\n      pp_Var43 = (_List_node_base **)puVar44;\njoined_r0x002c327b:\n      if ((bool)calculate_only == false) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    }\nLAB_002c1e60:\n    lo16_reloc = (_Rb_tree_color)pp_Var56;\n    unaff_R13 = (Mips_symbol<64> *)\n                ((long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4);\n    if (local_d8 == unaff_R13) break;\n    lo16_reloc = *(_Rb_tree_color *)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_;\n    pMVar28 = (Mips_symbol<64> *)(ulong)lo16_reloc;\n  }\n  local_c8 = (Mips_relobj<32,_false> *)&symval;\n  uVar39 = uVar65 - 0x85;\n  if (local_f0 < 0xd) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    if (uVar39 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;\n        lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100)) {\n      if (uVar65 != 100) goto LAB_002c1c8c;\n      uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(short *)(view + 2) = (short)lo16_reloc;\n    *(ushort *)view = uVar38;\n  }\n  else if (((uVar39 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) != 0)) &&\n          (1 < uVar65 - 0x8b)) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    goto LAB_002c19bf;\n  }\n  if (SVar26 == STATUS_OVERFLOW) {\n    if (gsym == (Sized_symbol<32> *)0x0) {\n      pcVar16 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                super_Relobj.super_Object.name_._M_dataplus._M_p;\n      lo16_reloc = 0x2c3cf7;\n      pcVar61 = (char *)gettext("relocation overflow: %u against local symbol %u in %s");\n      gold::gold_error_at_location<32,_false>\n                (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,(ulong)_Var51,pcVar16);\n    }\n    else {\n      bVar21 = (gsym->super_Symbol).field_0x3a;\n      if ((bVar21 & 7) == 0) {\n        uVar39 = (gsym->super_Symbol).u2_.shndx;\n        if (((gsym->super_Symbol).field_0x3b & 0x20) == 0) {\n          bVar67 = gold::Symbol::is_common_shndx(uVar39);\n          bVar67 = !bVar67;\n        }\n        else {\n          bVar67 = uVar39 != 0;\n        }\n      }\n      else {\n        bVar67 = (bVar21 & 7) != 4;\n      }\n      if ((bVar67) && (((gsym->super_Symbol).field_0x3a & 7) == 0)) {\n        uVar11 = ((gsym->super_Symbol).u1_.output_data)->address_;\n        gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);\n        _Var19._M_p = local_58._M_dataplus._M_p;\n        pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    /* try { // try from 002c1a5e to 002c1a62 has its CatchHandler @ 002c47ab */\n        gold::gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p,uVar11);\n        lo16_reloc = (_Rb_tree_color)relnum;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;\n      }\n      else {\n        gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);\n        _Var19._M_p = local_58._M_dataplus._M_p;\n        pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\'");\n                    /* try { // try from 002c2bde to 002c2be2 has its CatchHandler @ 002c47b3 */\n        gold::gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p);\n        lo16_reloc = (_Rb_tree_color)relnum;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;\n      }\n      operator_delete(local_58._M_dataplus._M_p);\n    }\n  }\n  else if (SVar26 != STATUS_OKAY) {\n    if (SVar26 == STATUS_BAD_RELOC) {\n      pcVar61 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (SVar26 != STATUS_PCREL_UNALIGNED) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar61 = "unaligned PC-relative relocation";\n    }\n    pcVar61 = (char *)gettext(pcVar61);\n    gold::gold_error_at_location<32,_false>(relinfo,relnum,(ulong)uVar7,pcVar61);\n    lo16_reloc = (_Rb_tree_color)relnum;\n  }\nLAB_002c193c:\n  gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)local_c8,lo16_reloc);\n  return true;\n}\n\n" comment comment comment comment comment (declaration "bool __thiscall\nanon_unknown.dwarf_ead2ad::Target_mips<32,_false>::Relocate::relocate\n          (Relocate *this,Relocate_info<32,_false> *relinfo,uint rel_type,\n          Target_mips<32,_false> *target,Output_section *output_section,size_t relnum,uchar *preloc,\n          Sized_symbol<32> *gsym,Symbol_value<32> *psymval,uchar *view,Mips_address address,\n          section_size_type param_11)\n\n{\n  uint64_t *puVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) identifier (ERROR ".dwarf_ead2ad::Target_mips<32" . identifier : : identifier < number_literal) , (ERROR "_false>::Relocate::relocate\n          (Relocate *this,Relocate_info<32,_false> *relinfo,uint rel_type,\n          Target_mips<32,_false> *target,Output_section *output_section,size_t relnum,uchar *preloc,\n          Sized_symbol<32> *gsym,Symbol_value<32> *psymval,uchar *view,Mips_address address,\n          section_size_type param_11)\n\n{\n  uint64_t" identifier > : : identifier : : (function_declarator "relocate\n          (Relocate *this,Relocate_info<32,_false> *relinfo,uint rel_type,\n          Target_mips<32,_false> *target,Output_section *output_section,size_t relnum,uchar *preloc,\n          Sized_symbol<32> *gsym,Symbol_value<32> *psymval,uchar *view,Mips_address address,\n          section_size_type param_11)" identifier (parameter_list "(Relocate *this,Relocate_info<32,_false> *relinfo,uint rel_type,\n          Target_mips<32,_false> *target,Output_section *output_section,size_t relnum,uchar *preloc,\n          Sized_symbol<32> *gsym,Symbol_value<32> *psymval,uchar *view,Mips_address address,\n          section_size_type param_11)" ( (parameter_declaration "Relocate *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Relocate_info" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *relinfo" type_identifier (ERROR ">" >) (pointer_declarator "*relinfo" * identifier)) , (parameter_declaration "uint rel_type" type_identifier identifier) , (parameter_declaration "Target_mips" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *target" type_identifier (ERROR ">" >) (pointer_declarator "*target" * identifier)) , (parameter_declaration "Output_section *output_section" type_identifier (pointer_declarator "*output_section" * identifier)) , (parameter_declaration "size_t relnum" primitive_type identifier) , (parameter_declaration "uchar *preloc" type_identifier (pointer_declarator "*preloc" * identifier)) , (parameter_declaration "Sized_symbol<32> *gsym" type_identifier (ERROR "<32>" < number_literal >) (pointer_declarator "*gsym" * identifier)) , (parameter_declaration "Symbol_value<32> *psymval" type_identifier (ERROR "<32>" < number_literal >) (pointer_declarator "*psymval" * identifier)) , (parameter_declaration "uchar *view" type_identifier (pointer_declarator "*view" * identifier)) , (parameter_declaration "Mips_address address" type_identifier identifier) , (parameter_declaration "section_size_type param_11" type_identifier identifier) ))) { primitive_type) (pointer_declarator "*puVar1" * identifier) ;) (declaration "_Rb_tree_header *p_Var2;" type_identifier (pointer_declarator "*p_Var2" * identifier) ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "ushort uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "Mips_address address_00;" type_identifier identifier ;) (expression_statement "Mips_relobj<32,_false> *this_00;" (update_expression "Mips_relobj<32,_false> *this_00" (binary_expression "Mips_relobj<32,_false> *this_00" (binary_expression "Mips_relobj<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*this_00" * identifier)) --) ;) (expression_statement "Mips_output_data_mips_stubs<32,_false> *pMVar8;" (update_expression "Mips_output_data_mips_stubs<32,_false> *pMVar8" (binary_expression "Mips_output_data_mips_stubs<32,_false> *pMVar8" (binary_expression "Mips_output_data_mips_stubs<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pMVar8" * identifier)) --) ;) (expression_statement "Mips_output_data_plt<32,_false> *pMVar9;" (update_expression "Mips_output_data_plt<32,_false> *pMVar9" (binary_expression "Mips_output_data_plt<32,_false> *pMVar9" (binary_expression "Mips_output_data_plt<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pMVar9" * identifier)) --) ;) (expression_statement "Mips_output_data_la25_stub<32,_false> *pMVar10;" (update_expression "Mips_output_data_la25_stub<32,_false> *pMVar10" (binary_expression "Mips_output_data_la25_stub<32,_false> *pMVar10" (binary_expression "Mips_output_data_la25_stub<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pMVar10" * identifier)) --) ;) (declaration "uint64_t uVar11;" primitive_type identifier ;) (declaration "_Bit_type *p_Var12;" type_identifier (pointer_declarator "*p_Var12" * identifier) ;) (declaration "ulong uVar13;" type_identifier identifier ;) (expression_statement "Mips_relobj<32,_false> *pMVar14;" (update_expression "Mips_relobj<32,_false> *pMVar14" (binary_expression "Mips_relobj<32,_false> *pMVar14" (binary_expression "Mips_relobj<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pMVar14" * identifier)) --) ;) (declaration "_Bit_type *p_Var15;" type_identifier (pointer_declarator "*p_Var15" * identifier) ;) (declaration "pointer pcVar16;" type_identifier identifier ;) (declaration "undefined3 uVar17;" type_identifier identifier ;) (declaration "_Base_ptr *pp_Var18;" type_identifier (pointer_declarator "*pp_Var18" * identifier) ;) (declaration "_Alloc_hider _Var19;" type_identifier identifier ;) (declaration "byte bVar20;" type_identifier identifier ;) (declaration "byte bVar21;" type_identifier identifier ;) (declaration "undefined1 uVar22;" type_identifier identifier ;) (declaration "Valtype x;" type_identifier identifier ;) (declaration "Value VVar23;" type_identifier identifier ;) (declaration "Value VVar24;" type_identifier identifier ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "Status SVar26;" type_identifier identifier ;) (declaration "ulong uVar27;" type_identifier identifier ;) (expression_statement "Mips_symbol<64> *pMVar28;" (update_expression "Mips_symbol<64> *pMVar28" (binary_expression "Mips_symbol<64> *pMVar28" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*pMVar28" * identifier)) --) ;) (expression_statement "Mips_got_info<32,_false> *pMVar29;" (update_expression "Mips_got_info<32,_false> *pMVar29" (binary_expression "Mips_got_info<32,_false> *pMVar29" (binary_expression "Mips_got_info<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pMVar29" * identifier)) --) ;) (declaration "_List_node_base *p_Var30;" type_identifier (pointer_declarator "*p_Var30" * identifier) ;) (expression_statement "Mips_output_data_got<32,_false> *pMVar31;" (update_expression "Mips_output_data_got<32,_false> *pMVar31" (binary_expression "Mips_output_data_got<32,_false> *pMVar31" (binary_expression "Mips_output_data_got<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pMVar31" * identifier)) --) ;) (declaration "_Base_ptr p_Var32;" type_identifier identifier ;) (expression_statement "Sized_symbol<32> *pSVar33;" (update_expression "Sized_symbol<32> *pSVar33" (binary_expression "Sized_symbol<32> *pSVar33" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*pSVar33" * identifier)) --) ;) (expression_statement "Mips_symbol<32> *pMVar34;" (update_expression "Mips_symbol<32> *pMVar34" (binary_expression "Mips_symbol<32> *pMVar34" (binary_expression "Mips_symbol<32" identifier < number_literal) > (pointer_expression "*pMVar34" * identifier)) --) ;) (expression_statement "Mips16_stub_section<32,_false> *pMVar35;" (update_expression "Mips16_stub_section<32,_false> *pMVar35" (binary_expression "Mips16_stub_section<32,_false> *pMVar35" (binary_expression "Mips16_stub_section<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pMVar35" * identifier)) --) ;) (declaration "_Base_ptr p_Var36;" type_identifier identifier ;) (declaration "_Base_ptr p_Var37;" type_identifier identifier ;) (declaration "ushort uVar38;" type_identifier identifier ;) (declaration "uint uVar39;" type_identifier identifier ;) (declaration "uint uVar40;" type_identifier identifier ;) (declaration "uint uVar41;" type_identifier identifier ;) (declaration "long lVar42;" (sized_type_specifier "long" long) identifier ;) (declaration "_List_node_base **pp_Var43;" type_identifier (pointer_declarator "**pp_Var43" * (pointer_declarator "*pp_Var43" * identifier)) ;) (declaration "uint *puVar44;" type_identifier (pointer_declarator "*puVar44" * identifier) ;) (declaration "bool jal_shuffle;" primitive_type identifier ;) (declaration "int extraout_EDX;" primitive_type identifier ;) (declaration "uint uVar45;" type_identifier identifier ;) (declaration "ulong uVar46;" type_identifier identifier ;) (expression_statement "Mips_relobj<32,_false> *pMVar47;" (update_expression "Mips_relobj<32,_false> *pMVar47" (binary_expression "Mips_relobj<32,_false> *pMVar47" (binary_expression "Mips_relobj<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pMVar47" * identifier)) --) ;) (expression_statement "Symbol_value<32> *extraout_RDX;" (update_expression "Symbol_value<32> *extraout_RDX" (binary_expression "Symbol_value<32> *extraout_RDX" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*extraout_RDX" * identifier)) --) ;) (expression_statement "Symbol_value<32> *extraout_RDX_00;" (update_expression "Symbol_value<32> *extraout_RDX_00" (binary_expression "Symbol_value<32> *extraout_RDX_00" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*extraout_RDX_00" * identifier)) --) ;) (declaration "undefined7 uVar50;" type_identifier identifier ;) (expression_statement "Symbol_value<32> *pSVar48;" (update_expression "Symbol_value<32> *pSVar48" (binary_expression "Symbol_value<32> *pSVar48" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*pSVar48" * identifier)) --) ;) (expression_statement "Mips_relobj<32,_false> *extraout_RDX_01;" (update_expression "Mips_relobj<32,_false> *extraout_RDX_01" (binary_expression "Mips_relobj<32,_false> *extraout_RDX_01" (binary_expression "Mips_relobj<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*extraout_RDX_01" * identifier)) --) ;) (expression_statement "Mips_relobj<32,_false> *pMVar49;" (update_expression "Mips_relobj<32,_false> *pMVar49" (binary_expression "Mips_relobj<32,_false> *pMVar49" (binary_expression "Mips_relobj<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pMVar49" * identifier)) --) ;) (expression_statement "Mips_relobj<32,_false> *extraout_RDX_02;" (update_expression "Mips_relobj<32,_false> *extraout_RDX_02" (binary_expression "Mips_relobj<32,_false> *extraout_RDX_02" (binary_expression "Mips_relobj<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*extraout_RDX_02" * identifier)) --) ;) (expression_statement "Symbol_value<32> *extraout_RDX_03;" (update_expression "Symbol_value<32> *extraout_RDX_03" (binary_expression "Symbol_value<32> *extraout_RDX_03" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*extraout_RDX_03" * identifier)) --) ;) (declaration "Target_mips *extraout_RDX_04;" type_identifier (pointer_declarator "*extraout_RDX_04" * identifier) ;) (declaration "_Rb_tree_color _Var51;" type_identifier identifier ;) (declaration "Relocate *pRVar52;" type_identifier (pointer_declarator "*pRVar52" * identifier) ;) (expression_statement "Mips_output_data_got<32,_false> *pMVar53;" (update_expression "Mips_output_data_got<32,_false> *pMVar53" (binary_expression "Mips_output_data_got<32,_false> *pMVar53" (binary_expression "Mips_output_data_got<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pMVar53" * identifier)) --) ;) (declaration "_Rb_tree_color lo16_reloc;" type_identifier identifier ;) (expression_statement "Mips_symbol<64> *pMVar54;" (update_expression "Mips_symbol<64> *pMVar54" (binary_expression "Mips_symbol<64> *pMVar54" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*pMVar54" * identifier)) --) ;) (declaration "_List_node_base **pp_Var56;" type_identifier (pointer_declarator "**pp_Var56" * (pointer_declarator "*pp_Var56" * identifier)) ;) (declaration "Value_type VVar57;" type_identifier identifier ;) (expression_statement "Mips_got_info<32,_false> *pMVar58;" (update_expression "Mips_got_info<32,_false> *pMVar58" (binary_expression "Mips_got_info<32,_false> *pMVar58" (binary_expression "Mips_got_info<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pMVar58" * identifier)) --) ;) (declaration "byte *pbVar59;" type_identifier (pointer_declarator "*pbVar59" * identifier) ;) (expression_statement "Mips_relobj<32,_false> *pMVar60;" (update_expression "Mips_relobj<32,_false> *pMVar60" (binary_expression "Mips_relobj<32,_false> *pMVar60" (binary_expression "Mips_relobj<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*pMVar60" * identifier)) --) ;) (declaration "char *pcVar61;" primitive_type (pointer_declarator "*pcVar61" * identifier) ;) (declaration "Symbol *this_01;" type_identifier (pointer_declarator "*this_01" * identifier) ;) (expression_statement "Mips_symbol<32> *this_02;" (update_expression "Mips_symbol<32> *this_02" (binary_expression "Mips_symbol<32> *this_02" (binary_expression "Mips_symbol<32" identifier < number_literal) > (pointer_expression "*this_02" * identifier)) --) ;) (declaration "_Base_ptr p_Var62;" type_identifier identifier ;) (expression_statement "Target_mips<32,_false> *target_00;" (update_expression "Target_mips<32,_false> *target_00" (binary_expression "Target_mips<32,_false> *target_00" (binary_expression "Target_mips<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*target_00" * identifier)) --) ;) (declaration "uchar *puVar63;" type_identifier (pointer_declarator "*puVar63" * identifier) ;) (expression_statement "Mips_symbol<64> *unaff_R13;" (update_expression "Mips_symbol<64> *unaff_R13" (binary_expression "Mips_symbol<64> *unaff_R13" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*unaff_R13" * identifier)) --) ;) (declaration "ulong uVar64;" type_identifier identifier ;) (declaration "uint uVar65;" type_identifier identifier ;) (declaration "bool bVar66;" primitive_type identifier ;) (declaration "bool bVar67;" primitive_type identifier ;) (declaration "byte calculate_only;" type_identifier identifier ;) (declaration "bool bVar68;" primitive_type identifier ;) (declaration "bool bVar69;" primitive_type identifier ;) (declaration "undefined1 in_stack_fffffffffffffec8;" type_identifier identifier ;) (declaration "Symbol *in_stack_fffffffffffffed0;" type_identifier (pointer_declarator "*in_stack_fffffffffffffed0" * identifier) ;) (declaration "uint in_stack_fffffffffffffed8;" type_identifier identifier ;) (declaration "uint in_stack_fffffffffffffedc;" type_identifier identifier ;) (declaration "_List_node_base *in_stack_fffffffffffffee0;" type_identifier (pointer_declarator "*in_stack_fffffffffffffee0" * identifier) ;) (expression_statement "Mips_relobj<32,_false> *in_stack_fffffffffffffee8;" (update_expression "Mips_relobj<32,_false> *in_stack_fffffffffffffee8" (binary_expression "Mips_relobj<32,_false> *in_stack_fffffffffffffee8" (binary_expression "Mips_relobj<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*in_stack_fffffffffffffee8" * identifier)) --) ;) (declaration "uint in_stack_fffffffffffffef8;" type_identifier identifier ;) (declaration "uint in_stack_fffffffffffffefc;" type_identifier identifier ;) (declaration "uint3 uVar70;" type_identifier identifier ;) (declaration "_List_node_base *local_100;" type_identifier (pointer_declarator "*local_100" * identifier) ;) (declaration "uint local_f0;" type_identifier identifier ;) (declaration "byte local_e8;" type_identifier identifier ;) (declaration "uint local_e4;" type_identifier identifier ;) (expression_statement "Mips_symbol<64> *local_d8;" (update_expression "Mips_symbol<64> *local_d8" (binary_expression "Mips_symbol<64> *local_d8" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*local_d8" * identifier)) --) ;) (declaration "byte local_cf;" type_identifier identifier ;) (declaration "bool local_ce;" primitive_type identifier ;) (declaration "bool local_cd;" primitive_type identifier ;) (declaration "Value local_cc;" type_identifier identifier ;) (expression_statement "Mips_relobj<32,_false> *local_c8;" (update_expression "Mips_relobj<32,_false> *local_c8" (binary_expression "Mips_relobj<32,_false> *local_c8" (binary_expression "Mips_relobj<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*local_c8" * identifier)) --) ;) (declaration "uint local_c0;" type_identifier identifier ;) (declaration "uint local_bc;" type_identifier identifier ;) (declaration "_Bit_type *local_b8;" type_identifier (pointer_declarator "*local_b8" * identifier) ;) (declaration "Value local_b0;" type_identifier identifier ;) (expression_statement "Mips_relobj<32,_false> *local_98;" (update_expression "Mips_relobj<32,_false> *local_98" (binary_expression "Mips_relobj<32,_false> *local_98" (binary_expression "Mips_relobj<32" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*local_98" * identifier)) --) ;) (declaration "uint r_types [3];" type_identifier (array_declarator "r_types [3]" identifier [ number_literal ]) ;) (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) --) ;) (declaration "string local_58;" type_identifier identifier ;) (expression_statement "Mips_symbol<64> *pMVar55;" (update_expression "Mips_symbol<64> *pMVar55" (binary_expression "Mips_symbol<64> *pMVar55" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*pMVar55" * identifier)) --) ;) (expression_statement "bVar21 = 0;" (assignment_expression "bVar21 = 0" identifier = number_literal) ;) (expression_statement "uVar39 = *(uint *)(preloc + 4);" (assignment_expression "uVar39 = *(uint *)(preloc + 4)" identifier = (pointer_expression "*(uint *)(preloc + 4)" * (cast_expression "(uint *)(preloc + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(preloc + 4)" ( (binary_expression "preloc + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar46 = (ulong)*(uint *)(relinfo->reloc_shdr + 0x14) /\n           (ulong)*(uint *)(relinfo->reloc_shdr + 0x24);" (assignment_expression "uVar46 = (ulong)*(uint *)(relinfo->reloc_shdr + 0x14) /\n           (ulong)*(uint *)(relinfo->reloc_shdr + 0x24)" identifier = (binary_expression "(ulong)*(uint *)(relinfo->reloc_shdr + 0x14) /\n           (ulong)*(uint *)(relinfo->reloc_shdr + 0x24)" (binary_expression "(ulong)*(uint *)(relinfo->reloc_shdr + 0x14) /\n           (ulong)" (binary_expression "(ulong)*(uint *)(relinfo->reloc_shdr + 0x14)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(relinfo->reloc_shdr + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(relinfo->reloc_shdr + 0x14)" ( (binary_expression "relinfo->reloc_shdr + 0x14" (field_expression "relinfo->reloc_shdr" identifier -> field_identifier) + number_literal) )))) / (parenthesized_expression "(ulong)" ( identifier ))) * (cast_expression "(uint *)(relinfo->reloc_shdr + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(relinfo->reloc_shdr + 0x24)" ( (binary_expression "relinfo->reloc_shdr + 0x24" (field_expression "relinfo->reloc_shdr" identifier -> field_identifier) + number_literal) ))))) ;) (expression_statement "uVar7 = *(uint *)preloc;" (assignment_expression "uVar7 = *(uint *)preloc" identifier = (pointer_expression "*(uint *)preloc" * (cast_expression "(uint *)preloc" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar65 = uVar39 & 0xff;" (assignment_expression "uVar65 = uVar39 & 0xff" identifier = (binary_expression "uVar39 & 0xff" identifier & number_literal)) ;) (expression_statement "_Var51 = uVar39 >> 8;" (assignment_expression "_Var51 = uVar39 >> 8" identifier = (binary_expression "uVar39 >> 8" identifier >> number_literal)) ;) (if_statement "if (rel_type == 4) {\n    local_c0 = 0;\n    local_cc = *(Value *)(preloc + 8);\n    local_bc = 0xffffffff;\n    if (relnum + 1 < uVar46) {\n      local_bc = *(uint *)(preloc + 0xc);\n      local_c0 = (uint)preloc[0x10];\n    }\n  }\n  else if (relnum + 1 < uVar46) {\n    local_cc = 0;\n    local_bc = *(uint *)(preloc + 8);\n    local_c0 = (uint)preloc[0xc];\n  }\n  else {\n    local_c0 = 0;\n    local_bc = 0xffffffff;\n    local_cc = 0;\n  }" if (parenthesized_expression "(rel_type == 4)" ( (binary_expression "rel_type == 4" identifier == number_literal) )) (compound_statement "{\n    local_c0 = 0;\n    local_cc = *(Value *)(preloc + 8);\n    local_bc = 0xffffffff;\n    if (relnum + 1 < uVar46) {\n      local_bc = *(uint *)(preloc + 0xc);\n      local_c0 = (uint)preloc[0x10];\n    }\n  }" { (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" identifier = number_literal) ;) (expression_statement "local_cc = *(Value *)(preloc + 8);" (assignment_expression "local_cc = *(Value *)(preloc + 8)" identifier = (pointer_expression "*(Value *)(preloc + 8)" * (cast_expression "(Value *)(preloc + 8)" ( (type_descriptor "Value *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(preloc + 8)" ( (binary_expression "preloc + 8" identifier + number_literal) ))))) ;) (expression_statement "local_bc = 0xffffffff;" (assignment_expression "local_bc = 0xffffffff" identifier = number_literal) ;) (if_statement "if (relnum + 1 < uVar46) {\n      local_bc = *(uint *)(preloc + 0xc);\n      local_c0 = (uint)preloc[0x10];\n    }" if (parenthesized_expression "(relnum + 1 < uVar46)" ( (binary_expression "relnum + 1 < uVar46" (binary_expression "relnum + 1" identifier + number_literal) < identifier) )) (compound_statement "{\n      local_bc = *(uint *)(preloc + 0xc);\n      local_c0 = (uint)preloc[0x10];\n    }" { (expression_statement "local_bc = *(uint *)(preloc + 0xc);" (assignment_expression "local_bc = *(uint *)(preloc + 0xc)" identifier = (pointer_expression "*(uint *)(preloc + 0xc)" * (cast_expression "(uint *)(preloc + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(preloc + 0xc)" ( (binary_expression "preloc + 0xc" identifier + number_literal) ))))) ;) (expression_statement "local_c0 = (uint)preloc[0x10];" (assignment_expression "local_c0 = (uint)preloc[0x10]" identifier = (cast_expression "(uint)preloc[0x10]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "preloc[0x10]" identifier [ number_literal ]))) ;) })) }) (else_clause "else if (relnum + 1 < uVar46) {\n    local_cc = 0;\n    local_bc = *(uint *)(preloc + 8);\n    local_c0 = (uint)preloc[0xc];\n  }\n  else {\n    local_c0 = 0;\n    local_bc = 0xffffffff;\n    local_cc = 0;\n  }" else (if_statement "if (relnum + 1 < uVar46) {\n    local_cc = 0;\n    local_bc = *(uint *)(preloc + 8);\n    local_c0 = (uint)preloc[0xc];\n  }\n  else {\n    local_c0 = 0;\n    local_bc = 0xffffffff;\n    local_cc = 0;\n  }" if (parenthesized_expression "(relnum + 1 < uVar46)" ( (binary_expression "relnum + 1 < uVar46" (binary_expression "relnum + 1" identifier + number_literal) < identifier) )) (compound_statement "{\n    local_cc = 0;\n    local_bc = *(uint *)(preloc + 8);\n    local_c0 = (uint)preloc[0xc];\n  }" { (expression_statement "local_cc = 0;" (assignment_expression "local_cc = 0" identifier = number_literal) ;) (expression_statement "local_bc = *(uint *)(preloc + 8);" (assignment_expression "local_bc = *(uint *)(preloc + 8)" identifier = (pointer_expression "*(uint *)(preloc + 8)" * (cast_expression "(uint *)(preloc + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(preloc + 8)" ( (binary_expression "preloc + 8" identifier + number_literal) ))))) ;) (expression_statement "local_c0 = (uint)preloc[0xc];" (assignment_expression "local_c0 = (uint)preloc[0xc]" identifier = (cast_expression "(uint)preloc[0xc]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "preloc[0xc]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n    local_c0 = 0;\n    local_bc = 0xffffffff;\n    local_cc = 0;\n  }" else (compound_statement "{\n    local_c0 = 0;\n    local_bc = 0xffffffff;\n    local_cc = 0;\n  }" { (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" identifier = number_literal) ;) (expression_statement "local_bc = 0xffffffff;" (assignment_expression "local_bc = 0xffffffff" identifier = number_literal) ;) (expression_statement "local_cc = 0;" (assignment_expression "local_cc = 0" identifier = number_literal) ;) }))))) (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 "this_00 = (Mips_relobj<32,_false> *)relinfo->object;" (assignment_expression "this_00 = (Mips_relobj<32,_false> *)relinfo->object" identifier = (parenthesized_expression "(Mips_relobj<32,_false> *)relinfo->object" ( (comma_expression "Mips_relobj<32,_false> *)relinfo->object" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)relinfo->object" identifier > (pointer_expression "*)relinfo->object" * (ERROR ")" )) (field_expression "relinfo->object" identifier -> field_identifier)))) ))) ;) (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) ;) if (parenthesized_expression "(gsym == (Sized_symbol<32> *)0x0)" ( (binary_expression "gsym == (Sized_symbol<32> *)0x0)" identifier == (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) )) (compound_statement "{\n    p_Var15 = (this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl.\n              super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;\n    if (((ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +\n        ((long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n               .super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p - (long)p_Var15) *\n        8) - (ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                    _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset <=\n        (ulong)_Var51) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");\n    }\n    local_e8 = (byte)(uVar39 >> 8);\n    uVar27 = 1L << (local_e8 & 0x3f);\n    p_Var12 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n              _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;\n    uVar46 = p_Var15[uVar39 >> 0xe];\n    local_b8 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n               _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;\n    uVar64 = uVar27 & uVar46;\n    bVar20 = uVar64 != 0;\n    pMVar28 = (Mips_symbol<64> *)(ulong)bVar20;\n    puVar63 = (uchar *)(ulong)(this_00->local_symbol_is_micromips_).\n                              super__Bvector_base<std::allocator<bool>_>._M_impl.\n                              super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset;\n    if (((ulong)(this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +\n        ((long)local_b8 - (long)p_Var12) * 8) - (long)puVar63 <= (ulong)_Var51) {\nLAB_002c45d2:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/mips.cc",0x668,"local_symbol_is_micromips");\n    }\n    uVar13 = p_Var12[uVar39 >> 0xe];\n    calculate_only = (uVar27 & uVar13) != 0;\n    local_cd = ((uVar46 | uVar13) & uVar27) != 0;\n    if (local_cd) {\n                    /* try { // try from 002c2e1b to 002c47aa has its CatchHandler @ 002c47bb */\n      symval.u_.value =\n           gold::Symbol_value<32>::value<false>(psymval,(Sized_relobj_file<32,_false> *)this_00,1);\n      psymval = &symval;\n    }\n    uVar70 = (uint3)(in_stack_fffffffffffffefc >> 8);\n    if (uVar65 == 100) {\n      p_Var62 = (this_00->local_mips16_call_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                _M_parent;\n      pp_Var43 = (_List_node_base **)\n                 &(this_00->local_mips16_call_stubs_)._M_t._M_impl.super__Rb_tree_header;\n      p_Var37 = p_Var62;\n      p_Var36 = (_Base_ptr)pp_Var43;\n      if (p_Var62 == (_Base_ptr)0x0) goto LAB_002c1c10;\n      do {\n        if (p_Var37[1]._M_color < _Var51) {\n          p_Var32 = p_Var37->_M_right;\n        }\n        else {\n          p_Var32 = p_Var37->_M_left;\n          p_Var36 = p_Var37;\n        }\n        p_Var37 = p_Var32;\n      } while (p_Var32 != (_Base_ptr)0x0);\n      if ((((_Base_ptr)pp_Var43 == p_Var36) || (_Var51 < p_Var36[1]._M_color)) ||\n         (p_Var36[1]._M_parent == (_Base_ptr)0x0)) goto LAB_002c1c10;\n      p_Var37 = (_Base_ptr)pp_Var43;\n      if (uVar64 != 0) {\n        bVar20 = true;\n        goto LAB_002c1c10;\n      }\n      do {\n        p_Var36 = p_Var62;\n        if (p_Var36[1]._M_color < _Var51) {\n          p_Var62 = p_Var36->_M_right;\n          p_Var36 = p_Var37;\n        }\n        else {\n          p_Var62 = p_Var36->_M_left;\n        }\n        p_Var37 = p_Var36;\n      } while (p_Var62 != (_Base_ptr)0x0);\n      pMVar49 = (Mips_relobj<32,_false> *)0x0;\n      if (((_Base_ptr)pp_Var43 != p_Var36) && (p_Var36[1]._M_color <= _Var51)) {\n        pMVar49 = (Mips_relobj<32,_false> *)p_Var36[1]._M_parent;\n      }\n      bVar20 = 0;\n      in_stack_fffffffffffffefc = (uint)uVar70 << 8;\n      goto LAB_002c1d90;\n    }\n    pp_Var43 = (_List_node_base **)\n               &(this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header;\n    p_Var62 = (this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header.\n              _M_parent;\n    p_Var37 = (_Base_ptr)pp_Var43;\n    if (p_Var62 != (_Base_ptr)0x0) {\n      do {\n        while (p_Var36 = p_Var62, p_Var36[1]._M_color < _Var51) {\n          pp_Var18 = &p_Var36->_M_right;\n          p_Var62 = *pp_Var18;\n          p_Var36 = p_Var37;\n          if (*pp_Var18 == (_Base_ptr)0x0) goto LAB_002c2b6a;\n        }\n        p_Var62 = p_Var36->_M_left;\n        p_Var37 = p_Var36;\n      } while (p_Var36->_M_left != (_Base_ptr)0x0);\nLAB_002c2b6a:\n      if ((((_Base_ptr)pp_Var43 == p_Var36) || (_Var51 < p_Var36[1]._M_color)) ||\n         (in_stack_fffffffffffffefc = (uint)uVar70 << 8, bVar21 = calculate_only,\n         p_Var36[1]._M_parent == (_Base_ptr)0x0)) goto LAB_002c1c10;\n      goto LAB_002c15fe;\n    }\nLAB_002c1c10:\n    in_stack_fffffffffffffefc = in_stack_fffffffffffffefc & 0xffffff00;\nLAB_002c1c17:\n    bVar67 = uVar65 == 100;\nLAB_002c13a0:\n    bVar68 = (bool)(calculate_only & bVar67);\n    bVar21 = bVar68;\n    if (bVar68 == false) {\nLAB_002c13ac:\n      bVar21 = calculate_only;\n      uVar39 = uVar39 & 0xf7;\n      local_c8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n      pp_Var43 = (_List_node_base **)(ulong)uVar39;\n      bVar68 = bVar67;\n      if (uVar39 == 0x85) {\nLAB_002c1870:\n        if (bVar20 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        pp_Var43 = (_List_node_base **)local_c8;\n        if (uVar65 - 0x8b < 2) goto LAB_002c1870;\n      }\n    }\n    else {\nLAB_002c187c:\n      pcVar61 = (char *)gettext("MIPS16 and microMIPS functions cannot call each other");\n      gold::gold_error(pcVar61);\n    }\nLAB_002c13d7:\n    if (gsym != (Sized_symbol<32> *)0x0) goto LAB_002c16b8;\n    local_cf = (bVar20 ^ 1) & bVar68;\n    local_ce = (bool)local_cf;\n    if ((bool)local_cf != false) goto LAB_002c1402;\n    local_cf = (bVar21 ^ 1) & uVar65 == 0x85;\n    if ((bool)local_cf == false) goto LAB_002c1bcf;\n    r_types[0] = 0x85;\n    r_types[1] = 0;\n    r_types[2] = 0;\n    local_f0 = 0x21;\n    local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n    local_ce = (bool)local_cf;\nLAB_002c1d4a:\n    if (1 < r_types[0] - 0x8b) {\n      uVar39 = (uint)*(ushort *)view;\n      pp_Var43 = (_List_node_base **)(ulong)*(ushort *)(view + 2);\nLAB_002c1462:\n      uVar65 = uVar39 << 0x10 | (uint)pp_Var43;\nLAB_002c1467:\n      *(uint *)view = uVar65;\n    }\n  }" { (expression_statement "p_Var15 = (this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl.\n              super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;" (field_expression "p_Var15 = (this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl.\n              super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p" (field_expression "p_Var15 = (this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl.\n              super__Bvector_impl_data._M_start.super__Bit_iterator_base" (field_expression "p_Var15 = (this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl.\n              super__Bvector_impl_data._M_start" (field_expression "p_Var15 = (this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl.\n              super__Bvector_impl_data" (field_expression "p_Var15 = (this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "p_Var15 = (this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_" (binary_expression "p_Var15 = (this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool" (assignment_expression "p_Var15 = (this_00->local_symbol_is_mips16_).super__Bvector_base<std" identifier = (binary_expression "(this_00->local_symbol_is_mips16_).super__Bvector_base<std" (field_expression "(this_00->local_symbol_is_mips16_).super__Bvector_base" (parenthesized_expression "(this_00->local_symbol_is_mips16_)" ( (field_expression "this_00->local_symbol_is_mips16_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) ;) (if_statement "if (((ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +\n        ((long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n               .super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p - (long)p_Var15) *\n        8) - (ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                    _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset <=\n        (ulong)_Var51) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");\n    }" if (parenthesized_expression "(((ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +\n        ((long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n               .super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p - (long)p_Var15) *\n        8) - (ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                    _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset <=\n        (ulong)_Var51)" ( (binary_expression "((ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +\n        ((long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n               .super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p - (long)p_Var15) *\n        8) - (ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                    _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset <=\n        (ulong)_Var51" (field_expression "((ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +\n        ((long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n               .super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p - (long)p_Var15) *\n        8) - (ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                    _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset" (field_expression "((ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +\n        ((long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n               .super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p - (long)p_Var15) *\n        8) - (ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                    _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base" (field_expression "((ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +\n        ((long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n               .super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p - (long)p_Var15) *\n        8) - (ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                    _M_impl.super__Bvector_impl_data._M_start" (field_expression "((ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +\n        ((long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n               .super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p - (long)p_Var15) *\n        8) - (ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                    _M_impl.super__Bvector_impl_data" (field_expression "((ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +\n        ((long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n               .super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p - (long)p_Var15) *\n        8) - (ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                    _M_impl" (binary_expression "((ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +\n        ((long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n               .super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p - (long)p_Var15) *\n        8) - (ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_" (binary_expression "((ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +\n        ((long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n               .super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p - (long)p_Var15) *\n        8) - (ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool" (binary_expression "((ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +\n        ((long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n               .super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p - (long)p_Var15) *\n        8) - (ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std" (binary_expression "((ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +\n        ((long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n               .super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p - (long)p_Var15) *\n        8) - (ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base" (parenthesized_expression "((ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +\n        ((long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n               .super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p - (long)p_Var15) *\n        8)" ( (binary_expression "(ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +\n        ((long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n               .super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p - (long)p_Var15) *\n        8" (field_expression "(ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset" (field_expression "(ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base" (field_expression "(ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish" (field_expression "(ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data" (field_expression "(ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl" (binary_expression "(ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_" (binary_expression "(ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool" (binary_expression "(ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std" (field_expression "(ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base" (call_expression "(ulong)(this_00->local_symbol_is_mips16_)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(this_00->local_symbol_is_mips16_)" ( (field_expression "this_00->local_symbol_is_mips16_" identifier -> field_identifier) ))) . field_identifier) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) + (binary_expression "((long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n               .super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p - (long)p_Var15) *\n        8" (parenthesized_expression "((long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n               .super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p - (long)p_Var15)" ( (binary_expression "(long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n               .super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p - (long)p_Var15" (field_expression "(long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n               .super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p" (field_expression "(long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n               .super__Bvector_impl_data._M_finish.super__Bit_iterator_base" (field_expression "(long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n               .super__Bvector_impl_data._M_finish" (field_expression "(long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n               .super__Bvector_impl_data" (field_expression "(long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "(long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_" (binary_expression "(long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool" (binary_expression "(long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std" (cast_expression "(long)(this_00->local_symbol_is_mips16_).super__Bvector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(this_00->local_symbol_is_mips16_).super__Bvector_base" (parenthesized_expression "(this_00->local_symbol_is_mips16_)" ( (field_expression "this_00->local_symbol_is_mips16_" identifier -> field_identifier) )) . field_identifier)) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) - (cast_expression "(long)p_Var15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) * number_literal)) )) - (field_expression "(ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base" (call_expression "(ulong)(this_00->local_symbol_is_mips16_)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(this_00->local_symbol_is_mips16_)" ( (field_expression "this_00->local_symbol_is_mips16_" identifier -> field_identifier) ))) . field_identifier)) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) <= (cast_expression "(ulong)_Var51" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");\n    }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");" (call_expression "do_gold_unreachable("../../gold/mips.cc",0x65f,"local_symbol_is_mips16")" identifier (argument_list "("../../gold/mips.cc",0x65f,"local_symbol_is_mips16")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""local_symbol_is_mips16"" " string_content ") ))) ;)) })) (expression_statement "local_e8 = (byte)(uVar39 >> 8);" (assignment_expression "local_e8 = (byte)(uVar39 >> 8)" identifier = (call_expression "(byte)(uVar39 >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar39 >> 8)" ( (binary_expression "uVar39 >> 8" identifier >> number_literal) )))) ;) (expression_statement "uVar27 = 1L << (local_e8 & 0x3f);" (assignment_expression "uVar27 = 1L << (local_e8 & 0x3f)" identifier = (binary_expression "1L << (local_e8 & 0x3f)" number_literal << (parenthesized_expression "(local_e8 & 0x3f)" ( (binary_expression "local_e8 & 0x3f" identifier & number_literal) )))) ;) (expression_statement "p_Var12 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n              _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;" (field_expression "p_Var12 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n              _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p" (field_expression "p_Var12 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n              _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base" (field_expression "p_Var12 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n              _M_impl.super__Bvector_impl_data._M_start" (field_expression "p_Var12 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n              _M_impl.super__Bvector_impl_data" (field_expression "p_Var12 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n              _M_impl" (binary_expression "p_Var12 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_" (binary_expression "p_Var12 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool" (assignment_expression "p_Var12 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std" identifier = (binary_expression "(this_00->local_symbol_is_micromips_).super__Bvector_base<std" (field_expression "(this_00->local_symbol_is_micromips_).super__Bvector_base" (parenthesized_expression "(this_00->local_symbol_is_micromips_)" ( (field_expression "this_00->local_symbol_is_micromips_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) ;) (expression_statement "uVar46 = p_Var15[uVar39 >> 0xe];" (assignment_expression "uVar46 = p_Var15[uVar39 >> 0xe]" identifier = (subscript_expression "p_Var15[uVar39 >> 0xe]" identifier [ (binary_expression "uVar39 >> 0xe" identifier >> number_literal) ])) ;) (expression_statement "local_b8 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n               _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;" (field_expression "local_b8 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n               _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p" (field_expression "local_b8 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n               _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base" (field_expression "local_b8 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n               _M_impl.super__Bvector_impl_data._M_finish" (field_expression "local_b8 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n               _M_impl.super__Bvector_impl_data" (field_expression "local_b8 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n               _M_impl" (binary_expression "local_b8 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_" (binary_expression "local_b8 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool" (assignment_expression "local_b8 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std" identifier = (binary_expression "(this_00->local_symbol_is_micromips_).super__Bvector_base<std" (field_expression "(this_00->local_symbol_is_micromips_).super__Bvector_base" (parenthesized_expression "(this_00->local_symbol_is_micromips_)" ( (field_expression "this_00->local_symbol_is_micromips_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) ;) (expression_statement "uVar64 = uVar27 & uVar46;" (assignment_expression "uVar64 = uVar27 & uVar46" identifier = (binary_expression "uVar27 & uVar46" identifier & identifier)) ;) (expression_statement "bVar20 = uVar64 != 0;" (assignment_expression "bVar20 = uVar64 != 0" identifier = (binary_expression "uVar64 != 0" identifier != number_literal)) ;) (expression_statement "pMVar28 = (Mips_symbol<64> *)(ulong)bVar20;" (assignment_expression "pMVar28 = (Mips_symbol<64> *)(ulong)" identifier = (call_expression "(Mips_symbol<64> *)(ulong)" (parenthesized_expression "(Mips_symbol<64> *)" ( (binary_expression "Mips_symbol<64> *" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "(ulong)" ( identifier )))) (ERROR "bVar20" identifier) ;) (expression_statement "puVar63 = (uchar *)(ulong)(this_00->local_symbol_is_micromips_).\n                              super__Bvector_base<std::allocator<bool>_>._M_impl.\n                              super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset;" (field_expression "puVar63 = (uchar *)(ulong)(this_00->local_symbol_is_micromips_).\n                              super__Bvector_base<std::allocator<bool>_>._M_impl.\n                              super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset" (field_expression "puVar63 = (uchar *)(ulong)(this_00->local_symbol_is_micromips_).\n                              super__Bvector_base<std::allocator<bool>_>._M_impl.\n                              super__Bvector_impl_data._M_start.super__Bit_iterator_base" (field_expression "puVar63 = (uchar *)(ulong)(this_00->local_symbol_is_micromips_).\n                              super__Bvector_base<std::allocator<bool>_>._M_impl.\n                              super__Bvector_impl_data._M_start" (field_expression "puVar63 = (uchar *)(ulong)(this_00->local_symbol_is_micromips_).\n                              super__Bvector_base<std::allocator<bool>_>._M_impl.\n                              super__Bvector_impl_data" (field_expression "puVar63 = (uchar *)(ulong)(this_00->local_symbol_is_micromips_).\n                              super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "puVar63 = (uchar *)(ulong)(this_00->local_symbol_is_micromips_).\n                              super__Bvector_base<std::allocator<bool>_" (binary_expression "puVar63 = (uchar *)(ulong)(this_00->local_symbol_is_micromips_).\n                              super__Bvector_base<std::allocator<bool" (assignment_expression "puVar63 = (uchar *)(ulong)(this_00->local_symbol_is_micromips_).\n                              super__Bvector_base<std" identifier = (binary_expression "(uchar *)(ulong)(this_00->local_symbol_is_micromips_).\n                              super__Bvector_base<std" (cast_expression "(uchar *)(ulong)(this_00->local_symbol_is_micromips_).\n                              super__Bvector_base" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(ulong)(this_00->local_symbol_is_micromips_).\n                              super__Bvector_base" (call_expression "(ulong)(this_00->local_symbol_is_micromips_)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(this_00->local_symbol_is_micromips_)" ( (field_expression "this_00->local_symbol_is_micromips_" identifier -> field_identifier) ))) . field_identifier)) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) ;) (if_statement "if (((ulong)(this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +\n        ((long)local_b8 - (long)p_Var12) * 8) - (long)puVar63 <= (ulong)_Var51) {\nLAB_002c45d2:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/mips.cc",0x668,"local_symbol_is_micromips");\n    }" if (parenthesized_expression "(((ulong)(this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +\n        ((long)local_b8 - (long)p_Var12) * 8) - (long)puVar63 <= (ulong)_Var51)" ( (binary_expression "((ulong)(this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +\n        ((long)local_b8 - (long)p_Var12) * 8) - (long)puVar63 <= (ulong)_Var51" (binary_expression "((ulong)(this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +\n        ((long)local_b8 - (long)p_Var12) * 8) - (long)puVar63" (parenthesized_expression "((ulong)(this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +\n        ((long)local_b8 - (long)p_Var12) * 8)" ( (binary_expression "(ulong)(this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +\n        ((long)local_b8 - (long)p_Var12) * 8" (field_expression "(ulong)(this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset" (field_expression "(ulong)(this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base" (field_expression "(ulong)(this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data._M_finish" (field_expression "(ulong)(this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl.super__Bvector_impl_data" (field_expression "(ulong)(this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                _M_impl" (binary_expression "(ulong)(this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_" (binary_expression "(ulong)(this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool" (binary_expression "(ulong)(this_00->local_symbol_is_micromips_).super__Bvector_base<std" (field_expression "(ulong)(this_00->local_symbol_is_micromips_).super__Bvector_base" (call_expression "(ulong)(this_00->local_symbol_is_micromips_)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(this_00->local_symbol_is_micromips_)" ( (field_expression "this_00->local_symbol_is_micromips_" identifier -> field_identifier) ))) . field_identifier) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) + (binary_expression "((long)local_b8 - (long)p_Var12) * 8" (parenthesized_expression "((long)local_b8 - (long)p_Var12)" ( (binary_expression "(long)local_b8 - (long)p_Var12" (cast_expression "(long)local_b8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)p_Var12" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) * number_literal)) )) - (cast_expression "(long)puVar63" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) <= (cast_expression "(ulong)_Var51" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\nLAB_002c45d2:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/mips.cc",0x668,"local_symbol_is_micromips");\n    }" { (labeled_statement "LAB_002c45d2:\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/mips.cc",0x668,"local_symbol_is_micromips");" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable("../../gold/mips.cc",0x668,"local_symbol_is_micromips");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/mips.cc",0x668,"local_symbol_is_micromips");" (call_expression "do_gold_unreachable("../../gold/mips.cc",0x668,"local_symbol_is_micromips")" identifier (argument_list "("../../gold/mips.cc",0x668,"local_symbol_is_micromips")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""local_symbol_is_micromips"" " string_content ") ))) ;))) })) (expression_statement "uVar13 = p_Var12[uVar39 >> 0xe];" (assignment_expression "uVar13 = p_Var12[uVar39 >> 0xe]" identifier = (subscript_expression "p_Var12[uVar39 >> 0xe]" identifier [ (binary_expression "uVar39 >> 0xe" identifier >> number_literal) ])) ;) (expression_statement "calculate_only = (uVar27 & uVar13) != 0;" (assignment_expression "calculate_only = (uVar27 & uVar13) != 0" identifier = (binary_expression "(uVar27 & uVar13) != 0" (parenthesized_expression "(uVar27 & uVar13)" ( (binary_expression "uVar27 & uVar13" identifier & identifier) )) != number_literal)) ;) (expression_statement "local_cd = ((uVar46 | uVar13) & uVar27) != 0;" (assignment_expression "local_cd = ((uVar46 | uVar13) & uVar27) != 0" identifier = (binary_expression "((uVar46 | uVar13) & uVar27) != 0" (parenthesized_expression "((uVar46 | uVar13) & uVar27)" ( (binary_expression "(uVar46 | uVar13) & uVar27" (parenthesized_expression "(uVar46 | uVar13)" ( (binary_expression "uVar46 | uVar13" identifier | identifier) )) & identifier) )) != number_literal)) ;) (if_statement "if (local_cd) {\n                    /* try { // try from 002c2e1b to 002c47aa has its CatchHandler @ 002c47bb */\n      symval.u_.value =\n           gold::Symbol_value<32>::value<false>(psymval,(Sized_relobj_file<32,_false> *)this_00,1);\n      psymval = &symval;\n    }" if (parenthesized_expression "(local_cd)" ( identifier )) (compound_statement "{\n                    /* try { // try from 002c2e1b to 002c47aa has its CatchHandler @ 002c47bb */\n      symval.u_.value =\n           gold::Symbol_value<32>::value<false>(psymval,(Sized_relobj_file<32,_false> *)this_00,1);\n      psymval = &symval;\n    }" { comment (expression_statement "symval.u_.value =\n           gold::Symbol_value<32>::value<false>(psymval,(Sized_relobj_file<32,_false> *)this_00,1);" (binary_expression "symval.u_.value =\n           gold::Symbol_value<32>::value<false>(psymval,(Sized_relobj_file<32,_false> *)this_00,1)" (binary_expression "symval.u_.value =\n           gold::Symbol_value<32>::value<false" (binary_expression "symval.u_.value =\n           gold::Symbol_value<32>::value" (binary_expression "symval.u_.value =\n           gold::Symbol_value<32" (assignment_expression "symval.u_.value =\n           gold" (field_expression "symval.u_.value" (field_expression "symval.u_" identifier . field_identifier) . field_identifier) = identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "::" : :) identifier) < false) > (parenthesized_expression "(psymval,(Sized_relobj_file<32,_false> *)this_00,1)" ( (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,1)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,1)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,1" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,1" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , number_literal)) ))) ))) ;) (expression_statement "psymval = &symval;" (assignment_expression "psymval = &symval" identifier = (pointer_expression "&symval" & identifier)) ;) })) (expression_statement "uVar70 = (uint3)(in_stack_fffffffffffffefc >> 8);" (assignment_expression "uVar70 = (uint3)(in_stack_fffffffffffffefc >> 8)" identifier = (call_expression "(uint3)(in_stack_fffffffffffffefc >> 8)" (parenthesized_expression "(uint3)" ( identifier )) (argument_list "(in_stack_fffffffffffffefc >> 8)" ( (binary_expression "in_stack_fffffffffffffefc >> 8" identifier >> number_literal) )))) ;) (if_statement "if (uVar65 == 100) {\n      p_Var62 = (this_00->local_mips16_call_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                _M_parent;\n      pp_Var43 = (_List_node_base **)\n                 &(this_00->local_mips16_call_stubs_)._M_t._M_impl.super__Rb_tree_header;\n      p_Var37 = p_Var62;\n      p_Var36 = (_Base_ptr)pp_Var43;\n      if (p_Var62 == (_Base_ptr)0x0) goto LAB_002c1c10;\n      do {\n        if (p_Var37[1]._M_color < _Var51) {\n          p_Var32 = p_Var37->_M_right;\n        }\n        else {\n          p_Var32 = p_Var37->_M_left;\n          p_Var36 = p_Var37;\n        }\n        p_Var37 = p_Var32;\n      } while (p_Var32 != (_Base_ptr)0x0);\n      if ((((_Base_ptr)pp_Var43 == p_Var36) || (_Var51 < p_Var36[1]._M_color)) ||\n         (p_Var36[1]._M_parent == (_Base_ptr)0x0)) goto LAB_002c1c10;\n      p_Var37 = (_Base_ptr)pp_Var43;\n      if (uVar64 != 0) {\n        bVar20 = true;\n        goto LAB_002c1c10;\n      }\n      do {\n        p_Var36 = p_Var62;\n        if (p_Var36[1]._M_color < _Var51) {\n          p_Var62 = p_Var36->_M_right;\n          p_Var36 = p_Var37;\n        }\n        else {\n          p_Var62 = p_Var36->_M_left;\n        }\n        p_Var37 = p_Var36;\n      } while (p_Var62 != (_Base_ptr)0x0);\n      pMVar49 = (Mips_relobj<32,_false> *)0x0;\n      if (((_Base_ptr)pp_Var43 != p_Var36) && (p_Var36[1]._M_color <= _Var51)) {\n        pMVar49 = (Mips_relobj<32,_false> *)p_Var36[1]._M_parent;\n      }\n      bVar20 = 0;\n      in_stack_fffffffffffffefc = (uint)uVar70 << 8;\n      goto LAB_002c1d90;\n    }" if (parenthesized_expression "(uVar65 == 100)" ( (binary_expression "uVar65 == 100" identifier == number_literal) )) (compound_statement "{\n      p_Var62 = (this_00->local_mips16_call_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                _M_parent;\n      pp_Var43 = (_List_node_base **)\n                 &(this_00->local_mips16_call_stubs_)._M_t._M_impl.super__Rb_tree_header;\n      p_Var37 = p_Var62;\n      p_Var36 = (_Base_ptr)pp_Var43;\n      if (p_Var62 == (_Base_ptr)0x0) goto LAB_002c1c10;\n      do {\n        if (p_Var37[1]._M_color < _Var51) {\n          p_Var32 = p_Var37->_M_right;\n        }\n        else {\n          p_Var32 = p_Var37->_M_left;\n          p_Var36 = p_Var37;\n        }\n        p_Var37 = p_Var32;\n      } while (p_Var32 != (_Base_ptr)0x0);\n      if ((((_Base_ptr)pp_Var43 == p_Var36) || (_Var51 < p_Var36[1]._M_color)) ||\n         (p_Var36[1]._M_parent == (_Base_ptr)0x0)) goto LAB_002c1c10;\n      p_Var37 = (_Base_ptr)pp_Var43;\n      if (uVar64 != 0) {\n        bVar20 = true;\n        goto LAB_002c1c10;\n      }\n      do {\n        p_Var36 = p_Var62;\n        if (p_Var36[1]._M_color < _Var51) {\n          p_Var62 = p_Var36->_M_right;\n          p_Var36 = p_Var37;\n        }\n        else {\n          p_Var62 = p_Var36->_M_left;\n        }\n        p_Var37 = p_Var36;\n      } while (p_Var62 != (_Base_ptr)0x0);\n      pMVar49 = (Mips_relobj<32,_false> *)0x0;\n      if (((_Base_ptr)pp_Var43 != p_Var36) && (p_Var36[1]._M_color <= _Var51)) {\n        pMVar49 = (Mips_relobj<32,_false> *)p_Var36[1]._M_parent;\n      }\n      bVar20 = 0;\n      in_stack_fffffffffffffefc = (uint)uVar70 << 8;\n      goto LAB_002c1d90;\n    }" { (expression_statement "p_Var62 = (this_00->local_mips16_call_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                _M_parent;" (assignment_expression "p_Var62 = (this_00->local_mips16_call_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                _M_parent" identifier = (field_expression "(this_00->local_mips16_call_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                _M_parent" (field_expression "(this_00->local_mips16_call_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "(this_00->local_mips16_call_stubs_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(this_00->local_mips16_call_stubs_)._M_t._M_impl" (field_expression "(this_00->local_mips16_call_stubs_)._M_t" (parenthesized_expression "(this_00->local_mips16_call_stubs_)" ( (field_expression "this_00->local_mips16_call_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "pp_Var43 = (_List_node_base **)\n                 &(this_00->local_mips16_call_stubs_)._M_t._M_impl.super__Rb_tree_header;" (assignment_expression "pp_Var43 = (_List_node_base **)\n                 &(this_00->local_mips16_call_stubs_)._M_t._M_impl.super__Rb_tree_header" identifier = (cast_expression "(_List_node_base **)\n                 &(this_00->local_mips16_call_stubs_)._M_t._M_impl.super__Rb_tree_header" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(this_00->local_mips16_call_stubs_)._M_t._M_impl.super__Rb_tree_header" & (field_expression "(this_00->local_mips16_call_stubs_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(this_00->local_mips16_call_stubs_)._M_t._M_impl" (field_expression "(this_00->local_mips16_call_stubs_)._M_t" (parenthesized_expression "(this_00->local_mips16_call_stubs_)" ( (field_expression "this_00->local_mips16_call_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)))) ;) (expression_statement "p_Var37 = p_Var62;" (assignment_expression "p_Var37 = p_Var62" identifier = identifier) ;) (expression_statement "p_Var36 = (_Base_ptr)pp_Var43;" (assignment_expression "p_Var36 = (_Base_ptr)pp_Var43" identifier = (cast_expression "(_Base_ptr)pp_Var43" ( (type_descriptor "_Base_ptr" type_identifier) ) identifier)) ;) (if_statement "if (p_Var62 == (_Base_ptr)0x0) goto LAB_002c1c10;" if (parenthesized_expression "(p_Var62 == (_Base_ptr)0x0)" ( (binary_expression "p_Var62 == (_Base_ptr)0x0" identifier == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_002c1c10;" goto statement_identifier ;)) (do_statement "do {\n        if (p_Var37[1]._M_color < _Var51) {\n          p_Var32 = p_Var37->_M_right;\n        }\n        else {\n          p_Var32 = p_Var37->_M_left;\n          p_Var36 = p_Var37;\n        }\n        p_Var37 = p_Var32;\n      } while (p_Var32 != (_Base_ptr)0x0);" do (compound_statement "{\n        if (p_Var37[1]._M_color < _Var51) {\n          p_Var32 = p_Var37->_M_right;\n        }\n        else {\n          p_Var32 = p_Var37->_M_left;\n          p_Var36 = p_Var37;\n        }\n        p_Var37 = p_Var32;\n      }" { (if_statement "if (p_Var37[1]._M_color < _Var51) {\n          p_Var32 = p_Var37->_M_right;\n        }\n        else {\n          p_Var32 = p_Var37->_M_left;\n          p_Var36 = p_Var37;\n        }" if (parenthesized_expression "(p_Var37[1]._M_color < _Var51)" ( (binary_expression "p_Var37[1]._M_color < _Var51" (field_expression "p_Var37[1]._M_color" (subscript_expression "p_Var37[1]" identifier [ number_literal ]) . field_identifier) < identifier) )) (compound_statement "{\n          p_Var32 = p_Var37->_M_right;\n        }" { (expression_statement "p_Var32 = p_Var37->_M_right;" (assignment_expression "p_Var32 = p_Var37->_M_right" identifier = (field_expression "p_Var37->_M_right" identifier -> field_identifier)) ;) }) (else_clause "else {\n          p_Var32 = p_Var37->_M_left;\n          p_Var36 = p_Var37;\n        }" else (compound_statement "{\n          p_Var32 = p_Var37->_M_left;\n          p_Var36 = p_Var37;\n        }" { (expression_statement "p_Var32 = p_Var37->_M_left;" (assignment_expression "p_Var32 = p_Var37->_M_left" identifier = (field_expression "p_Var37->_M_left" identifier -> field_identifier)) ;) (expression_statement "p_Var36 = p_Var37;" (assignment_expression "p_Var36 = p_Var37" identifier = identifier) ;) }))) (expression_statement "p_Var37 = p_Var32;" (assignment_expression "p_Var37 = p_Var32" identifier = identifier) ;) }) while (parenthesized_expression "(p_Var32 != (_Base_ptr)0x0)" ( (binary_expression "p_Var32 != (_Base_ptr)0x0" identifier != (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) ;) (if_statement "if ((((_Base_ptr)pp_Var43 == p_Var36) || (_Var51 < p_Var36[1]._M_color)) ||\n         (p_Var36[1]._M_parent == (_Base_ptr)0x0)) goto LAB_002c1c10;" if (parenthesized_expression "((((_Base_ptr)pp_Var43 == p_Var36) || (_Var51 < p_Var36[1]._M_color)) ||\n         (p_Var36[1]._M_parent == (_Base_ptr)0x0))" ( (binary_expression "(((_Base_ptr)pp_Var43 == p_Var36) || (_Var51 < p_Var36[1]._M_color)) ||\n         (p_Var36[1]._M_parent == (_Base_ptr)0x0)" (parenthesized_expression "(((_Base_ptr)pp_Var43 == p_Var36) || (_Var51 < p_Var36[1]._M_color))" ( (binary_expression "((_Base_ptr)pp_Var43 == p_Var36) || (_Var51 < p_Var36[1]._M_color)" (parenthesized_expression "((_Base_ptr)pp_Var43 == p_Var36)" ( (binary_expression "(_Base_ptr)pp_Var43 == p_Var36" (cast_expression "(_Base_ptr)pp_Var43" ( (type_descriptor "_Base_ptr" type_identifier) ) identifier) == identifier) )) || (parenthesized_expression "(_Var51 < p_Var36[1]._M_color)" ( (binary_expression "_Var51 < p_Var36[1]._M_color" identifier < (field_expression "p_Var36[1]._M_color" (subscript_expression "p_Var36[1]" identifier [ number_literal ]) . field_identifier)) ))) )) || (parenthesized_expression "(p_Var36[1]._M_parent == (_Base_ptr)0x0)" ( (binary_expression "p_Var36[1]._M_parent == (_Base_ptr)0x0" (field_expression "p_Var36[1]._M_parent" (subscript_expression "p_Var36[1]" identifier [ number_literal ]) . field_identifier) == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) ))) )) (goto_statement "goto LAB_002c1c10;" goto statement_identifier ;)) (expression_statement "p_Var37 = (_Base_ptr)pp_Var43;" (assignment_expression "p_Var37 = (_Base_ptr)pp_Var43" identifier = (cast_expression "(_Base_ptr)pp_Var43" ( (type_descriptor "_Base_ptr" type_identifier) ) identifier)) ;) (if_statement "if (uVar64 != 0) {\n        bVar20 = true;\n        goto LAB_002c1c10;\n      }" if (parenthesized_expression "(uVar64 != 0)" ( (binary_expression "uVar64 != 0" identifier != number_literal) )) (compound_statement "{\n        bVar20 = true;\n        goto LAB_002c1c10;\n      }" { (expression_statement "bVar20 = true;" (assignment_expression "bVar20 = true" identifier = true) ;) (goto_statement "goto LAB_002c1c10;" goto statement_identifier ;) })) (do_statement "do {\n        p_Var36 = p_Var62;\n        if (p_Var36[1]._M_color < _Var51) {\n          p_Var62 = p_Var36->_M_right;\n          p_Var36 = p_Var37;\n        }\n        else {\n          p_Var62 = p_Var36->_M_left;\n        }\n        p_Var37 = p_Var36;\n      } while (p_Var62 != (_Base_ptr)0x0);" do (compound_statement "{\n        p_Var36 = p_Var62;\n        if (p_Var36[1]._M_color < _Var51) {\n          p_Var62 = p_Var36->_M_right;\n          p_Var36 = p_Var37;\n        }\n        else {\n          p_Var62 = p_Var36->_M_left;\n        }\n        p_Var37 = p_Var36;\n      }" { (expression_statement "p_Var36 = p_Var62;" (assignment_expression "p_Var36 = p_Var62" identifier = identifier) ;) (if_statement "if (p_Var36[1]._M_color < _Var51) {\n          p_Var62 = p_Var36->_M_right;\n          p_Var36 = p_Var37;\n        }\n        else {\n          p_Var62 = p_Var36->_M_left;\n        }" if (parenthesized_expression "(p_Var36[1]._M_color < _Var51)" ( (binary_expression "p_Var36[1]._M_color < _Var51" (field_expression "p_Var36[1]._M_color" (subscript_expression "p_Var36[1]" identifier [ number_literal ]) . field_identifier) < identifier) )) (compound_statement "{\n          p_Var62 = p_Var36->_M_right;\n          p_Var36 = p_Var37;\n        }" { (expression_statement "p_Var62 = p_Var36->_M_right;" (assignment_expression "p_Var62 = p_Var36->_M_right" identifier = (field_expression "p_Var36->_M_right" identifier -> field_identifier)) ;) (expression_statement "p_Var36 = p_Var37;" (assignment_expression "p_Var36 = p_Var37" identifier = identifier) ;) }) (else_clause "else {\n          p_Var62 = p_Var36->_M_left;\n        }" else (compound_statement "{\n          p_Var62 = p_Var36->_M_left;\n        }" { (expression_statement "p_Var62 = p_Var36->_M_left;" (assignment_expression "p_Var62 = p_Var36->_M_left" identifier = (field_expression "p_Var36->_M_left" identifier -> field_identifier)) ;) }))) (expression_statement "p_Var37 = p_Var36;" (assignment_expression "p_Var37 = p_Var36" identifier = identifier) ;) }) while (parenthesized_expression "(p_Var62 != (_Base_ptr)0x0)" ( (binary_expression "p_Var62 != (_Base_ptr)0x0" identifier != (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) ;) (expression_statement "pMVar49 = (Mips_relobj<32,_false> *)0x0;" (assignment_expression "pMVar49 = (Mips_relobj<32,_false> *)0x0" identifier = (parenthesized_expression "(Mips_relobj<32,_false> *)0x0" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) ;) (if_statement "if (((_Base_ptr)pp_Var43 != p_Var36) && (p_Var36[1]._M_color <= _Var51)) {\n        pMVar49 = (Mips_relobj<32,_false> *)p_Var36[1]._M_parent;\n      }" if (parenthesized_expression "(((_Base_ptr)pp_Var43 != p_Var36) && (p_Var36[1]._M_color <= _Var51))" ( (binary_expression "((_Base_ptr)pp_Var43 != p_Var36) && (p_Var36[1]._M_color <= _Var51)" (parenthesized_expression "((_Base_ptr)pp_Var43 != p_Var36)" ( (binary_expression "(_Base_ptr)pp_Var43 != p_Var36" (cast_expression "(_Base_ptr)pp_Var43" ( (type_descriptor "_Base_ptr" type_identifier) ) identifier) != identifier) )) && (parenthesized_expression "(p_Var36[1]._M_color <= _Var51)" ( (binary_expression "p_Var36[1]._M_color <= _Var51" (field_expression "p_Var36[1]._M_color" (subscript_expression "p_Var36[1]" identifier [ number_literal ]) . field_identifier) <= identifier) ))) )) (compound_statement "{\n        pMVar49 = (Mips_relobj<32,_false> *)p_Var36[1]._M_parent;\n      }" { (expression_statement "pMVar49 = (Mips_relobj<32,_false> *)p_Var36[1]._M_parent;" (assignment_expression "pMVar49 = (Mips_relobj<32,_false> *)p_Var36[1]._M_parent" identifier = (parenthesized_expression "(Mips_relobj<32,_false> *)p_Var36[1]._M_parent" ( (comma_expression "Mips_relobj<32,_false> *)p_Var36[1]._M_parent" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)p_Var36[1]._M_parent" identifier > (pointer_expression "*)p_Var36[1]._M_parent" * (ERROR ")" )) (field_expression "p_Var36[1]._M_parent" (subscript_expression "p_Var36[1]" identifier [ number_literal ]) . field_identifier)))) ))) ;) })) (expression_statement "bVar20 = 0;" (assignment_expression "bVar20 = 0" identifier = number_literal) ;) (expression_statement "in_stack_fffffffffffffefc = (uint)uVar70 << 8;" (assignment_expression "in_stack_fffffffffffffefc = (uint)uVar70 << 8" identifier = (binary_expression "(uint)uVar70 << 8" (cast_expression "(uint)uVar70" ( (type_descriptor "uint" type_identifier) ) identifier) << number_literal)) ;) (goto_statement "goto LAB_002c1d90;" goto statement_identifier ;) })) (expression_statement "pp_Var43 = (_List_node_base **)\n               &(this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header;" (assignment_expression "pp_Var43 = (_List_node_base **)\n               &(this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header" identifier = (cast_expression "(_List_node_base **)\n               &(this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header" & (field_expression "(this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(this_00->local_mips16_fn_stubs_)._M_t._M_impl" (field_expression "(this_00->local_mips16_fn_stubs_)._M_t" (parenthesized_expression "(this_00->local_mips16_fn_stubs_)" ( (field_expression "this_00->local_mips16_fn_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)))) ;) (expression_statement "p_Var62 = (this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header.\n              _M_parent;" (assignment_expression "p_Var62 = (this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header.\n              _M_parent" identifier = (field_expression "(this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header.\n              _M_parent" (field_expression "(this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "(this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(this_00->local_mips16_fn_stubs_)._M_t._M_impl" (field_expression "(this_00->local_mips16_fn_stubs_)._M_t" (parenthesized_expression "(this_00->local_mips16_fn_stubs_)" ( (field_expression "this_00->local_mips16_fn_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "p_Var37 = (_Base_ptr)pp_Var43;" (assignment_expression "p_Var37 = (_Base_ptr)pp_Var43" identifier = (cast_expression "(_Base_ptr)pp_Var43" ( (type_descriptor "_Base_ptr" type_identifier) ) identifier)) ;) (if_statement "if (p_Var62 != (_Base_ptr)0x0) {\n      do {\n        while (p_Var36 = p_Var62, p_Var36[1]._M_color < _Var51) {\n          pp_Var18 = &p_Var36->_M_right;\n          p_Var62 = *pp_Var18;\n          p_Var36 = p_Var37;\n          if (*pp_Var18 == (_Base_ptr)0x0) goto LAB_002c2b6a;\n        }\n        p_Var62 = p_Var36->_M_left;\n        p_Var37 = p_Var36;\n      } while (p_Var36->_M_left != (_Base_ptr)0x0);\nLAB_002c2b6a:\n      if ((((_Base_ptr)pp_Var43 == p_Var36) || (_Var51 < p_Var36[1]._M_color)) ||\n         (in_stack_fffffffffffffefc = (uint)uVar70 << 8, bVar21 = calculate_only,\n         p_Var36[1]._M_parent == (_Base_ptr)0x0)) goto LAB_002c1c10;\n      goto LAB_002c15fe;\n    }" if (parenthesized_expression "(p_Var62 != (_Base_ptr)0x0)" ( (binary_expression "p_Var62 != (_Base_ptr)0x0" identifier != (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (compound_statement "{\n      do {\n        while (p_Var36 = p_Var62, p_Var36[1]._M_color < _Var51) {\n          pp_Var18 = &p_Var36->_M_right;\n          p_Var62 = *pp_Var18;\n          p_Var36 = p_Var37;\n          if (*pp_Var18 == (_Base_ptr)0x0) goto LAB_002c2b6a;\n        }\n        p_Var62 = p_Var36->_M_left;\n        p_Var37 = p_Var36;\n      } while (p_Var36->_M_left != (_Base_ptr)0x0);\nLAB_002c2b6a:\n      if ((((_Base_ptr)pp_Var43 == p_Var36) || (_Var51 < p_Var36[1]._M_color)) ||\n         (in_stack_fffffffffffffefc = (uint)uVar70 << 8, bVar21 = calculate_only,\n         p_Var36[1]._M_parent == (_Base_ptr)0x0)) goto LAB_002c1c10;\n      goto LAB_002c15fe;\n    }" { (do_statement "do {\n        while (p_Var36 = p_Var62, p_Var36[1]._M_color < _Var51) {\n          pp_Var18 = &p_Var36->_M_right;\n          p_Var62 = *pp_Var18;\n          p_Var36 = p_Var37;\n          if (*pp_Var18 == (_Base_ptr)0x0) goto LAB_002c2b6a;\n        }\n        p_Var62 = p_Var36->_M_left;\n        p_Var37 = p_Var36;\n      } while (p_Var36->_M_left != (_Base_ptr)0x0);" do (compound_statement "{\n        while (p_Var36 = p_Var62, p_Var36[1]._M_color < _Var51) {\n          pp_Var18 = &p_Var36->_M_right;\n          p_Var62 = *pp_Var18;\n          p_Var36 = p_Var37;\n          if (*pp_Var18 == (_Base_ptr)0x0) goto LAB_002c2b6a;\n        }\n        p_Var62 = p_Var36->_M_left;\n        p_Var37 = p_Var36;\n      }" { (while_statement "while (p_Var36 = p_Var62, p_Var36[1]._M_color < _Var51) {\n          pp_Var18 = &p_Var36->_M_right;\n          p_Var62 = *pp_Var18;\n          p_Var36 = p_Var37;\n          if (*pp_Var18 == (_Base_ptr)0x0) goto LAB_002c2b6a;\n        }" while (parenthesized_expression "(p_Var36 = p_Var62, p_Var36[1]._M_color < _Var51)" ( (comma_expression "p_Var36 = p_Var62, p_Var36[1]._M_color < _Var51" (assignment_expression "p_Var36 = p_Var62" identifier = identifier) , (binary_expression "p_Var36[1]._M_color < _Var51" (field_expression "p_Var36[1]._M_color" (subscript_expression "p_Var36[1]" identifier [ number_literal ]) . field_identifier) < identifier)) )) (compound_statement "{\n          pp_Var18 = &p_Var36->_M_right;\n          p_Var62 = *pp_Var18;\n          p_Var36 = p_Var37;\n          if (*pp_Var18 == (_Base_ptr)0x0) goto LAB_002c2b6a;\n        }" { (expression_statement "pp_Var18 = &p_Var36->_M_right;" (assignment_expression "pp_Var18 = &p_Var36->_M_right" identifier = (pointer_expression "&p_Var36->_M_right" & (field_expression "p_Var36->_M_right" identifier -> field_identifier))) ;) (expression_statement "p_Var62 = *pp_Var18;" (assignment_expression "p_Var62 = *pp_Var18" identifier = (pointer_expression "*pp_Var18" * identifier)) ;) (expression_statement "p_Var36 = p_Var37;" (assignment_expression "p_Var36 = p_Var37" identifier = identifier) ;) (if_statement "if (*pp_Var18 == (_Base_ptr)0x0) goto LAB_002c2b6a;" if (parenthesized_expression "(*pp_Var18 == (_Base_ptr)0x0)" ( (binary_expression "*pp_Var18 == (_Base_ptr)0x0" (pointer_expression "*pp_Var18" * identifier) == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_002c2b6a;" goto statement_identifier ;)) })) (expression_statement "p_Var62 = p_Var36->_M_left;" (assignment_expression "p_Var62 = p_Var36->_M_left" identifier = (field_expression "p_Var36->_M_left" identifier -> field_identifier)) ;) (expression_statement "p_Var37 = p_Var36;" (assignment_expression "p_Var37 = p_Var36" identifier = identifier) ;) }) while (parenthesized_expression "(p_Var36->_M_left != (_Base_ptr)0x0)" ( (binary_expression "p_Var36->_M_left != (_Base_ptr)0x0" (field_expression "p_Var36->_M_left" identifier -> field_identifier) != (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) ;) (labeled_statement "LAB_002c2b6a:\n      if ((((_Base_ptr)pp_Var43 == p_Var36) || (_Var51 < p_Var36[1]._M_color)) ||\n         (in_stack_fffffffffffffefc = (uint)uVar70 << 8, bVar21 = calculate_only,\n         p_Var36[1]._M_parent == (_Base_ptr)0x0)) goto LAB_002c1c10;" statement_identifier : (if_statement "if ((((_Base_ptr)pp_Var43 == p_Var36) || (_Var51 < p_Var36[1]._M_color)) ||\n         (in_stack_fffffffffffffefc = (uint)uVar70 << 8, bVar21 = calculate_only,\n         p_Var36[1]._M_parent == (_Base_ptr)0x0)) goto LAB_002c1c10;" if (parenthesized_expression "((((_Base_ptr)pp_Var43 == p_Var36) || (_Var51 < p_Var36[1]._M_color)) ||\n         (in_stack_fffffffffffffefc = (uint)uVar70 << 8, bVar21 = calculate_only,\n         p_Var36[1]._M_parent == (_Base_ptr)0x0))" ( (binary_expression "(((_Base_ptr)pp_Var43 == p_Var36) || (_Var51 < p_Var36[1]._M_color)) ||\n         (in_stack_fffffffffffffefc = (uint)uVar70 << 8, bVar21 = calculate_only,\n         p_Var36[1]._M_parent == (_Base_ptr)0x0)" (parenthesized_expression "(((_Base_ptr)pp_Var43 == p_Var36) || (_Var51 < p_Var36[1]._M_color))" ( (binary_expression "((_Base_ptr)pp_Var43 == p_Var36) || (_Var51 < p_Var36[1]._M_color)" (parenthesized_expression "((_Base_ptr)pp_Var43 == p_Var36)" ( (binary_expression "(_Base_ptr)pp_Var43 == p_Var36" (cast_expression "(_Base_ptr)pp_Var43" ( (type_descriptor "_Base_ptr" type_identifier) ) identifier) == identifier) )) || (parenthesized_expression "(_Var51 < p_Var36[1]._M_color)" ( (binary_expression "_Var51 < p_Var36[1]._M_color" identifier < (field_expression "p_Var36[1]._M_color" (subscript_expression "p_Var36[1]" identifier [ number_literal ]) . field_identifier)) ))) )) || (parenthesized_expression "(in_stack_fffffffffffffefc = (uint)uVar70 << 8, bVar21 = calculate_only,\n         p_Var36[1]._M_parent == (_Base_ptr)0x0)" ( (comma_expression "in_stack_fffffffffffffefc = (uint)uVar70 << 8, bVar21 = calculate_only,\n         p_Var36[1]._M_parent == (_Base_ptr)0x0" (assignment_expression "in_stack_fffffffffffffefc = (uint)uVar70 << 8" identifier = (binary_expression "(uint)uVar70 << 8" (cast_expression "(uint)uVar70" ( (type_descriptor "uint" type_identifier) ) identifier) << number_literal)) , (comma_expression "bVar21 = calculate_only,\n         p_Var36[1]._M_parent == (_Base_ptr)0x0" (assignment_expression "bVar21 = calculate_only" identifier = identifier) , (binary_expression "p_Var36[1]._M_parent == (_Base_ptr)0x0" (field_expression "p_Var36[1]._M_parent" (subscript_expression "p_Var36[1]" identifier [ number_literal ]) . field_identifier) == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)))) ))) )) (goto_statement "goto LAB_002c1c10;" goto statement_identifier ;))) (goto_statement "goto LAB_002c15fe;" goto statement_identifier ;) })) (labeled_statement "LAB_002c1c10:\n    in_stack_fffffffffffffefc = in_stack_fffffffffffffefc & 0xffffff00;" statement_identifier : (expression_statement "in_stack_fffffffffffffefc = in_stack_fffffffffffffefc & 0xffffff00;" (assignment_expression "in_stack_fffffffffffffefc = in_stack_fffffffffffffefc & 0xffffff00" identifier = (binary_expression "in_stack_fffffffffffffefc & 0xffffff00" identifier & number_literal)) ;)) (labeled_statement "LAB_002c1c17:\n    bVar67 = uVar65 == 100;" statement_identifier : (expression_statement "bVar67 = uVar65 == 100;" (assignment_expression "bVar67 = uVar65 == 100" identifier = (binary_expression "uVar65 == 100" identifier == number_literal)) ;)) (labeled_statement "LAB_002c13a0:\n    bVar68 = (bool)(calculate_only & bVar67);" statement_identifier : (expression_statement "bVar68 = (bool)(calculate_only & bVar67);" (assignment_expression "bVar68 = (bool)(calculate_only & bVar67)" identifier = (cast_expression "(bool)(calculate_only & bVar67)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(calculate_only & bVar67)" ( (binary_expression "calculate_only & bVar67" identifier & identifier) )))) ;)) (expression_statement "bVar21 = bVar68;" (assignment_expression "bVar21 = bVar68" identifier = identifier) ;) (if_statement "if (bVar68 == false) {\nLAB_002c13ac:\n      bVar21 = calculate_only;\n      uVar39 = uVar39 & 0xf7;\n      local_c8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n      pp_Var43 = (_List_node_base **)(ulong)uVar39;\n      bVar68 = bVar67;\n      if (uVar39 == 0x85) {\nLAB_002c1870:\n        if (bVar20 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        pp_Var43 = (_List_node_base **)local_c8;\n        if (uVar65 - 0x8b < 2) goto LAB_002c1870;\n      }\n    }\n    else {\nLAB_002c187c:\n      pcVar61 = (char *)gettext("MIPS16 and microMIPS functions cannot call each other");\n      gold::gold_error(pcVar61);\n    }" if (parenthesized_expression "(bVar68 == false)" ( (binary_expression "bVar68 == false" identifier == false) )) (compound_statement "{\nLAB_002c13ac:\n      bVar21 = calculate_only;\n      uVar39 = uVar39 & 0xf7;\n      local_c8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n      pp_Var43 = (_List_node_base **)(ulong)uVar39;\n      bVar68 = bVar67;\n      if (uVar39 == 0x85) {\nLAB_002c1870:\n        if (bVar20 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        pp_Var43 = (_List_node_base **)local_c8;\n        if (uVar65 - 0x8b < 2) goto LAB_002c1870;\n      }\n    }" { (labeled_statement "LAB_002c13ac:\n      bVar21 = calculate_only;" statement_identifier : (expression_statement "bVar21 = calculate_only;" (assignment_expression "bVar21 = calculate_only" identifier = identifier) ;)) (expression_statement "uVar39 = uVar39 & 0xf7;" (assignment_expression "uVar39 = uVar39 & 0xf7" identifier = (binary_expression "uVar39 & 0xf7" identifier & number_literal)) ;) (expression_statement "local_c8 = (Mips_relobj<32,_false> *)(ulong)uVar39;" (assignment_expression "local_c8 = (Mips_relobj<32,_false> *)(ulong)" identifier = (call_expression "(Mips_relobj<32,_false> *)(ulong)" (parenthesized_expression "(Mips_relobj<32,_false> *)" ( (comma_expression "Mips_relobj<32,_false> *" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(ulong)" ( identifier )))) (ERROR "uVar39" identifier) ;) (expression_statement "pp_Var43 = (_List_node_base **)(ulong)uVar39;" (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)uVar39" identifier = (cast_expression "(_List_node_base **)(ulong)uVar39" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)uVar39" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "bVar68 = bVar67;" (assignment_expression "bVar68 = bVar67" identifier = identifier) ;) (if_statement "if (uVar39 == 0x85) {\nLAB_002c1870:\n        if (bVar20 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        pp_Var43 = (_List_node_base **)local_c8;\n        if (uVar65 - 0x8b < 2) goto LAB_002c1870;\n      }" if (parenthesized_expression "(uVar39 == 0x85)" ( (binary_expression "uVar39 == 0x85" identifier == number_literal) )) (compound_statement "{\nLAB_002c1870:\n        if (bVar20 != 0) goto LAB_002c187c;\n      }" { (labeled_statement "LAB_002c1870:\n        if (bVar20 != 0) goto LAB_002c187c;" statement_identifier : (if_statement "if (bVar20 != 0) goto LAB_002c187c;" if (parenthesized_expression "(bVar20 != 0)" ( (binary_expression "bVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002c187c;" goto statement_identifier ;))) }) (else_clause "else {\nLAB_002c13c4:\n        pp_Var43 = (_List_node_base **)local_c8;\n        if (uVar65 - 0x8b < 2) goto LAB_002c1870;\n      }" else (compound_statement "{\nLAB_002c13c4:\n        pp_Var43 = (_List_node_base **)local_c8;\n        if (uVar65 - 0x8b < 2) goto LAB_002c1870;\n      }" { (labeled_statement "LAB_002c13c4:\n        pp_Var43 = (_List_node_base **)local_c8;" statement_identifier : (expression_statement "pp_Var43 = (_List_node_base **)local_c8;" (assignment_expression "pp_Var43 = (_List_node_base **)local_c8" identifier = (cast_expression "(_List_node_base **)local_c8" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;)) (if_statement "if (uVar65 - 0x8b < 2) goto LAB_002c1870;" if (parenthesized_expression "(uVar65 - 0x8b < 2)" ( (binary_expression "uVar65 - 0x8b < 2" (binary_expression "uVar65 - 0x8b" identifier - number_literal) < number_literal) )) (goto_statement "goto LAB_002c1870;" goto statement_identifier ;)) }))) }) (else_clause "else {\nLAB_002c187c:\n      pcVar61 = (char *)gettext("MIPS16 and microMIPS functions cannot call each other");\n      gold::gold_error(pcVar61);\n    }" else (compound_statement "{\nLAB_002c187c:\n      pcVar61 = (char *)gettext("MIPS16 and microMIPS functions cannot call each other");\n      gold::gold_error(pcVar61);\n    }" { (labeled_statement "LAB_002c187c:\n      pcVar61 = (char *)gettext("MIPS16 and microMIPS functions cannot call each other");" statement_identifier : (expression_statement "pcVar61 = (char *)gettext("MIPS16 and microMIPS functions cannot call each other");" (assignment_expression "pcVar61 = (char *)gettext("MIPS16 and microMIPS functions cannot call each other")" identifier = (cast_expression "(char *)gettext("MIPS16 and microMIPS functions cannot call each other")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("MIPS16 and microMIPS functions cannot call each other")" identifier (argument_list "("MIPS16 and microMIPS functions cannot call each other")" ( (string_literal ""MIPS16 and microMIPS functions cannot call each other"" " string_content ") ))))) ;)) (labeled_statement "gold::gold_error(pcVar61);" statement_identifier : (ERROR ":" :) (expression_statement "gold_error(pcVar61);" (call_expression "gold_error(pcVar61)" identifier (argument_list "(pcVar61)" ( identifier ))) ;)) }))) (labeled_statement "LAB_002c13d7:\n    if (gsym != (Sized_symbol<32> *)0x0) goto LAB_002c16b8;" statement_identifier : (if_statement "if (gsym != (Sized_symbol<32> *)0x0) goto LAB_002c16b8;" if (parenthesized_expression "(gsym != (Sized_symbol<32> *)0x0)" ( (binary_expression "gsym != (Sized_symbol<32> *)0x0)" identifier != (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) )) (goto_statement "goto LAB_002c16b8;" goto statement_identifier ;))) (expression_statement "local_cf = (bVar20 ^ 1) & bVar68;" (assignment_expression "local_cf = (bVar20 ^ 1) & bVar68" identifier = (binary_expression "(bVar20 ^ 1) & bVar68" (parenthesized_expression "(bVar20 ^ 1)" ( (binary_expression "bVar20 ^ 1" identifier ^ number_literal) )) & identifier)) ;) (expression_statement "local_ce = (bool)local_cf;" (assignment_expression "local_ce = (bool)local_cf" identifier = (cast_expression "(bool)local_cf" ( (type_descriptor "bool" primitive_type) ) identifier)) ;) (if_statement "if ((bool)local_cf != false) goto LAB_002c1402;" if (parenthesized_expression "((bool)local_cf != false)" ( (binary_expression "(bool)local_cf != false" (cast_expression "(bool)local_cf" ( (type_descriptor "bool" primitive_type) ) identifier) != false) )) (goto_statement "goto LAB_002c1402;" goto statement_identifier ;)) (expression_statement "local_cf = (bVar21 ^ 1) & uVar65 == 0x85;" (assignment_expression "local_cf = (bVar21 ^ 1) & uVar65 == 0x85" identifier = (binary_expression "(bVar21 ^ 1) & uVar65 == 0x85" (parenthesized_expression "(bVar21 ^ 1)" ( (binary_expression "bVar21 ^ 1" identifier ^ number_literal) )) & (binary_expression "uVar65 == 0x85" identifier == number_literal))) ;) (if_statement "if ((bool)local_cf == false) goto LAB_002c1bcf;" if (parenthesized_expression "((bool)local_cf == false)" ( (binary_expression "(bool)local_cf == false" (cast_expression "(bool)local_cf" ( (type_descriptor "bool" primitive_type) ) identifier) == false) )) (goto_statement "goto LAB_002c1bcf;" goto statement_identifier ;)) (expression_statement "r_types[0] = 0x85;" (assignment_expression "r_types[0] = 0x85" (subscript_expression "r_types[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "r_types[1] = 0;" (assignment_expression "r_types[1] = 0" (subscript_expression "r_types[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "r_types[2] = 0;" (assignment_expression "r_types[2] = 0" (subscript_expression "r_types[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_f0 = 0x21;" (assignment_expression "local_f0 = 0x21" identifier = number_literal) ;) (expression_statement "local_b8 = (_Bit_type *)(ulong)(rel_type == 9);" (assignment_expression "local_b8 = (_Bit_type *)(ulong)(rel_type == 9)" identifier = (cast_expression "(_Bit_type *)(ulong)(rel_type == 9)" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)(rel_type == 9)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(rel_type == 9)" ( (binary_expression "rel_type == 9" identifier == number_literal) ))))) ;) (expression_statement "local_ce = (bool)local_cf;" (assignment_expression "local_ce = (bool)local_cf" identifier = (cast_expression "(bool)local_cf" ( (type_descriptor "bool" primitive_type) ) identifier)) ;) (labeled_statement "LAB_002c1d4a:\n    if (1 < r_types[0] - 0x8b) {\n      uVar39 = (uint)*(ushort *)view;\n      pp_Var43 = (_List_node_base **)(ulong)*(ushort *)(view + 2);\nLAB_002c1462:\n      uVar65 = uVar39 << 0x10 | (uint)pp_Var43;\nLAB_002c1467:\n      *(uint *)view = uVar65;\n    }" statement_identifier : (if_statement "if (1 < r_types[0] - 0x8b) {\n      uVar39 = (uint)*(ushort *)view;\n      pp_Var43 = (_List_node_base **)(ulong)*(ushort *)(view + 2);\nLAB_002c1462:\n      uVar65 = uVar39 << 0x10 | (uint)pp_Var43;\nLAB_002c1467:\n      *(uint *)view = uVar65;\n    }" if (parenthesized_expression "(1 < r_types[0] - 0x8b)" ( (binary_expression "1 < r_types[0] - 0x8b" number_literal < (binary_expression "r_types[0] - 0x8b" (subscript_expression "r_types[0]" identifier [ number_literal ]) - number_literal)) )) (compound_statement "{\n      uVar39 = (uint)*(ushort *)view;\n      pp_Var43 = (_List_node_base **)(ulong)*(ushort *)(view + 2);\nLAB_002c1462:\n      uVar65 = uVar39 << 0x10 | (uint)pp_Var43;\nLAB_002c1467:\n      *(uint *)view = uVar65;\n    }" { (expression_statement "uVar39 = (uint)*(ushort *)view;" (assignment_expression "uVar39 = (uint)*(ushort *)view" identifier = (binary_expression "(uint)*(ushort *)view" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)view" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pp_Var43 = (_List_node_base **)(ulong)*(ushort *)(view + 2);" (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)*(ushort *)(view + 2)" identifier = (binary_expression "(_List_node_base **)(ulong)*(ushort *)(view + 2)" (cast_expression "(_List_node_base **)(ulong)" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(ulong)" ( identifier ))) * (cast_expression "(ushort *)(view + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(view + 2)" ( (binary_expression "view + 2" identifier + number_literal) ))))) ;) (labeled_statement "LAB_002c1462:\n      uVar65 = uVar39 << 0x10 | (uint)pp_Var43;" statement_identifier : (expression_statement "uVar65 = uVar39 << 0x10 | (uint)pp_Var43;" (assignment_expression "uVar65 = uVar39 << 0x10 | (uint)pp_Var43" identifier = (binary_expression "uVar39 << 0x10 | (uint)pp_Var43" (binary_expression "uVar39 << 0x10" identifier << number_literal) | (cast_expression "(uint)pp_Var43" ( (type_descriptor "uint" type_identifier) ) identifier))) ;)) (labeled_statement "LAB_002c1467:\n      *(uint *)view = uVar65;" statement_identifier : (expression_statement "*(uint *)view = uVar65;" (assignment_expression "*(uint *)view = uVar65" (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;)) }))) }) else { (expression_statement "bVar20 = (byte)(gsym->super_Symbol).field_0x39 >> 2;" (assignment_expression "bVar20 = (byte)(gsym->super_Symbol).field_0x39 >> 2" identifier = (binary_expression "(byte)(gsym->super_Symbol).field_0x39 >> 2" (field_expression "(byte)(gsym->super_Symbol).field_0x39" (call_expression "(byte)(gsym->super_Symbol)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(gsym->super_Symbol)" ( (field_expression "gsym->super_Symbol" identifier -> field_identifier) ))) . field_identifier) >> number_literal)) ;) (expression_statement "bVar67 = (bVar20 & 0x3c) == 0x3c;" (assignment_expression "bVar67 = (bVar20 & 0x3c) == 0x3c" identifier = (binary_expression "(bVar20 & 0x3c) == 0x3c" (parenthesized_expression "(bVar20 & 0x3c)" ( (binary_expression "bVar20 & 0x3c" identifier & number_literal) )) == number_literal)) ;) (expression_statement "pMVar28 = (Mips_symbol<64> *)(ulong)bVar67;" (assignment_expression "pMVar28 = (Mips_symbol<64> *)(ulong)" identifier = (call_expression "(Mips_symbol<64> *)(ulong)" (parenthesized_expression "(Mips_symbol<64> *)" ( (binary_expression "Mips_symbol<64> *" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "(ulong)" ( identifier )))) (ERROR "bVar67" identifier) ;) (expression_statement "calculate_only = (bVar20 & 0x30) == 0x20;" (assignment_expression "calculate_only = (bVar20 & 0x30) == 0x20" identifier = (binary_expression "(bVar20 & 0x30) == 0x20" (parenthesized_expression "(bVar20 & 0x30)" ( (binary_expression "bVar20 & 0x30" identifier & number_literal) )) == number_literal)) ;) (expression_statement "local_cd = bVar67 || (bool)calculate_only;" (assignment_expression "local_cd = bVar67 || (bool)calculate_only" identifier = (binary_expression "bVar67 || (bool)calculate_only" identifier || (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier))) ;) (expression_statement "puVar63 = (uchar *)relnum;" (assignment_expression "puVar63 = (uchar *)relnum" identifier = (cast_expression "(uchar *)relnum" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((bVar67 || (bool)calculate_only) &&\n       (VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,0), VVar23 != 0)) {\n      VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,0);\n      symval.u_.value = VVar23 | 1;\n      psymval = &symval;\n    }\n    else {\n      local_cd = false;\n    }" if (parenthesized_expression "((bVar67 || (bool)calculate_only) &&\n       (VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,0), VVar23 != 0))" ( (binary_expression "(bVar67 || (bool)calculate_only) &&\n       (VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,0), VVar23 != 0))" (parenthesized_expression "(bVar67 || (bool)calculate_only)" ( (binary_expression "bVar67 || (bool)calculate_only" identifier || (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier)) )) && (parenthesized_expression "(VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,0), VVar23 != 0))" ( (binary_expression "VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,0), VVar23 != 0)" (binary_expression "VVar23 = gold::Symbol_value<32>::value<false" (binary_expression "VVar23 = gold::Symbol_value<32>::value" (binary_expression "VVar23 = gold::Symbol_value<32" (assignment_expression "VVar23 = gold" identifier = identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "::" : :) identifier) < false) > (parenthesized_expression "(psymval,(Sized_relobj_file<32,_false> *)this_00,0), VVar23 != 0)" ( (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,0), VVar23 != 0" identifier , (comma_expression "(Sized_relobj_file<32,_false> *)this_00,0), VVar23 != 0" (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , number_literal)) )) , (binary_expression "VVar23 != 0" identifier != number_literal))) ))) ))) )) (compound_statement "{\n      VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,0);\n      symval.u_.value = VVar23 | 1;\n      psymval = &symval;\n    }" { (expression_statement "VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,0);" (binary_expression "VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,0)" (binary_expression "VVar23 = gold::Symbol_value<32>::value<false" (binary_expression "VVar23 = gold::Symbol_value<32>::value" (binary_expression "VVar23 = gold::Symbol_value<32" (assignment_expression "VVar23 = gold" identifier = identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "::" : :) identifier) < false) > (parenthesized_expression "(psymval,(Sized_relobj_file<32,_false> *)this_00,0)" ( (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , number_literal)) ))) ))) ;) (expression_statement "symval.u_.value = VVar23 | 1;" (assignment_expression "symval.u_.value = VVar23 | 1" (field_expression "symval.u_.value" (field_expression "symval.u_" identifier . field_identifier) . field_identifier) = (binary_expression "VVar23 | 1" identifier | number_literal)) ;) (expression_statement "psymval = &symval;" (assignment_expression "psymval = &symval" identifier = (pointer_expression "&symval" & identifier)) ;) }) (else_clause "else {\n      local_cd = false;\n    }" else (compound_statement "{\n      local_cd = false;\n    }" { (expression_statement "local_cd = false;" (assignment_expression "local_cd = false" identifier = false) ;) }))) (expression_statement "local_c8 = (Mips_relobj<32,_false> *)&symval;" (assignment_expression "local_c8 = (Mips_relobj<32,_false> *)&symval" identifier = (binary_expression "(Mips_relobj<32,_false> *)&symval" (parenthesized_expression "(Mips_relobj<32,_false> *)" ( (comma_expression "Mips_relobj<32,_false> *" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) & identifier)) ;) (expression_statement "local_98 = (Mips_relobj<32,_false> *)0x0;" (assignment_expression "local_98 = (Mips_relobj<32,_false> *)0x0" identifier = (parenthesized_expression "(Mips_relobj<32,_false> *)0x0" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) ;) (if_statement "if (uVar65 - 1 < 0xf9) {\n      local_98 = (Mips_relobj<32,_false> *)(ulong)(uint)(int)(char)CSWTCH_4890[uVar65 - 1];\n    }" if (parenthesized_expression "(uVar65 - 1 < 0xf9)" ( (binary_expression "uVar65 - 1 < 0xf9" (binary_expression "uVar65 - 1" identifier - number_literal) < number_literal) )) (compound_statement "{\n      local_98 = (Mips_relobj<32,_false> *)(ulong)(uint)(int)(char)CSWTCH_4890[uVar65 - 1];\n    }" { (expression_statement "local_98 = (Mips_relobj<32,_false> *)(ulong)(uint)(int)(char)" (assignment_expression "local_98 = (Mips_relobj<32,_false> *)(ulong)(uint)(int)(char)" identifier = (call_expression "(Mips_relobj<32,_false> *)(ulong)(uint)(int)(char)" (call_expression "(Mips_relobj<32,_false> *)(ulong)(uint)(int)" (call_expression "(Mips_relobj<32,_false> *)(ulong)(uint)" (call_expression "(Mips_relobj<32,_false> *)(ulong)" (parenthesized_expression "(Mips_relobj<32,_false> *)" ( (comma_expression "Mips_relobj<32,_false> *" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(ulong)" ( identifier ))) (argument_list "(uint)" ( identifier ))) (argument_list "(int)" ( identifier ))) (argument_list "(char)" ( identifier )))) ;) (expression_statement "CSWTCH_4890[uVar65 - 1];" (subscript_expression "CSWTCH_4890[uVar65 - 1]" identifier [ (binary_expression "uVar65 - 1" identifier - number_literal) ]) ;) })) (expression_statement "pMVar58 = (Mips_got_info<32,_false> *)gsym;" (assignment_expression "pMVar58 = (Mips_got_info<32,_false> *)gsym" identifier = (parenthesized_expression "(Mips_got_info<32,_false> *)gsym" ( (comma_expression "Mips_got_info<32,_false> *)gsym" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)gsym" identifier > (pointer_expression "*)gsym" * (ERROR ")" )) identifier))) ))) ;) comment (ERROR "bVar67 = gold::" (assignment_expression "bVar67 = gold" identifier = identifier) : :) (labeled_statement "Symbol::use_plt_offset(&gsym->super_Symbol,(int)local_98);" statement_identifier : (ERROR ":" :) (expression_statement "use_plt_offset(&gsym->super_Symbol,(int)local_98);" (call_expression "use_plt_offset(&gsym->super_Symbol,(int)local_98)" identifier (argument_list "(&gsym->super_Symbol,(int)local_98)" ( (pointer_expression "&gsym->super_Symbol" & (field_expression "gsym->super_Symbol" identifier -> field_identifier)) , (cast_expression "(int)local_98" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;)) (expression_statement "cVar5 = *(char *)((long)&gsym[1].super_Symbol.symtab_index_ + 1);" (assignment_expression "cVar5 = *(char *)((long)&gsym[1].super_Symbol.symtab_index_ + 1)" identifier = (pointer_expression "*(char *)((long)&gsym[1].super_Symbol.symtab_index_ + 1)" * (cast_expression "(char *)((long)&gsym[1].super_Symbol.symtab_index_ + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&gsym[1].super_Symbol.symtab_index_ + 1)" ( (binary_expression "(long)&gsym[1].super_Symbol.symtab_index_ + 1" (cast_expression "(long)&gsym[1].super_Symbol.symtab_index_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&gsym[1].super_Symbol.symtab_index_" & (field_expression "gsym[1].super_Symbol.symtab_index_" (field_expression "gsym[1].super_Symbol" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (if_statement "if (bVar67) {\n      if (cVar5 != '\0') goto LAB_002c11e1;\n      uVar40 = gsym[1].super_Symbol.dynsym_index_;\n      pMVar9 = target->plt_;\n      if (uVar40 == 0xffffffff) {\n        if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n          Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar58);\n          goto LAB_002c45d2;\n        }\n        uVar40 = gsym[1].super_Symbol.plt_offset_;\n        if (uVar40 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);\n        }\n        bVar20 = target->field_0x14;\n        VVar23 = uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n                 pMVar9->plt0_entry_o32[2];\n        if (bVar20 == 0) {\n                    /* WARNING: Subroutine does not return */\n          is_output_micromips(target);\n        }\n        local_b8 = (_Bit_type *)(ulong)*(uint *)&target->field_0x10;\n        bVar67 = false;\n        bVar68 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n        if (bVar68) {\n          pMVar28 = (Mips_symbol<64> *)(ulong)bVar20;\n          bVar20 = calculate_only;\n        }\n      }\n      else {\n        if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\nLAB_002c4644:\n          Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar58);\nLAB_002c4649:\n                    /* WARNING: Subroutine does not return */\n          Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);\n        }\n        if ((pMVar9->field_0x20 & 1) == 0) goto LAB_002c4649;\n        VVar23 = uVar40 + pMVar9->plt0_entry_o32[2] + pMVar9->plt_header_size_;\n        bVar67 = false;\n        pMVar28 = (Mips_symbol<64> *)0x0;\n        bVar68 = true;\n        bVar20 = 0;\n      }\nLAB_002c1209:\n      calculate_only = bVar20;\n      symval.u_.value = VVar23;\n      psymval = (Symbol_value<32> *)local_c8;\n    }\n    else {\n      bVar67 = false;\n      bVar68 = cVar5 == '\0';\n      if (!bVar68) {\nLAB_002c11e1:\n        pMVar8 = target->mips_stubs_;\n        if (pMVar8 == (Mips_output_data_mips_stubs<32,_false> *)0x0) {\n          mips_stubs_section((Target_mips<32,_false> *)pMVar58);\nLAB_002c4653:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if (((pMVar8->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);\n        }\n        uVar40 = *(uint *)((long)&gsym[1].super_Symbol.version_ + 4);\n        puVar1 = &(pMVar8->super_Output_section_data).super_Output_data.address_;\n        bVar67 = CARRY4(uVar40,(uint)*puVar1);\n        VVar23 = uVar40 + (int)*puVar1;\n        bVar68 = VVar23 == 0;\n        bVar20 = calculate_only;\n        goto LAB_002c1209;\n      }\n    }" if (parenthesized_expression "(bVar67)" ( identifier )) (compound_statement "{\n      if (cVar5 != '\0') goto LAB_002c11e1;\n      uVar40 = gsym[1].super_Symbol.dynsym_index_;\n      pMVar9 = target->plt_;\n      if (uVar40 == 0xffffffff) {\n        if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n          Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar58);\n          goto LAB_002c45d2;\n        }\n        uVar40 = gsym[1].super_Symbol.plt_offset_;\n        if (uVar40 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);\n        }\n        bVar20 = target->field_0x14;\n        VVar23 = uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n                 pMVar9->plt0_entry_o32[2];\n        if (bVar20 == 0) {\n                    /* WARNING: Subroutine does not return */\n          is_output_micromips(target);\n        }\n        local_b8 = (_Bit_type *)(ulong)*(uint *)&target->field_0x10;\n        bVar67 = false;\n        bVar68 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n        if (bVar68) {\n          pMVar28 = (Mips_symbol<64> *)(ulong)bVar20;\n          bVar20 = calculate_only;\n        }\n      }\n      else {\n        if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\nLAB_002c4644:\n          Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar58);\nLAB_002c4649:\n                    /* WARNING: Subroutine does not return */\n          Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);\n        }\n        if ((pMVar9->field_0x20 & 1) == 0) goto LAB_002c4649;\n        VVar23 = uVar40 + pMVar9->plt0_entry_o32[2] + pMVar9->plt_header_size_;\n        bVar67 = false;\n        pMVar28 = (Mips_symbol<64> *)0x0;\n        bVar68 = true;\n        bVar20 = 0;\n      }\nLAB_002c1209:\n      calculate_only = bVar20;\n      symval.u_.value = VVar23;\n      psymval = (Symbol_value<32> *)local_c8;\n    }" { (if_statement "if (cVar5 != '\0') goto LAB_002c11e1;" if (parenthesized_expression "(cVar5 != '\0')" ( (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002c11e1;" goto statement_identifier ;)) (expression_statement "uVar40 = gsym[1].super_Symbol.dynsym_index_;" (assignment_expression "uVar40 = gsym[1].super_Symbol.dynsym_index_" identifier = (field_expression "gsym[1].super_Symbol.dynsym_index_" (field_expression "gsym[1].super_Symbol" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)) ;) (expression_statement "pMVar9 = target->plt_;" (assignment_expression "pMVar9 = target->plt_" identifier = (field_expression "target->plt_" identifier -> field_identifier)) ;) (if_statement "if (uVar40 == 0xffffffff) {\n        if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n          Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar58);\n          goto LAB_002c45d2;\n        }\n        uVar40 = gsym[1].super_Symbol.plt_offset_;\n        if (uVar40 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);\n        }\n        bVar20 = target->field_0x14;\n        VVar23 = uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n                 pMVar9->plt0_entry_o32[2];\n        if (bVar20 == 0) {\n                    /* WARNING: Subroutine does not return */\n          is_output_micromips(target);\n        }\n        local_b8 = (_Bit_type *)(ulong)*(uint *)&target->field_0x10;\n        bVar67 = false;\n        bVar68 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n        if (bVar68) {\n          pMVar28 = (Mips_symbol<64> *)(ulong)bVar20;\n          bVar20 = calculate_only;\n        }\n      }\n      else {\n        if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\nLAB_002c4644:\n          Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar58);\nLAB_002c4649:\n                    /* WARNING: Subroutine does not return */\n          Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);\n        }\n        if ((pMVar9->field_0x20 & 1) == 0) goto LAB_002c4649;\n        VVar23 = uVar40 + pMVar9->plt0_entry_o32[2] + pMVar9->plt_header_size_;\n        bVar67 = false;\n        pMVar28 = (Mips_symbol<64> *)0x0;\n        bVar68 = true;\n        bVar20 = 0;\n      }" if (parenthesized_expression "(uVar40 == 0xffffffff)" ( (binary_expression "uVar40 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n        if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n          Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar58);\n          goto LAB_002c45d2;\n        }\n        uVar40 = gsym[1].super_Symbol.plt_offset_;\n        if (uVar40 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);\n        }\n        bVar20 = target->field_0x14;\n        VVar23 = uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n                 pMVar9->plt0_entry_o32[2];\n        if (bVar20 == 0) {\n                    /* WARNING: Subroutine does not return */\n          is_output_micromips(target);\n        }\n        local_b8 = (_Bit_type *)(ulong)*(uint *)&target->field_0x10;\n        bVar67 = false;\n        bVar68 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n        if (bVar68) {\n          pMVar28 = (Mips_symbol<64> *)(ulong)bVar20;\n          bVar20 = calculate_only;\n        }\n      }" { (if_statement "if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n          Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar58);\n          goto LAB_002c45d2;\n        }" if (parenthesized_expression "(pMVar9 == (Mips_output_data_plt<32,_false> *)0x0)" ( (binary_expression "pMVar9 == (Mips_output_data_plt<32,_false> *)0x0)" identifier == (parenthesized_expression "(Mips_output_data_plt<32,_false> *)0x0)" ( (comma_expression "Mips_output_data_plt<32,_false> *)0x0" (binary_expression "Mips_output_data_plt<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n          Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar58);\n          goto LAB_002c45d2;\n        }" { (expression_statement "Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar58);" (comma_expression "Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar58)" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false>::plt_section((Target_mips<32,_false> *)pMVar58)" identifier > (ERROR "::" : :) (call_expression "plt_section((Target_mips<32,_false> *)pMVar58)" identifier (argument_list "((Target_mips<32,_false> *)pMVar58)" ( (parenthesized_expression "(Target_mips<32,_false> *)pMVar58)" ( (comma_expression "Target_mips<32,_false> *)pMVar58" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)pMVar58" identifier > (pointer_expression "*)pMVar58" * (ERROR ")" )) identifier))) )) ))))) ;) (goto_statement "goto LAB_002c45d2;" goto statement_identifier ;) })) (expression_statement "uVar40 = gsym[1].super_Symbol.plt_offset_;" (assignment_expression "uVar40 = gsym[1].super_Symbol.plt_offset_" identifier = (field_expression "gsym[1].super_Symbol.plt_offset_" (field_expression "gsym[1].super_Symbol" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)) ;) (if_statement "if (uVar40 == 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }" if (parenthesized_expression "(uVar40 == 0xffffffff)" ( (binary_expression "uVar40 == 0xffffffff" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/mips.cc",0x9ed,"comp_entry_address");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/mips.cc",0x9ed,"comp_entry_address");" (call_expression "do_gold_unreachable("../../gold/mips.cc",0x9ed,"comp_entry_address")" identifier (argument_list "("../../gold/mips.cc",0x9ed,"comp_entry_address")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""comp_entry_address"" " string_content ") ))) ;)) })) (if_statement "if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);\n        }" if (parenthesized_expression "((pMVar9->field_0x20 & 1) == 0)" ( (binary_expression "(pMVar9->field_0x20 & 1) == 0" (parenthesized_expression "(pMVar9->field_0x20 & 1)" ( (binary_expression "pMVar9->field_0x20 & 1" (field_expression "pMVar9->field_0x20" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);\n        }" { comment (expression_statement "Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);" (comma_expression "Mips_output_data_plt<64,_false>::mips_entry_address" (binary_expression "Mips_output_data_plt<64" identifier < number_literal) , (binary_expression "_false>::mips_entry_address" identifier > (ERROR "::" : :) identifier)) (ERROR "((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98)" ( ( (comma_expression "Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98)" (binary_expression "Mips_output_data_plt<64" identifier < number_literal) , (comma_expression "_false> *)pMVar58,(Mips_symbol<64> *)local_98)" (binary_expression "_false> *)pMVar58" identifier > (pointer_expression "*)pMVar58" * (ERROR ")" )) identifier)) , (parenthesized_expression "(Mips_symbol<64> *)local_98)" ( (binary_expression "Mips_symbol<64> *)local_98" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*)local_98" * (ERROR ")" )) identifier)) ))))) ;) })) (expression_statement "bVar20 = target->field_0x14;" (assignment_expression "bVar20 = target->field_0x14" identifier = (field_expression "target->field_0x14" identifier -> field_identifier)) ;) (expression_statement "VVar23 = uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n                 pMVar9->plt0_entry_o32[2];" (assignment_expression "VVar23 = uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n                 pMVar9->plt0_entry_o32[2]" identifier = (binary_expression "uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n                 pMVar9->plt0_entry_o32[2]" (binary_expression "uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_" (binary_expression "uVar40 + 1 + pMVar9->plt_header_size_" (binary_expression "uVar40 + 1" identifier + number_literal) + (field_expression "pMVar9->plt_header_size_" identifier -> field_identifier)) + (field_expression "pMVar9->plt_mips_offset_" identifier -> field_identifier)) + (subscript_expression "pMVar9->plt0_entry_o32[2]" (field_expression "pMVar9->plt0_entry_o32" identifier -> field_identifier) [ number_literal ]))) ;) (if_statement "if (bVar20 == 0) {\n                    /* WARNING: Subroutine does not return */\n          is_output_micromips(target);\n        }" if (parenthesized_expression "(bVar20 == 0)" ( (binary_expression "bVar20 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          is_output_micromips(target);\n        }" { comment (expression_statement "is_output_micromips(target);" (call_expression "is_output_micromips(target)" identifier (argument_list "(target)" ( identifier ))) ;) })) (expression_statement "local_b8 = (_Bit_type *)(ulong)*(uint *)&target->field_0x10;" (assignment_expression "local_b8 = (_Bit_type *)(ulong)*(uint *)&target->field_0x10" identifier = (binary_expression "(_Bit_type *)(ulong)*(uint *)&target->field_0x10" (cast_expression "(_Bit_type *)(ulong)" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ulong)" ( identifier ))) * (cast_expression "(uint *)&target->field_0x10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&target->field_0x10" & (field_expression "target->field_0x10" identifier -> field_identifier))))) ;) (expression_statement "bVar67 = false;" (assignment_expression "bVar67 = false" identifier = false) ;) (expression_statement "bVar68 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;" (assignment_expression "bVar68 = (*(uint *)&target->field_0x10 & 0x2000000) == 0" identifier = (binary_expression "(*(uint *)&target->field_0x10 & 0x2000000) == 0" (parenthesized_expression "(*(uint *)&target->field_0x10 & 0x2000000)" ( (binary_expression "*(uint *)&target->field_0x10 & 0x2000000" (pointer_expression "*(uint *)&target->field_0x10" * (cast_expression "(uint *)&target->field_0x10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&target->field_0x10" & (field_expression "target->field_0x10" identifier -> field_identifier)))) & number_literal) )) == number_literal)) ;) (if_statement "if (bVar68) {\n          pMVar28 = (Mips_symbol<64> *)(ulong)bVar20;\n          bVar20 = calculate_only;\n        }" if (parenthesized_expression "(bVar68)" ( identifier )) (compound_statement "{\n          pMVar28 = (Mips_symbol<64> *)(ulong)bVar20;\n          bVar20 = calculate_only;\n        }" { (expression_statement "pMVar28 = (Mips_symbol<64> *)(ulong)bVar20;" (assignment_expression "pMVar28 = (Mips_symbol<64> *)(ulong)" identifier = (call_expression "(Mips_symbol<64> *)(ulong)" (parenthesized_expression "(Mips_symbol<64> *)" ( (binary_expression "Mips_symbol<64> *" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "(ulong)" ( identifier )))) (ERROR "bVar20" identifier) ;) (expression_statement "bVar20 = calculate_only;" (assignment_expression "bVar20 = calculate_only" identifier = identifier) ;) })) }) (else_clause "else {\n        if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\nLAB_002c4644:\n          Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar58);\nLAB_002c4649:\n                    /* WARNING: Subroutine does not return */\n          Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);\n        }\n        if ((pMVar9->field_0x20 & 1) == 0) goto LAB_002c4649;\n        VVar23 = uVar40 + pMVar9->plt0_entry_o32[2] + pMVar9->plt_header_size_;\n        bVar67 = false;\n        pMVar28 = (Mips_symbol<64> *)0x0;\n        bVar68 = true;\n        bVar20 = 0;\n      }" else (compound_statement "{\n        if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\nLAB_002c4644:\n          Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar58);\nLAB_002c4649:\n                    /* WARNING: Subroutine does not return */\n          Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);\n        }\n        if ((pMVar9->field_0x20 & 1) == 0) goto LAB_002c4649;\n        VVar23 = uVar40 + pMVar9->plt0_entry_o32[2] + pMVar9->plt_header_size_;\n        bVar67 = false;\n        pMVar28 = (Mips_symbol<64> *)0x0;\n        bVar68 = true;\n        bVar20 = 0;\n      }" { (if_statement "if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\nLAB_002c4644:\n          Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar58);\nLAB_002c4649:\n                    /* WARNING: Subroutine does not return */\n          Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);\n        }" if (parenthesized_expression "(pMVar9 == (Mips_output_data_plt<32,_false> *)0x0)" ( (binary_expression "pMVar9 == (Mips_output_data_plt<32,_false> *)0x0)" identifier == (parenthesized_expression "(Mips_output_data_plt<32,_false> *)0x0)" ( (comma_expression "Mips_output_data_plt<32,_false> *)0x0" (binary_expression "Mips_output_data_plt<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\nLAB_002c4644:\n          Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar58);\nLAB_002c4649:\n                    /* WARNING: Subroutine does not return */\n          Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);\n        }" { (labeled_statement "LAB_002c4644:\n          Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar58);" statement_identifier : (expression_statement "Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar58);" (comma_expression "Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar58)" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false>::plt_section((Target_mips<32,_false> *)pMVar58)" identifier > (ERROR "::" : :) (call_expression "plt_section((Target_mips<32,_false> *)pMVar58)" identifier (argument_list "((Target_mips<32,_false> *)pMVar58)" ( (parenthesized_expression "(Target_mips<32,_false> *)pMVar58)" ( (comma_expression "Target_mips<32,_false> *)pMVar58" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)pMVar58" identifier > (pointer_expression "*)pMVar58" * (ERROR ")" )) identifier))) )) ))))) ;)) (labeled_statement "LAB_002c4649:\n                    /* WARNING: Subroutine does not return */\n          Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);" statement_identifier : comment (expression_statement "Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);" (comma_expression "Mips_output_data_plt<64,_false>::mips_entry_address" (binary_expression "Mips_output_data_plt<64" identifier < number_literal) , (binary_expression "_false>::mips_entry_address" identifier > (ERROR "::" : :) identifier)) (ERROR "((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98)" ( ( (comma_expression "Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98)" (binary_expression "Mips_output_data_plt<64" identifier < number_literal) , (comma_expression "_false> *)pMVar58,(Mips_symbol<64> *)local_98)" (binary_expression "_false> *)pMVar58" identifier > (pointer_expression "*)pMVar58" * (ERROR ")" )) identifier)) , (parenthesized_expression "(Mips_symbol<64> *)local_98)" ( (binary_expression "Mips_symbol<64> *)local_98" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*)local_98" * (ERROR ")" )) identifier)) ))))) ;)) })) (if_statement "if ((pMVar9->field_0x20 & 1) == 0) goto LAB_002c4649;" if (parenthesized_expression "((pMVar9->field_0x20 & 1) == 0)" ( (binary_expression "(pMVar9->field_0x20 & 1) == 0" (parenthesized_expression "(pMVar9->field_0x20 & 1)" ( (binary_expression "pMVar9->field_0x20 & 1" (field_expression "pMVar9->field_0x20" identifier -> field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_002c4649;" goto statement_identifier ;)) (expression_statement "VVar23 = uVar40 + pMVar9->plt0_entry_o32[2] + pMVar9->plt_header_size_;" (assignment_expression "VVar23 = uVar40 + pMVar9->plt0_entry_o32[2] + pMVar9->plt_header_size_" identifier = (binary_expression "uVar40 + pMVar9->plt0_entry_o32[2] + pMVar9->plt_header_size_" (binary_expression "uVar40 + pMVar9->plt0_entry_o32[2]" identifier + (subscript_expression "pMVar9->plt0_entry_o32[2]" (field_expression "pMVar9->plt0_entry_o32" identifier -> field_identifier) [ number_literal ])) + (field_expression "pMVar9->plt_header_size_" identifier -> field_identifier))) ;) (expression_statement "bVar67 = false;" (assignment_expression "bVar67 = false" identifier = false) ;) (expression_statement "pMVar28 = (Mips_symbol<64> *)0x0;" (assignment_expression "pMVar28 = (Mips_symbol<64> *)0x0" identifier = (parenthesized_expression "(Mips_symbol<64> *)0x0" ( (binary_expression "Mips_symbol<64> *)0x0" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) ;) (expression_statement "bVar68 = true;" (assignment_expression "bVar68 = true" identifier = true) ;) (expression_statement "bVar20 = 0;" (assignment_expression "bVar20 = 0" identifier = number_literal) ;) }))) (labeled_statement "LAB_002c1209:\n      calculate_only = bVar20;" statement_identifier : (expression_statement "calculate_only = bVar20;" (assignment_expression "calculate_only = bVar20" identifier = identifier) ;)) (expression_statement "symval.u_.value = VVar23;" (assignment_expression "symval.u_.value = VVar23" (field_expression "symval.u_.value" (field_expression "symval.u_" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "psymval = (Symbol_value<32> *)local_c8;" (assignment_expression "psymval = (Symbol_value<32> *)local_c8" identifier = (parenthesized_expression "(Symbol_value<32> *)local_c8" ( (binary_expression "Symbol_value<32> *)local_c8" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)local_c8" * (ERROR ")" )) identifier)) ))) ;) }) (else_clause "else {\n      bVar67 = false;\n      bVar68 = cVar5 == '\0';\n      if (!bVar68) {\nLAB_002c11e1:\n        pMVar8 = target->mips_stubs_;\n        if (pMVar8 == (Mips_output_data_mips_stubs<32,_false> *)0x0) {\n          mips_stubs_section((Target_mips<32,_false> *)pMVar58);\nLAB_002c4653:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if (((pMVar8->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);\n        }\n        uVar40 = *(uint *)((long)&gsym[1].super_Symbol.version_ + 4);\n        puVar1 = &(pMVar8->super_Output_section_data).super_Output_data.address_;\n        bVar67 = CARRY4(uVar40,(uint)*puVar1);\n        VVar23 = uVar40 + (int)*puVar1;\n        bVar68 = VVar23 == 0;\n        bVar20 = calculate_only;\n        goto LAB_002c1209;\n      }\n    }" else (compound_statement "{\n      bVar67 = false;\n      bVar68 = cVar5 == '\0';\n      if (!bVar68) {\nLAB_002c11e1:\n        pMVar8 = target->mips_stubs_;\n        if (pMVar8 == (Mips_output_data_mips_stubs<32,_false> *)0x0) {\n          mips_stubs_section((Target_mips<32,_false> *)pMVar58);\nLAB_002c4653:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if (((pMVar8->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);\n        }\n        uVar40 = *(uint *)((long)&gsym[1].super_Symbol.version_ + 4);\n        puVar1 = &(pMVar8->super_Output_section_data).super_Output_data.address_;\n        bVar67 = CARRY4(uVar40,(uint)*puVar1);\n        VVar23 = uVar40 + (int)*puVar1;\n        bVar68 = VVar23 == 0;\n        bVar20 = calculate_only;\n        goto LAB_002c1209;\n      }\n    }" { (expression_statement "bVar67 = false;" (assignment_expression "bVar67 = false" identifier = false) ;) (expression_statement "bVar68 = cVar5 == '\0';" (assignment_expression "bVar68 = cVar5 == '\0'" identifier = (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (!bVar68) {\nLAB_002c11e1:\n        pMVar8 = target->mips_stubs_;\n        if (pMVar8 == (Mips_output_data_mips_stubs<32,_false> *)0x0) {\n          mips_stubs_section((Target_mips<32,_false> *)pMVar58);\nLAB_002c4653:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if (((pMVar8->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);\n        }\n        uVar40 = *(uint *)((long)&gsym[1].super_Symbol.version_ + 4);\n        puVar1 = &(pMVar8->super_Output_section_data).super_Output_data.address_;\n        bVar67 = CARRY4(uVar40,(uint)*puVar1);\n        VVar23 = uVar40 + (int)*puVar1;\n        bVar68 = VVar23 == 0;\n        bVar20 = calculate_only;\n        goto LAB_002c1209;\n      }" if (parenthesized_expression "(!bVar68)" ( (unary_expression "!bVar68" ! identifier) )) (compound_statement "{\nLAB_002c11e1:\n        pMVar8 = target->mips_stubs_;\n        if (pMVar8 == (Mips_output_data_mips_stubs<32,_false> *)0x0) {\n          mips_stubs_section((Target_mips<32,_false> *)pMVar58);\nLAB_002c4653:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if (((pMVar8->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);\n        }\n        uVar40 = *(uint *)((long)&gsym[1].super_Symbol.version_ + 4);\n        puVar1 = &(pMVar8->super_Output_section_data).super_Output_data.address_;\n        bVar67 = CARRY4(uVar40,(uint)*puVar1);\n        VVar23 = uVar40 + (int)*puVar1;\n        bVar68 = VVar23 == 0;\n        bVar20 = calculate_only;\n        goto LAB_002c1209;\n      }" { (labeled_statement "LAB_002c11e1:\n        pMVar8 = target->mips_stubs_;" statement_identifier : (expression_statement "pMVar8 = target->mips_stubs_;" (assignment_expression "pMVar8 = target->mips_stubs_" identifier = (field_expression "target->mips_stubs_" identifier -> field_identifier)) ;)) (if_statement "if (pMVar8 == (Mips_output_data_mips_stubs<32,_false> *)0x0) {\n          mips_stubs_section((Target_mips<32,_false> *)pMVar58);\nLAB_002c4653:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x2eda,"relocate");\n        }" if (parenthesized_expression "(pMVar8 == (Mips_output_data_mips_stubs<32,_false> *)0x0)" ( (binary_expression "pMVar8 == (Mips_output_data_mips_stubs<32,_false> *)0x0)" identifier == (parenthesized_expression "(Mips_output_data_mips_stubs<32,_false> *)0x0)" ( (comma_expression "Mips_output_data_mips_stubs<32,_false> *)0x0" (binary_expression "Mips_output_data_mips_stubs<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n          mips_stubs_section((Target_mips<32,_false> *)pMVar58);\nLAB_002c4653:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x2eda,"relocate");\n        }" { (expression_statement "mips_stubs_section((Target_mips<32,_false> *)pMVar58);" (call_expression "mips_stubs_section((Target_mips<32,_false> *)pMVar58)" identifier (argument_list "((Target_mips<32,_false> *)pMVar58)" ( (parenthesized_expression "(Target_mips<32,_false> *)pMVar58)" ( (comma_expression "Target_mips<32,_false> *)pMVar58" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)pMVar58" identifier > (pointer_expression "*)pMVar58" * (ERROR ")" )) identifier))) )) ))) ;) (labeled_statement "LAB_002c4653:\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/mips.cc",0x2eda,"relocate");" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable("../../gold/mips.cc",0x2eda,"relocate");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/mips.cc",0x2eda,"relocate");" (call_expression "do_gold_unreachable("../../gold/mips.cc",0x2eda,"relocate")" identifier (argument_list "("../../gold/mips.cc",0x2eda,"relocate")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""relocate"" " string_content ") ))) ;))) })) (if_statement "if (((pMVar8->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);\n        }" if (parenthesized_expression "(((pMVar8->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)" ( (binary_expression "((pMVar8->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0" (parenthesized_expression "((pMVar8->super_Output_section_data).super_Output_data.field_0x20 & 1)" ( (binary_expression "(pMVar8->super_Output_section_data).super_Output_data.field_0x20 & 1" (field_expression "(pMVar8->super_Output_section_data).super_Output_data.field_0x20" (field_expression "(pMVar8->super_Output_section_data).super_Output_data" (parenthesized_expression "(pMVar8->super_Output_section_data)" ( (field_expression "pMVar8->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);\n        }" { comment (expression_statement "Mips_output_data_plt<64,_false>::mips_entry_address\n                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);" (comma_expression "Mips_output_data_plt<64,_false>::mips_entry_address" (binary_expression "Mips_output_data_plt<64" identifier < number_literal) , (binary_expression "_false>::mips_entry_address" identifier > (ERROR "::" : :) identifier)) (ERROR "((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98)" ( ( (comma_expression "Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98)" (binary_expression "Mips_output_data_plt<64" identifier < number_literal) , (comma_expression "_false> *)pMVar58,(Mips_symbol<64> *)local_98)" (binary_expression "_false> *)pMVar58" identifier > (pointer_expression "*)pMVar58" * (ERROR ")" )) identifier)) , (parenthesized_expression "(Mips_symbol<64> *)local_98)" ( (binary_expression "Mips_symbol<64> *)local_98" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*)local_98" * (ERROR ")" )) identifier)) ))))) ;) })) (expression_statement "uVar40 = *(uint *)((long)&gsym[1].super_Symbol.version_ + 4);" (assignment_expression "uVar40 = *(uint *)((long)&gsym[1].super_Symbol.version_ + 4)" identifier = (pointer_expression "*(uint *)((long)&gsym[1].super_Symbol.version_ + 4)" * (cast_expression "(uint *)((long)&gsym[1].super_Symbol.version_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&gsym[1].super_Symbol.version_ + 4)" ( (binary_expression "(long)&gsym[1].super_Symbol.version_ + 4" (cast_expression "(long)&gsym[1].super_Symbol.version_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&gsym[1].super_Symbol.version_" & (field_expression "gsym[1].super_Symbol.version_" (field_expression "gsym[1].super_Symbol" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (expression_statement "puVar1 = &(pMVar8->super_Output_section_data).super_Output_data.address_;" (assignment_expression "puVar1 = &(pMVar8->super_Output_section_data).super_Output_data.address_" identifier = (pointer_expression "&(pMVar8->super_Output_section_data).super_Output_data.address_" & (field_expression "(pMVar8->super_Output_section_data).super_Output_data.address_" (field_expression "(pMVar8->super_Output_section_data).super_Output_data" (parenthesized_expression "(pMVar8->super_Output_section_data)" ( (field_expression "pMVar8->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "bVar67 = CARRY4(uVar40,(uint)*puVar1);" (assignment_expression "bVar67 = CARRY4(uVar40,(uint)*puVar1)" identifier = (call_expression "CARRY4(uVar40,(uint)*puVar1)" identifier (argument_list "(uVar40,(uint)*puVar1)" ( identifier , (binary_expression "(uint)*puVar1" (parenthesized_expression "(uint)" ( identifier )) * identifier) )))) ;) (expression_statement "VVar23 = uVar40 + (int)*puVar1;" (assignment_expression "VVar23 = uVar40 + (int)*puVar1" identifier = (binary_expression "uVar40 + (int)*puVar1" identifier + (cast_expression "(int)*puVar1" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*puVar1" * identifier)))) ;) (expression_statement "bVar68 = VVar23 == 0;" (assignment_expression "bVar68 = VVar23 == 0" identifier = (binary_expression "VVar23 == 0" identifier == number_literal)) ;) (expression_statement "bVar20 = calculate_only;" (assignment_expression "bVar20 = calculate_only" identifier = identifier) ;) (goto_statement "goto LAB_002c1209;" goto statement_identifier ;) })) }))) (expression_statement "bVar20 = (byte)pMVar28;" (assignment_expression "bVar20 = (byte)pMVar28" identifier = (cast_expression "(byte)pMVar28" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "pMVar55 = (Mips_symbol<64> *)(gsym->super_Symbol).name_;" (assignment_expression "pMVar55 = (Mips_symbol<64> *)(gsym->super_Symbol).name_" identifier = (field_expression "(Mips_symbol<64> *)(gsym->super_Symbol).name_" (call_expression "(Mips_symbol<64> *)(gsym->super_Symbol)" (parenthesized_expression "(Mips_symbol<64> *)" ( (binary_expression "Mips_symbol<64> *" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "(gsym->super_Symbol)" ( (field_expression "gsym->super_Symbol" identifier -> field_identifier) ))) . field_identifier)) ;) (expression_statement "lVar42 = 9;" (assignment_expression "lVar42 = 9" identifier = number_literal) ;) (expression_statement "pMVar54 = pMVar55;" (assignment_expression "pMVar54 = pMVar55" identifier = identifier) ;) (expression_statement "pbVar59 = (byte *)"_gp_disp";" (assignment_expression "pbVar59 = (byte *)"_gp_disp"" identifier = (cast_expression "(byte *)"_gp_disp"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""_gp_disp"" " string_content "))) ;) (do_statement "do {\n      if (lVar42 == 0) break;\n      lVar42 = lVar42 + -1;\n      bVar3 = *(byte *)&(pMVar54->super_Sized_symbol<64>).super_Symbol.name_;\n      bVar67 = bVar3 < *pbVar59;\n      bVar68 = bVar3 == *pbVar59;\n      pMVar54 = (Mips_symbol<64> *)((long)pMVar54 + (ulong)bVar21 * -2 + 1);\n      pbVar59 = pbVar59 + (ulong)bVar21 * -2 + 1;\n    } while (bVar68);" do (compound_statement "{\n      if (lVar42 == 0) break;\n      lVar42 = lVar42 + -1;\n      bVar3 = *(byte *)&(pMVar54->super_Sized_symbol<64>).super_Symbol.name_;\n      bVar67 = bVar3 < *pbVar59;\n      bVar68 = bVar3 == *pbVar59;\n      pMVar54 = (Mips_symbol<64> *)((long)pMVar54 + (ulong)bVar21 * -2 + 1);\n      pbVar59 = pbVar59 + (ulong)bVar21 * -2 + 1;\n    }" { (if_statement "if (lVar42 == 0) break;" if (parenthesized_expression "(lVar42 == 0)" ( (binary_expression "lVar42 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar42 = lVar42 + -1;" (assignment_expression "lVar42 = lVar42 + -1" identifier = (binary_expression "lVar42 + -1" identifier + number_literal)) ;) (expression_statement "bVar3 = *(byte *)&(pMVar54->super_Sized_symbol<64>).super_Symbol.name_;" (assignment_expression "bVar3 = *(byte *)&(pMVar54->super_Sized_symbol<64>).super_Symbol.name_" identifier = (pointer_expression "*(byte *)&(pMVar54->super_Sized_symbol<64>).super_Symbol.name_" * (cast_expression "(byte *)&(pMVar54->super_Sized_symbol<64>).super_Symbol.name_" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pMVar54->super_Sized_symbol<64>).super_Symbol.name_" & (field_expression "(pMVar54->super_Sized_symbol<64>).super_Symbol.name_" (field_expression "(pMVar54->super_Sized_symbol<64>).super_Symbol" (parenthesized_expression "(pMVar54->super_Sized_symbol<64>)" ( (binary_expression "pMVar54->super_Sized_symbol<64>" (binary_expression "pMVar54->super_Sized_symbol<64" (field_expression "pMVar54->super_Sized_symbol" identifier -> field_identifier) < number_literal) > identifier) )) . field_identifier) . field_identifier))))) ;) (expression_statement "bVar67 = bVar3 < *pbVar59;" (assignment_expression "bVar67 = bVar3 < *pbVar59" identifier = (binary_expression "bVar3 < *pbVar59" identifier < (pointer_expression "*pbVar59" * identifier))) ;) (expression_statement "bVar68 = bVar3 == *pbVar59;" (assignment_expression "bVar68 = bVar3 == *pbVar59" identifier = (binary_expression "bVar3 == *pbVar59" identifier == (pointer_expression "*pbVar59" * identifier))) ;) (expression_statement "pMVar54 = (Mips_symbol<64> *)((long)pMVar54 + (ulong)bVar21 * -2 + 1);" (assignment_expression "pMVar54 = (Mips_symbol<64> *)((long)pMVar54 + (ulong)bVar21 * -2 + 1)" identifier = (call_expression "(Mips_symbol<64> *)((long)pMVar54 + (ulong)bVar21 * -2 + 1)" (parenthesized_expression "(Mips_symbol<64> *)" ( (binary_expression "Mips_symbol<64> *" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "((long)pMVar54 + (ulong)bVar21 * -2 + 1)" ( (binary_expression "(long)pMVar54 + (ulong)bVar21 * -2 + 1" (binary_expression "(long)pMVar54 + (ulong)bVar21 * -2" (cast_expression "(long)pMVar54" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)bVar21 * -2" (cast_expression "(ulong)bVar21" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ;) (expression_statement "pbVar59 = pbVar59 + (ulong)bVar21 * -2 + 1;" (assignment_expression "pbVar59 = pbVar59 + (ulong)bVar21 * -2 + 1" identifier = (binary_expression "pbVar59 + (ulong)bVar21 * -2 + 1" (binary_expression "pbVar59 + (ulong)bVar21 * -2" identifier + (binary_expression "(ulong)bVar21 * -2" (cast_expression "(ulong)bVar21" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar68)" ( identifier )) ;) (expression_statement "pp_Var43 = (_List_node_base **)0xf;" (assignment_expression "pp_Var43 = (_List_node_base **)0xf" identifier = (cast_expression "(_List_node_base **)0xf" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "bVar68 = !bVar67 && !bVar68;" (assignment_expression "bVar68 = !bVar67 && !bVar68" identifier = (binary_expression "!bVar67 && !bVar68" (unary_expression "!bVar67" ! identifier) && (unary_expression "!bVar68" ! identifier))) ;) (expression_statement "bVar66 = bVar68 < bVar67;" (assignment_expression "bVar66 = bVar68 < bVar67" identifier = (binary_expression "bVar68 < bVar67" identifier < identifier)) ;) (expression_statement "bVar69 = bVar68 == bVar67;" (assignment_expression "bVar69 = bVar68 == bVar67" identifier = (binary_expression "bVar68 == bVar67" identifier == identifier)) ;) (expression_statement "pMVar49 = (Mips_relobj<32,_false> *)"__gnu_local_gp";" (assignment_expression "pMVar49 = (Mips_relobj<32,_false> *)"__gnu_local_gp"" identifier = (parenthesized_expression "(Mips_relobj<32,_false> *)"__gnu_local_gp"" ( (comma_expression "Mips_relobj<32,_false> *)"__gnu_local_gp"" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)"__gnu_local_gp"" identifier > (pointer_expression "*)"__gnu_local_gp"" * (ERROR ")" )) (string_literal ""__gnu_local_gp"" " string_content ")))) ))) ;) do { (expression_statement "pMVar54 = pMVar55;" (assignment_expression "pMVar54 = pMVar55" identifier = identifier) ;) (expression_statement "pMVar60 = pMVar49;" (assignment_expression "pMVar60 = pMVar49" identifier = identifier) ;) if ( ( (ERROR "Mips_relobj<32,_false> *)pp_Var43 == (Mips_relobj<32,_false> *)0x0) break;\n      pp_Var43 = (_List_node_base **)\n                 &((Mips_relobj<32,_false> *)((long)pp_Var43 + -0x420))->field_0x41f;\n      pMVar60 = (Mips_relobj<32,_false> *)((long)pMVar49 + (ulong)bVar21 * -2 + 1);\n      pMVar54 = (Mips_symbol<64> *)((long)pMVar55 + (ulong)bVar21 * -2 + 1);\n      bVar4 = *(byte *)&(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                        super_Relobj.super_Object._vptr_Object;\n      bVar3 = *(byte *)&(pMVar55->super_Sized_symbol<64>).super_Symbol.name_;\n      bVar66 = bVar3 < bVar4;\n      bVar69 = bVar3 == bVar4;\n      pMVar55 = pMVar54;\n      pMVar49 = pMVar60;\n    } while (bVar69);\n    if (bVar68 != bVar67)" (comma_expression "Mips_relobj<32,_false> *)pp_Var43 == (Mips_relobj<32,_false> *)0x0) break;\n      pp_Var43 = (_List_node_base **)\n                 &((Mips_relobj<32,_false> *)((long)pp_Var43 + -0x420))->field_0x41f" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)pp_Var43 == (Mips_relobj<32,_false> *)0x0) break;\n      pp_Var43 = (_List_node_base **)\n                 &((Mips_relobj<32,_false> *)((long)pp_Var43 + -0x420))->field_0x41f" (binary_expression "_false> *)pp_Var43" identifier > (pointer_expression "*)pp_Var43" * (ERROR ")" )) identifier)) == (ERROR "(Mips_relobj<32,_false> *)0x0) break;" (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) )) identifier ;) (assignment_expression "pp_Var43 = (_List_node_base **)\n                 &((Mips_relobj<32,_false> *)((long)pp_Var43 + -0x420))->field_0x41f" identifier = (cast_expression "(_List_node_base **)\n                 &((Mips_relobj<32,_false> *)((long)pp_Var43 + -0x420))->field_0x41f" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&((Mips_relobj<32,_false> *)((long)pp_Var43 + -0x420))->field_0x41f" & (field_expression "((Mips_relobj<32,_false> *)((long)pp_Var43 + -0x420))->field_0x41f" (parenthesized_expression "((Mips_relobj<32,_false> *)((long)pp_Var43 + -0x420))" ( (call_expression "(Mips_relobj<32,_false> *)((long)pp_Var43 + -0x420)" (parenthesized_expression "(Mips_relobj<32,_false> *)" ( (comma_expression "Mips_relobj<32,_false> *" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "((long)pp_Var43 + -0x420)" ( (binary_expression "(long)pp_Var43 + -0x420" (cast_expression "(long)pp_Var43" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) )) -> field_identifier)))))) ; (assignment_expression "pMVar60 = (Mips_relobj<32,_false> *)((long)pMVar49 + (ulong)bVar21 * -2 + 1)" identifier = (call_expression "(Mips_relobj<32,_false> *)((long)pMVar49 + (ulong)bVar21 * -2 + 1)" (parenthesized_expression "(Mips_relobj<32,_false> *)" ( (comma_expression "Mips_relobj<32,_false> *" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "((long)pMVar49 + (ulong)bVar21 * -2 + 1)" ( (binary_expression "(long)pMVar49 + (ulong)bVar21 * -2 + 1" (binary_expression "(long)pMVar49 + (ulong)bVar21 * -2" (cast_expression "(long)pMVar49" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)bVar21 * -2" (cast_expression "(ulong)bVar21" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ; (assignment_expression "pMVar54 = (Mips_symbol<64> *)((long)pMVar55 + (ulong)bVar21 * -2 + 1)" identifier = (call_expression "(Mips_symbol<64> *)((long)pMVar55 + (ulong)bVar21 * -2 + 1)" (parenthesized_expression "(Mips_symbol<64> *)" ( (binary_expression "Mips_symbol<64> *" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "((long)pMVar55 + (ulong)bVar21 * -2 + 1)" ( (binary_expression "(long)pMVar55 + (ulong)bVar21 * -2 + 1" (binary_expression "(long)pMVar55 + (ulong)bVar21 * -2" (cast_expression "(long)pMVar55" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + (binary_expression "(ulong)bVar21 * -2" (cast_expression "(ulong)bVar21" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal) )))) ; (comma_expression "bVar4 = *(byte *)&(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                        super_Relobj.super_Object._vptr_Object" (assignment_expression "bVar4 = *(byte *)&(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" identifier = (binary_expression "*(byte *)&(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" (pointer_expression "*(byte *)&(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj" * (cast_expression "(byte *)&(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj" & (field_expression "(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj" (parenthesized_expression "(pMVar49->super_Sized_relobj_file<32,_false>)" ( (comma_expression "pMVar49->super_Sized_relobj_file<32,_false" (binary_expression "pMVar49->super_Sized_relobj_file<32" (field_expression "pMVar49->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier)))) < number_literal)) , (field_expression "_false>.\n                        super_Relobj.super_Object._vptr_Object" (field_expression "_false>.\n                        super_Relobj.super_Object" (field_expression "_false>.\n                        super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier)) ; (assignment_expression "bVar3 = *(byte *)&(pMVar55->super_Sized_symbol<64>).super_Symbol.name_" identifier = (pointer_expression "*(byte *)&(pMVar55->super_Sized_symbol<64>).super_Symbol.name_" * (cast_expression "(byte *)&(pMVar55->super_Sized_symbol<64>).super_Symbol.name_" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pMVar55->super_Sized_symbol<64>).super_Symbol.name_" & (field_expression "(pMVar55->super_Sized_symbol<64>).super_Symbol.name_" (field_expression "(pMVar55->super_Sized_symbol<64>).super_Symbol" (parenthesized_expression "(pMVar55->super_Sized_symbol<64>)" ( (binary_expression "pMVar55->super_Sized_symbol<64>" (binary_expression "pMVar55->super_Sized_symbol<64" (field_expression "pMVar55->super_Sized_symbol" identifier -> field_identifier) < number_literal) > identifier) )) . field_identifier) . field_identifier))))) ; (assignment_expression "bVar66 = bVar3 < bVar4" identifier = (binary_expression "bVar3 < bVar4" identifier < identifier)) ; (assignment_expression "bVar69 = bVar3 == bVar4" identifier = (binary_expression "bVar3 == bVar4" identifier == identifier)) ; (assignment_expression "pMVar55 = pMVar54" identifier = identifier) ; (call_expression "pMVar49 = pMVar60;\n    } while (bVar69);\n    if (bVar68 != bVar67)" (call_expression "pMVar49 = pMVar60;\n    } while (bVar69)" (assignment_expression "pMVar49 = pMVar60" identifier = identifier) (ERROR ";\n    } while" ; } while) (argument_list "(bVar69)" ( identifier ))) (ERROR ";\n    if" ; if) (argument_list "(bVar68 != bVar67)" ( (binary_expression "bVar68 != bVar67" identifier != identifier) )))) { if (parenthesized_expression "((!bVar66 && !bVar69) == bVar66)" ( (binary_expression "(!bVar66 && !bVar69) == bVar66" (parenthesized_expression "(!bVar66 && !bVar69)" ( (binary_expression "!bVar66 && !bVar69" (unary_expression "!bVar66" ! identifier) && (unary_expression "!bVar69" ! identifier)) )) == identifier) )) { identifier : if (parenthesized_expression "(target->gp_ == (Sized_symbol<32> *)0x0)" ( (binary_expression "target->gp_ == (Sized_symbol<32> *)0x0)" (field_expression "target->gp_" identifier -> field_identifier) == (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) )) (compound_statement "{\n          symval.u_.value = 0;\n        }" { (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) ;) }) else { (expression_statement "symval.u_.value = target->gp_->value_;" (assignment_expression "symval.u_.value = target->gp_->value_" (field_expression "symval.u_.value" (field_expression "symval.u_" identifier . field_identifier) . field_identifier) = (field_expression "target->gp_->value_" (field_expression "target->gp_" identifier -> field_identifier) -> field_identifier)) ;) if ( ( ( (binary_expression "target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n              (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&\n             (pMVar60 = this_00, this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {\n            symval.u_.value = symval.u_.value + this_00->got_info_->offset_" (binary_expression "target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n              (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0))" (binary_expression "target->got_ != (Mips_output_data_got<32,_false> *)0x0)" (field_expression "target->got_" identifier -> field_identifier) != (parenthesized_expression "(Mips_output_data_got<32,_false> *)0x0)" ( (comma_expression "Mips_output_data_got<32,_false> *)0x0" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) && (parenthesized_expression "(target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0))" ( (binary_expression "target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)" (field_expression "target->got_->primary_got_" (field_expression "target->got_" identifier -> field_identifier) -> field_identifier) != (parenthesized_expression "(Mips_got_info<32,_false> *)0x0)" ( (comma_expression "Mips_got_info<32,_false> *)0x0" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) ))) && (assignment_expression "(pMVar60 = this_00, this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {\n            symval.u_.value = symval.u_.value + this_00->got_info_->offset_" (field_expression "(pMVar60 = this_00, this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {\n            symval.u_.value" (field_expression "(pMVar60 = this_00, this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {\n            symval.u_" (parenthesized_expression "(pMVar60 = this_00, this_00->got_info_ != (Mips_got_info<32,_false> *)0x0))" ( (comma_expression "pMVar60 = this_00, this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)" (assignment_expression "pMVar60 = this_00" identifier = identifier) , (binary_expression "this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)" (field_expression "this_00->got_info_" identifier -> field_identifier) != (parenthesized_expression "(Mips_got_info<32,_false> *)0x0)" ( (comma_expression "Mips_got_info<32,_false> *)0x0" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) )))) )) (ERROR "{\n            symval" { identifier) . field_identifier) . field_identifier) = (binary_expression "symval.u_.value + this_00->got_info_->offset_" (field_expression "symval.u_.value" (field_expression "symval.u_" identifier . field_identifier) . field_identifier) + (field_expression "this_00->got_info_->offset_" (field_expression "this_00->got_info_" identifier -> field_identifier) -> field_identifier)))) (ERROR ";\n          }\n        }\n        psymval =" ; } } identifier =) ( (ERROR "Symbol_value<32> *)local_c8;\n        pp_Var43 = (_List_node_base **)target;\n      }\nLAB_002c15d8:\n      in_stack_fffffffffffffefc = in_stack_fffffffffffffefc & 0xffffff00;\n      if (uVar65 != 100) goto LAB_002c15e9;\nLAB_002c12e3:" (binary_expression "Symbol_value<32> *)local_c8" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)local_c8" * (ERROR ")" )) identifier)) ; (assignment_expression "pp_Var43 = (_List_node_base **)target" identifier = (cast_expression "(_List_node_base **)target" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ; } identifier : (call_expression "in_stack_fffffffffffffefc = in_stack_fffffffffffffefc & 0xffffff00;\n      if (uVar65 != 100)" (assignment_expression "in_stack_fffffffffffffefc = in_stack_fffffffffffffefc & 0xffffff00" identifier = (binary_expression "in_stack_fffffffffffffefc & 0xffffff00" identifier & number_literal)) (ERROR ";\n      if" ; if) (argument_list "(uVar65 != 100)" ( (binary_expression "uVar65 != 100" identifier != number_literal) ))) identifier identifier ; identifier :) identifier = ( (ERROR "Mips_relobj<32,_false> *)gsym[1].super_Symbol.got_offsets_.got_next_;\n      if" (comma_expression "Mips_relobj<32,_false> *)gsym[1].super_Symbol.got_offsets_.got_next_" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)gsym[1].super_Symbol.got_offsets_.got_next_" identifier > (pointer_expression "*)gsym[1].super_Symbol.got_offsets_.got_next_" * (ERROR ")" )) (field_expression "gsym[1].super_Symbol.got_offsets_.got_next_" (field_expression "gsym[1].super_Symbol.got_offsets_" (field_expression "gsym[1].super_Symbol" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier)))) ; if) ( (ERROR "pMVar60 == (Mips_relobj<32,_false> *)0x0)" (binary_expression "pMVar60 == (Mips_relobj<32,_false> *)0x0)" identifier == (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) )))) { (if_statement "if ((*(long *)&gsym[1].super_Symbol.field_0x38 == 0) ||\n           (((gsym->super_Symbol).plt_offset_ == 0xffffffff && (bVar20 != 0)))) goto LAB_002c1304;" if (parenthesized_expression "((*(long *)&gsym[1].super_Symbol.field_0x38 == 0) ||\n           (((gsym->super_Symbol).plt_offset_ == 0xffffffff && (bVar20 != 0))))" ( (binary_expression "(*(long *)&gsym[1].super_Symbol.field_0x38 == 0) ||\n           (((gsym->super_Symbol).plt_offset_ == 0xffffffff && (bVar20 != 0)))" (parenthesized_expression "(*(long *)&gsym[1].super_Symbol.field_0x38 == 0)" ( (binary_expression "*(long *)&gsym[1].super_Symbol.field_0x38 == 0" (pointer_expression "*(long *)&gsym[1].super_Symbol.field_0x38" * (cast_expression "(long *)&gsym[1].super_Symbol.field_0x38" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "&gsym[1].super_Symbol.field_0x38" & (field_expression "gsym[1].super_Symbol.field_0x38" (field_expression "gsym[1].super_Symbol" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)))) == number_literal) )) || (parenthesized_expression "(((gsym->super_Symbol).plt_offset_ == 0xffffffff && (bVar20 != 0)))" ( (parenthesized_expression "((gsym->super_Symbol).plt_offset_ == 0xffffffff && (bVar20 != 0))" ( (binary_expression "(gsym->super_Symbol).plt_offset_ == 0xffffffff && (bVar20 != 0)" (binary_expression "(gsym->super_Symbol).plt_offset_ == 0xffffffff" (field_expression "(gsym->super_Symbol).plt_offset_" (parenthesized_expression "(gsym->super_Symbol)" ( (field_expression "gsym->super_Symbol" identifier -> field_identifier) )) . field_identifier) == number_literal) && (parenthesized_expression "(bVar20 != 0)" ( (binary_expression "bVar20 != 0" identifier != number_literal) ))) )) ))) )) (goto_statement "goto LAB_002c1304;" goto statement_identifier ;)) (expression_statement "pMVar49 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;" (assignment_expression "pMVar49 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38" identifier = (binary_expression "*(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38" (pointer_expression "*(Mips_relobj<32,_false> **)" * (parenthesized_expression "(Mips_relobj<32,_false> **)" ( (comma_expression "Mips_relobj<32,_false> **" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) ))) & (field_expression "gsym[1].super_Symbol.field_0x38" (field_expression "gsym[1].super_Symbol" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) ;) (labeled_statement "LAB_002c1d90:\n        local_c8 = (Mips_relobj<32,_false> *)&symval;" statement_identifier : (expression_statement "local_c8 = (Mips_relobj<32,_false> *)&symval;" (assignment_expression "local_c8 = (Mips_relobj<32,_false> *)&symval" identifier = (binary_expression "(Mips_relobj<32,_false> *)&symval" (parenthesized_expression "(Mips_relobj<32,_false> *)" ( (comma_expression "Mips_relobj<32,_false> *" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) & identifier)) ;)) (assignment_expression "symval.u_.value =\n             Mips16_stub_section<32" (field_expression "symval.u_.value" (field_expression "symval.u_" identifier . field_identifier) . field_identifier) = (binary_expression "Mips16_stub_section<32" identifier < number_literal)) , identifier > (ERROR "::" : :) identifier ( ( (ERROR "Mips16_stub_section<32,_false> *)pMVar49,\n                        (Mips16_stub_section<32,_false> *)\n                        &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                         .super_Relobj.super_Object.name_);" (comma_expression "Mips16_stub_section<32,_false> *)pMVar49,\n                        (Mips16_stub_section<32,_false> *)\n                        &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                         .super_Relobj.super_Object.name_)" (binary_expression "Mips16_stub_section<32" identifier < number_literal) , (comma_expression "_false> *)pMVar49,\n                        (Mips16_stub_section<32,_false> *)\n                        &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                         .super_Relobj.super_Object.name_)" (binary_expression "_false> *)pMVar49" identifier > (pointer_expression "*)pMVar49" * (ERROR ")" )) identifier)) , (parenthesized_expression "(Mips16_stub_section<32,_false> *)\n                        &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                         .super_Relobj.super_Object.name_)" ( (comma_expression "Mips16_stub_section<32,_false> *)\n                        &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                         .super_Relobj.super_Object.name_" (binary_expression "Mips16_stub_section<32" identifier < number_literal) , (comma_expression "_false> *)\n                        &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                         .super_Relobj.super_Object.name_" (binary_expression "_false> *)\n                        &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" (binary_expression "_false> *)\n                        &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj" identifier > (pointer_expression "*)\n                        &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj" * (ERROR ")" )) (pointer_expression "&(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj" & (field_expression "(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj" (parenthesized_expression "(pMVar49->super_Sized_relobj_file<32,_false>)" ( (comma_expression "pMVar49->super_Sized_relobj_file<32,_false" (binary_expression "pMVar49->super_Sized_relobj_file<32" (field_expression "pMVar49->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier)))) < number_literal) , (field_expression "_false>\n                         .super_Relobj.super_Object.name_" (field_expression "_false>\n                         .super_Relobj.super_Object" (field_expression "_false>\n                         .super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier))) )))) ;) (call_expression "psymval = (Symbol_value<32> *)local_c8;\n        bVar67 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0)) {\n        pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;\n        pMVar49 = pMVar60;\n        if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {\n          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 != -1) goto LAB_002c17c6;\n      bVar67 = true;\nLAB_002c1320:\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((gsym->super_Symbol).plt_offset_ != 0xffffffff) {\n        uVar40 = gsym[1].super_Symbol.plt_offset_;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        if ((uVar40 != 0xffffffff) && (gsym[1].super_Symbol.dynsym_index_ != 0xffffffff)) {\n          pMVar9 = target->plt_;\n          if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n            Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");\n          }\n          if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n            Mips_output_data_plt<64,_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);\n          }\n          symval.u_.value =\n               uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n               pMVar9->plt0_entry_o32[2];\n          pp_Var43 = (_List_node_base **)(ulong)symval.u_.value;\n          if (target->field_0x14 == '\0') {\nLAB_002c46dd:\n                    /* WARNING: Subroutine does not return */\n            is_output_micromips((Target_mips<32,_false> *)pMVar60);\n          }\n          psymval = (Symbol_value<32> *)local_c8;\n          bVar20 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n          calculate_only = !(bool)bVar20;\n        }\n      }\n      goto LAB_002c13a0;\n    }\n    bVar21 = this_00->field_0x36c;\n    pMVar60 = (Mips_relobj<32,_false> *)(ulong)bVar21;\n    local_b8 = (_Bit_type *)(ulong)bVar21;\n    bVar21 = bVar21 >> 1 & 1 ^ 1;\n    if ((!bVar66 && !bVar69) == bVar66) {\n      if (bVar21 == 0) goto LAB_002c1750;\n    }\n    else if (bVar21 == 0) goto LAB_002c15d8;\n    if ((((1 < uVar65 - 0x68) && (1 < uVar65 - 5)) && (1 < uVar65 - 0x86)) && (1 < uVar65 - 0x40)) {\n      pp_Var43 = (_List_node_base **)\n                 gettext(\n                        "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                        );\n      pMVar54 = (Mips_symbol<64> *)relnum;\n      pMVar60 = (Mips_relobj<32,_false> *)relinfo;\n      gold::gold_error_at_location<32,_false>(relinfo,relnum,(ulong)uVar7,(char *)pp_Var43);\n    }\n    in_stack_fffffffffffffefc = CONCAT31((int3)(in_stack_fffffffffffffefc >> 8),1);\n    if (uVar65 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    lVar42._0_4_ = gsym[1].super_Symbol.got_offsets_.got_type_;\n    lVar42._4_4_ = gsym[1].super_Symbol.got_offsets_.got_offset_;\n    if (lVar42 == 0) {\nLAB_002c17b9:\n      bVar20 = (byte)pMVar28;\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 == -1) {\nLAB_002c1848:\n        bVar67 = uVar65 == 100;\n        if (uVar65 == 0x85 || bVar67) goto LAB_002c1320;\n        bVar67 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      bVar20 = (byte)pMVar28;\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((this_00->field_0x36c & 1) != 0) goto LAB_002c1848;\n      pMVar60 = (Mips_relobj<32,_false> *)(ulong)uVar65;\n      bVar67 = relocation_needs_la25_stub<32,_true>\n                         ((Mips_relobj<32,_true> *)pMVar60,(uint)pMVar28,SUB41(iVar25,0));\n      pMVar54 = pMVar28;\n      if (!bVar67) goto LAB_002c1848;\n      pMVar10 = target->la25_stub_;\n      if (pMVar10 == (Mips_output_data_la25_stub<32,_false> *)0x0) {\n        la25_stub_section((Target_mips<32,_false> *)pMVar60);\n        goto LAB_002c46aa;\n      }\n      if (((pMVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        Mips_output_data_plt<64,_false>::mips_entry_address\n                  ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar28);\n      }\n      psymval = (Symbol_value<32> *)local_c8;\n      bVar67 = uVar65 == 100;\n      symval.u_.value =\n           extraout_EDX + (int)(pMVar10->super_Output_section_data).super_Output_data.address_ +\n           (uint)(((byte)(gsym->super_Symbol).field_0x39 >> 2 & 0x30) == 0x20);\n      bVar68 = (bool)(calculate_only & bVar67);\n      pp_Var43 = (_List_node_base **)local_c8;\n      bVar21 = bVar68;\n      if (bVar68 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    bVar21 = calculate_only;\n    if ((uVar65 == 0x67) && (*(char *)&gsym[1].super_Symbol.name_ == '\0')) {\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 != -1) goto LAB_002c17c6;\n      bVar67 = false;\n      goto LAB_002c13ac;\n    }\nLAB_002c15fe:\n    bVar20 = (byte)" (assignment_expression "psymval = (Symbol_value<32> *)local_c8;\n        bVar67 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0)) {\n        pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;\n        pMVar49 = pMVar60;\n        if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {\n          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 != -1) goto LAB_002c17c6;\n      bVar67 = true;\nLAB_002c1320:\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((gsym->super_Symbol).plt_offset_ != 0xffffffff) {\n        uVar40 = gsym[1].super_Symbol.plt_offset_;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        if ((uVar40 != 0xffffffff) && (gsym[1].super_Symbol.dynsym_index_ != 0xffffffff)) {\n          pMVar9 = target->plt_;\n          if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n            Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");\n          }\n          if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n            Mips_output_data_plt<64,_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);\n          }\n          symval.u_.value =\n               uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n               pMVar9->plt0_entry_o32[2];\n          pp_Var43 = (_List_node_base **)(ulong)symval.u_.value;\n          if (target->field_0x14 == '\0') {\nLAB_002c46dd:\n                    /* WARNING: Subroutine does not return */\n            is_output_micromips((Target_mips<32,_false> *)pMVar60);\n          }\n          psymval = (Symbol_value<32> *)local_c8;\n          bVar20 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n          calculate_only = !(bool)bVar20;\n        }\n      }\n      goto LAB_002c13a0;\n    }\n    bVar21 = this_00->field_0x36c;\n    pMVar60 = (Mips_relobj<32,_false> *)(ulong)bVar21;\n    local_b8 = (_Bit_type *)(ulong)bVar21;\n    bVar21 = bVar21 >> 1 & 1 ^ 1;\n    if ((!bVar66 && !bVar69) == bVar66) {\n      if (bVar21 == 0) goto LAB_002c1750;\n    }\n    else if (bVar21 == 0) goto LAB_002c15d8;\n    if ((((1 < uVar65 - 0x68) && (1 < uVar65 - 5)) && (1 < uVar65 - 0x86)) && (1 < uVar65 - 0x40)) {\n      pp_Var43 = (_List_node_base **)\n                 gettext(\n                        "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                        );\n      pMVar54 = (Mips_symbol<64> *)relnum;\n      pMVar60 = (Mips_relobj<32,_false> *)relinfo;\n      gold::gold_error_at_location<32,_false>(relinfo,relnum,(ulong)uVar7,(char *)pp_Var43);\n    }\n    in_stack_fffffffffffffefc = CONCAT31((int3)(in_stack_fffffffffffffefc >> 8),1);\n    if (uVar65 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    lVar42._0_4_ = gsym[1].super_Symbol.got_offsets_.got_type_;\n    lVar42._4_4_ = gsym[1].super_Symbol.got_offsets_.got_offset_;\n    if (lVar42 == 0) {\nLAB_002c17b9:\n      bVar20 = (byte)pMVar28;\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 == -1) {\nLAB_002c1848:\n        bVar67 = uVar65 == 100;\n        if (uVar65 == 0x85 || bVar67) goto LAB_002c1320;\n        bVar67 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      bVar20 = (byte)pMVar28;\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((this_00->field_0x36c & 1) != 0) goto LAB_002c1848;\n      pMVar60 = (Mips_relobj<32,_false> *)(ulong)uVar65;\n      bVar67 = relocation_needs_la25_stub<32,_true>\n                         ((Mips_relobj<32,_true> *)pMVar60,(uint)pMVar28,SUB41(iVar25,0));\n      pMVar54 = pMVar28;\n      if (!bVar67) goto LAB_002c1848;\n      pMVar10 = target->la25_stub_;\n      if (pMVar10 == (Mips_output_data_la25_stub<32,_false> *)0x0) {\n        la25_stub_section((Target_mips<32,_false> *)pMVar60);\n        goto LAB_002c46aa;\n      }\n      if (((pMVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        Mips_output_data_plt<64,_false>::mips_entry_address\n                  ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar28);\n      }\n      psymval = (Symbol_value<32> *)local_c8;\n      bVar67 = uVar65 == 100;\n      symval.u_.value =\n           extraout_EDX + (int)(pMVar10->super_Output_section_data).super_Output_data.address_ +\n           (uint)(((byte)(gsym->super_Symbol).field_0x39 >> 2 & 0x30) == 0x20);\n      bVar68 = (bool)(calculate_only & bVar67);\n      pp_Var43 = (_List_node_base **)local_c8;\n      bVar21 = bVar68;\n      if (bVar68 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    bVar21 = calculate_only;\n    if ((uVar65 == 0x67) && (*(char *)&gsym[1].super_Symbol.name_ == '\0')) {\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 != -1) goto LAB_002c17c6;\n      bVar67 = false" (call_expression "psymval = (Symbol_value<32> *)local_c8;\n        bVar67 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0)) {\n        pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;\n        pMVar49 = pMVar60;\n        if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {\n          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 != -1) goto LAB_002c17c6;\n      bVar67 = true;\nLAB_002c1320:\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((gsym->super_Symbol).plt_offset_ != 0xffffffff) {\n        uVar40 = gsym[1].super_Symbol.plt_offset_;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        if ((uVar40 != 0xffffffff) && (gsym[1].super_Symbol.dynsym_index_ != 0xffffffff)) {\n          pMVar9 = target->plt_;\n          if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n            Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");\n          }\n          if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n            Mips_output_data_plt<64,_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);\n          }\n          symval.u_.value =\n               uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n               pMVar9->plt0_entry_o32[2];\n          pp_Var43 = (_List_node_base **)(ulong)symval.u_.value;\n          if (target->field_0x14 == '\0') {\nLAB_002c46dd:\n                    /* WARNING: Subroutine does not return */\n            is_output_micromips((Target_mips<32,_false> *)pMVar60);\n          }\n          psymval = (Symbol_value<32> *)local_c8;\n          bVar20 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n          calculate_only = !(bool)bVar20;\n        }\n      }\n      goto LAB_002c13a0;\n    }\n    bVar21 = this_00->field_0x36c;\n    pMVar60 = (Mips_relobj<32,_false> *)(ulong)bVar21;\n    local_b8 = (_Bit_type *)(ulong)bVar21;\n    bVar21 = bVar21 >> 1 & 1 ^ 1;\n    if ((!bVar66 && !bVar69) == bVar66) {\n      if (bVar21 == 0) goto LAB_002c1750;\n    }\n    else if (bVar21 == 0) goto LAB_002c15d8;\n    if ((((1 < uVar65 - 0x68) && (1 < uVar65 - 5)) && (1 < uVar65 - 0x86)) && (1 < uVar65 - 0x40)) {\n      pp_Var43 = (_List_node_base **)\n                 gettext(\n                        "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                        );\n      pMVar54 = (Mips_symbol<64> *)relnum;\n      pMVar60 = (Mips_relobj<32,_false> *)relinfo;\n      gold::gold_error_at_location<32,_false>(relinfo,relnum,(ulong)uVar7,(char *)pp_Var43);\n    }\n    in_stack_fffffffffffffefc = CONCAT31((int3)(in_stack_fffffffffffffefc >> 8),1);\n    if (uVar65 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    lVar42._0_4_ = gsym[1].super_Symbol.got_offsets_.got_type_;\n    lVar42._4_4_ = gsym[1].super_Symbol.got_offsets_.got_offset_;\n    if (lVar42 == 0) {\nLAB_002c17b9:\n      bVar20 = (byte)pMVar28;\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 == -1) {\nLAB_002c1848:\n        bVar67 = uVar65 == 100;\n        if (uVar65 == 0x85 || bVar67) goto LAB_002c1320;\n        bVar67 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      bVar20 = (byte)pMVar28;\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((this_00->field_0x36c & 1) != 0) goto LAB_002c1848;\n      pMVar60 = (Mips_relobj<32,_false> *)(ulong)uVar65;\n      bVar67 = relocation_needs_la25_stub<32,_true>\n                         ((Mips_relobj<32,_true> *)pMVar60,(uint)pMVar28,SUB41(iVar25,0));\n      pMVar54 = pMVar28;\n      if (!bVar67) goto LAB_002c1848;\n      pMVar10 = target->la25_stub_;\n      if (pMVar10 == (Mips_output_data_la25_stub<32,_false> *)0x0) {\n        la25_stub_section((Target_mips<32,_false> *)pMVar60);\n        goto LAB_002c46aa;\n      }\n      if (((pMVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        Mips_output_data_plt<64,_false>::mips_entry_address\n                  ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar28);\n      }\n      psymval = (Symbol_value<32> *)local_c8;\n      bVar67 = uVar65 == 100;\n      symval.u_.value =\n           extraout_EDX + (int)(pMVar10->super_Output_section_data).super_Output_data.address_ +\n           (uint)(((byte)(gsym->super_Symbol).field_0x39 >> 2 & 0x30) == 0x20);\n      bVar68 = (bool)(calculate_only & bVar67);\n      pp_Var43 = (_List_node_base **)local_c8;\n      bVar21 = bVar68;\n      if (bVar68 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    bVar21 = calculate_only;\n    if ((uVar65 == 0x67) && (*(char *)&gsym[1].super_Symbol.name_ == '\0')) {\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 != -1)" (assignment_expression "psymval = (Symbol_value<32> *)local_c8;\n        bVar67 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0)) {\n        pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;\n        pMVar49 = pMVar60;\n        if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {\n          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 != -1) goto LAB_002c17c6;\n      bVar67 = true;\nLAB_002c1320:\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((gsym->super_Symbol).plt_offset_ != 0xffffffff) {\n        uVar40 = gsym[1].super_Symbol.plt_offset_;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        if ((uVar40 != 0xffffffff) && (gsym[1].super_Symbol.dynsym_index_ != 0xffffffff)) {\n          pMVar9 = target->plt_;\n          if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n            Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");\n          }\n          if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n            Mips_output_data_plt<64,_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);\n          }\n          symval.u_.value =\n               uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n               pMVar9->plt0_entry_o32[2];\n          pp_Var43 = (_List_node_base **)(ulong)symval.u_.value;\n          if (target->field_0x14 == '\0') {\nLAB_002c46dd:\n                    /* WARNING: Subroutine does not return */\n            is_output_micromips((Target_mips<32,_false> *)pMVar60);\n          }\n          psymval = (Symbol_value<32> *)local_c8;\n          bVar20 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n          calculate_only = !(bool)bVar20;\n        }\n      }\n      goto LAB_002c13a0;\n    }\n    bVar21 = this_00->field_0x36c;\n    pMVar60 = (Mips_relobj<32,_false> *)(ulong)bVar21;\n    local_b8 = (_Bit_type *)(ulong)bVar21;\n    bVar21 = bVar21 >> 1 & 1 ^ 1;\n    if ((!bVar66 && !bVar69) == bVar66) {\n      if (bVar21 == 0) goto LAB_002c1750;\n    }\n    else if (bVar21 == 0) goto LAB_002c15d8;\n    if ((((1 < uVar65 - 0x68) && (1 < uVar65 - 5)) && (1 < uVar65 - 0x86)) && (1 < uVar65 - 0x40)) {\n      pp_Var43 = (_List_node_base **)\n                 gettext(\n                        "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                        );\n      pMVar54 = (Mips_symbol<64> *)relnum;\n      pMVar60 = (Mips_relobj<32,_false> *)relinfo;\n      gold::gold_error_at_location<32,_false>(relinfo,relnum,(ulong)uVar7,(char *)pp_Var43);\n    }\n    in_stack_fffffffffffffefc = CONCAT31((int3)(in_stack_fffffffffffffefc >> 8),1);\n    if (uVar65 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    lVar42._0_4_ = gsym[1].super_Symbol.got_offsets_.got_type_;\n    lVar42._4_4_ = gsym[1].super_Symbol.got_offsets_.got_offset_;\n    if (lVar42 == 0) {\nLAB_002c17b9:\n      bVar20 = (byte)pMVar28;\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 == -1) {\nLAB_002c1848:\n        bVar67 = uVar65 == 100;\n        if (uVar65 == 0x85 || bVar67) goto LAB_002c1320;\n        bVar67 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      bVar20 = (byte)pMVar28;\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((this_00->field_0x36c & 1) != 0) goto LAB_002c1848;\n      pMVar60 = (Mips_relobj<32,_false> *)(ulong)uVar65;\n      bVar67 = relocation_needs_la25_stub<32,_true>\n                         ((Mips_relobj<32,_true> *)pMVar60,(uint)pMVar28,SUB41(iVar25,0));\n      pMVar54 = pMVar28;\n      if (!bVar67) goto LAB_002c1848;\n      pMVar10 = target->la25_stub_;\n      if (pMVar10 == (Mips_output_data_la25_stub<32,_false> *)0x0) {\n        la25_stub_section((Target_mips<32,_false> *)pMVar60);\n        goto LAB_002c46aa;\n      }\n      if (((pMVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        Mips_output_data_plt<64,_false>::mips_entry_address\n                  ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar28);\n      }\n      psymval = (Symbol_value<32> *)local_c8;\n      bVar67 = uVar65 == 100;\n      symval.u_.value =\n           extraout_EDX + (int)(pMVar10->super_Output_section_data).super_Output_data.address_ +\n           (uint)(((byte)(gsym->super_Symbol).field_0x39 >> 2 & 0x30) == 0x20);\n      bVar68 = (bool)(calculate_only & bVar67);\n      pp_Var43 = (_List_node_base **)local_c8;\n      bVar21 = bVar68;\n      if (bVar68 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    bVar21 = calculate_only;\n    if ((uVar65 == 0x67) && (*(char *)&gsym[1].super_Symbol.name_ == '\0')) {\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4)" (call_expression "psymval = (Symbol_value<32> *)local_c8;\n        bVar67 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0)) {\n        pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;\n        pMVar49 = pMVar60;\n        if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {\n          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 != -1) goto LAB_002c17c6;\n      bVar67 = true;\nLAB_002c1320:\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((gsym->super_Symbol).plt_offset_ != 0xffffffff) {\n        uVar40 = gsym[1].super_Symbol.plt_offset_;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        if ((uVar40 != 0xffffffff) && (gsym[1].super_Symbol.dynsym_index_ != 0xffffffff)) {\n          pMVar9 = target->plt_;\n          if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n            Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");\n          }\n          if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n            Mips_output_data_plt<64,_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);\n          }\n          symval.u_.value =\n               uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n               pMVar9->plt0_entry_o32[2];\n          pp_Var43 = (_List_node_base **)(ulong)symval.u_.value;\n          if (target->field_0x14 == '\0') {\nLAB_002c46dd:\n                    /* WARNING: Subroutine does not return */\n            is_output_micromips((Target_mips<32,_false> *)pMVar60);\n          }\n          psymval = (Symbol_value<32> *)local_c8;\n          bVar20 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n          calculate_only = !(bool)bVar20;\n        }\n      }\n      goto LAB_002c13a0;\n    }\n    bVar21 = this_00->field_0x36c;\n    pMVar60 = (Mips_relobj<32,_false> *)(ulong)bVar21;\n    local_b8 = (_Bit_type *)(ulong)bVar21;\n    bVar21 = bVar21 >> 1 & 1 ^ 1;\n    if ((!bVar66 && !bVar69) == bVar66) {\n      if (bVar21 == 0) goto LAB_002c1750;\n    }\n    else if (bVar21 == 0) goto LAB_002c15d8;\n    if ((((1 < uVar65 - 0x68) && (1 < uVar65 - 5)) && (1 < uVar65 - 0x86)) && (1 < uVar65 - 0x40)) {\n      pp_Var43 = (_List_node_base **)\n                 gettext(\n                        "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                        );\n      pMVar54 = (Mips_symbol<64> *)relnum;\n      pMVar60 = (Mips_relobj<32,_false> *)relinfo;\n      gold::gold_error_at_location<32,_false>(relinfo,relnum,(ulong)uVar7,(char *)pp_Var43);\n    }\n    in_stack_fffffffffffffefc = CONCAT31((int3)(in_stack_fffffffffffffefc >> 8),1);\n    if (uVar65 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    lVar42._0_4_ = gsym[1].super_Symbol.got_offsets_.got_type_;\n    lVar42._4_4_ = gsym[1].super_Symbol.got_offsets_.got_offset_;\n    if (lVar42 == 0) {\nLAB_002c17b9:\n      bVar20 = (byte)pMVar28;\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 == -1) {\nLAB_002c1848:\n        bVar67 = uVar65 == 100;\n        if (uVar65 == 0x85 || bVar67) goto LAB_002c1320;\n        bVar67 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      bVar20 = (byte)pMVar28;\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((this_00->field_0x36c & 1) != 0) goto LAB_002c1848;\n      pMVar60 = (Mips_relobj<32,_false> *)(ulong)uVar65;\n      bVar67 = relocation_needs_la25_stub<32,_true>\n                         ((Mips_relobj<32,_true> *)pMVar60,(uint)pMVar28,SUB41(iVar25,0));\n      pMVar54 = pMVar28;\n      if (!bVar67) goto LAB_002c1848;\n      pMVar10 = target->la25_stub_;\n      if (pMVar10 == (Mips_output_data_la25_stub<32,_false> *)0x0) {\n        la25_stub_section((Target_mips<32,_false> *)pMVar60);\n        goto LAB_002c46aa;\n      }\n      if (((pMVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        Mips_output_data_plt<64,_false>::mips_entry_address\n                  ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar28);\n      }\n      psymval = (Symbol_value<32> *)local_c8;\n      bVar67 = uVar65 == 100;\n      symval.u_.value =\n           extraout_EDX + (int)(pMVar10->super_Output_section_data).super_Output_data.address_ +\n           (uint)(((byte)(gsym->super_Symbol).field_0x39 >> 2 & 0x30) == 0x20);\n      bVar68 = (bool)(calculate_only & bVar67);\n      pp_Var43 = (_List_node_base **)local_c8;\n      bVar21 = bVar68;\n      if (bVar68 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    bVar21 = calculate_only;\n    if ((uVar65 == 0x67) && (*(char *)&gsym[1].super_Symbol.name_ == '\0'))" (assignment_expression "psymval = (Symbol_value<32> *)local_c8;\n        bVar67 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0)) {\n        pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;\n        pMVar49 = pMVar60;\n        if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {\n          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 != -1) goto LAB_002c17c6;\n      bVar67 = true;\nLAB_002c1320:\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((gsym->super_Symbol).plt_offset_ != 0xffffffff) {\n        uVar40 = gsym[1].super_Symbol.plt_offset_;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        if ((uVar40 != 0xffffffff) && (gsym[1].super_Symbol.dynsym_index_ != 0xffffffff)) {\n          pMVar9 = target->plt_;\n          if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n            Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");\n          }\n          if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n            Mips_output_data_plt<64,_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);\n          }\n          symval.u_.value =\n               uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n               pMVar9->plt0_entry_o32[2];\n          pp_Var43 = (_List_node_base **)(ulong)symval.u_.value;\n          if (target->field_0x14 == '\0') {\nLAB_002c46dd:\n                    /* WARNING: Subroutine does not return */\n            is_output_micromips((Target_mips<32,_false> *)pMVar60);\n          }\n          psymval = (Symbol_value<32> *)local_c8;\n          bVar20 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n          calculate_only = !(bool)bVar20;\n        }\n      }\n      goto LAB_002c13a0;\n    }\n    bVar21 = this_00->field_0x36c;\n    pMVar60 = (Mips_relobj<32,_false> *)(ulong)bVar21;\n    local_b8 = (_Bit_type *)(ulong)bVar21;\n    bVar21 = bVar21 >> 1 & 1 ^ 1;\n    if ((!bVar66 && !bVar69) == bVar66) {\n      if (bVar21 == 0) goto LAB_002c1750;\n    }\n    else if (bVar21 == 0) goto LAB_002c15d8;\n    if ((((1 < uVar65 - 0x68) && (1 < uVar65 - 5)) && (1 < uVar65 - 0x86)) && (1 < uVar65 - 0x40)) {\n      pp_Var43 = (_List_node_base **)\n                 gettext(\n                        "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                        )" (call_expression "psymval = (Symbol_value<32> *)local_c8;\n        bVar67 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0)) {\n        pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;\n        pMVar49 = pMVar60;\n        if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {\n          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 != -1) goto LAB_002c17c6;\n      bVar67 = true;\nLAB_002c1320:\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((gsym->super_Symbol).plt_offset_ != 0xffffffff) {\n        uVar40 = gsym[1].super_Symbol.plt_offset_;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        if ((uVar40 != 0xffffffff) && (gsym[1].super_Symbol.dynsym_index_ != 0xffffffff)) {\n          pMVar9 = target->plt_;\n          if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n            Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");\n          }\n          if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n            Mips_output_data_plt<64,_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);\n          }\n          symval.u_.value =\n               uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n               pMVar9->plt0_entry_o32[2];\n          pp_Var43 = (_List_node_base **)(ulong)symval.u_.value;\n          if (target->field_0x14 == '\0') {\nLAB_002c46dd:\n                    /* WARNING: Subroutine does not return */\n            is_output_micromips((Target_mips<32,_false> *)pMVar60);\n          }\n          psymval = (Symbol_value<32> *)local_c8;\n          bVar20 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n          calculate_only = !(bool)bVar20;\n        }\n      }\n      goto LAB_002c13a0;\n    }\n    bVar21 = this_00->field_0x36c;\n    pMVar60 = (Mips_relobj<32,_false> *)(ulong)bVar21;\n    local_b8 = (_Bit_type *)(ulong)bVar21;\n    bVar21 = bVar21 >> 1 & 1 ^ 1;\n    if ((!bVar66 && !bVar69) == bVar66) {\n      if (bVar21 == 0) goto LAB_002c1750;\n    }\n    else if (bVar21 == 0) goto LAB_002c15d8;\n    if ((((1 < uVar65 - 0x68) && (1 < uVar65 - 5)) && (1 < uVar65 - 0x86)) && (1 < uVar65 - 0x40))" (call_expression "psymval = (Symbol_value<32> *)local_c8;\n        bVar67 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0)) {\n        pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;\n        pMVar49 = pMVar60;\n        if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {\n          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 != -1) goto LAB_002c17c6;\n      bVar67 = true;\nLAB_002c1320:\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((gsym->super_Symbol).plt_offset_ != 0xffffffff) {\n        uVar40 = gsym[1].super_Symbol.plt_offset_;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        if ((uVar40 != 0xffffffff) && (gsym[1].super_Symbol.dynsym_index_ != 0xffffffff)) {\n          pMVar9 = target->plt_;\n          if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n            Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");\n          }\n          if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n            Mips_output_data_plt<64,_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);\n          }\n          symval.u_.value =\n               uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n               pMVar9->plt0_entry_o32[2];\n          pp_Var43 = (_List_node_base **)(ulong)symval.u_.value;\n          if (target->field_0x14 == '\0') {\nLAB_002c46dd:\n                    /* WARNING: Subroutine does not return */\n            is_output_micromips((Target_mips<32,_false> *)pMVar60);\n          }\n          psymval = (Symbol_value<32> *)local_c8;\n          bVar20 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n          calculate_only = !(bool)bVar20;\n        }\n      }\n      goto LAB_002c13a0;\n    }\n    bVar21 = this_00->field_0x36c;\n    pMVar60 = (Mips_relobj<32,_false> *)(ulong)bVar21;\n    local_b8 = (_Bit_type *)(ulong)bVar21;\n    bVar21 = bVar21 >> 1 & 1 ^ 1;\n    if ((!bVar66 && !bVar69) == bVar66) {\n      if (bVar21 == 0) goto LAB_002c1750;\n    }\n    else if (bVar21 == 0)" (call_expression "psymval = (Symbol_value<32> *)local_c8;\n        bVar67 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0)) {\n        pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;\n        pMVar49 = pMVar60;\n        if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {\n          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 != -1) goto LAB_002c17c6;\n      bVar67 = true;\nLAB_002c1320:\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((gsym->super_Symbol).plt_offset_ != 0xffffffff) {\n        uVar40 = gsym[1].super_Symbol.plt_offset_;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        if ((uVar40 != 0xffffffff) && (gsym[1].super_Symbol.dynsym_index_ != 0xffffffff)) {\n          pMVar9 = target->plt_;\n          if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n            Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");\n          }\n          if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n            Mips_output_data_plt<64,_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);\n          }\n          symval.u_.value =\n               uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n               pMVar9->plt0_entry_o32[2];\n          pp_Var43 = (_List_node_base **)(ulong)symval.u_.value;\n          if (target->field_0x14 == '\0') {\nLAB_002c46dd:\n                    /* WARNING: Subroutine does not return */\n            is_output_micromips((Target_mips<32,_false> *)pMVar60);\n          }\n          psymval = (Symbol_value<32> *)local_c8;\n          bVar20 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n          calculate_only = !(bool)bVar20;\n        }\n      }\n      goto LAB_002c13a0;\n    }\n    bVar21 = this_00->field_0x36c;\n    pMVar60 = (Mips_relobj<32,_false> *)(ulong)bVar21;\n    local_b8 = (_Bit_type *)(ulong)bVar21;\n    bVar21 = bVar21 >> 1 & 1 ^ 1;\n    if ((!bVar66 && !bVar69) == bVar66) {\n      if (bVar21 == 0)" (call_expression "psymval = (Symbol_value<32> *)local_c8;\n        bVar67 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0)) {\n        pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;\n        pMVar49 = pMVar60;\n        if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {\n          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 != -1) goto LAB_002c17c6;\n      bVar67 = true;\nLAB_002c1320:\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((gsym->super_Symbol).plt_offset_ != 0xffffffff) {\n        uVar40 = gsym[1].super_Symbol.plt_offset_;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        if ((uVar40 != 0xffffffff) && (gsym[1].super_Symbol.dynsym_index_ != 0xffffffff)) {\n          pMVar9 = target->plt_;\n          if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n            Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");\n          }\n          if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n            Mips_output_data_plt<64,_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);\n          }\n          symval.u_.value =\n               uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n               pMVar9->plt0_entry_o32[2];\n          pp_Var43 = (_List_node_base **)(ulong)symval.u_.value;\n          if (target->field_0x14 == '\0') {\nLAB_002c46dd:\n                    /* WARNING: Subroutine does not return */\n            is_output_micromips((Target_mips<32,_false> *)pMVar60);\n          }\n          psymval = (Symbol_value<32> *)local_c8;\n          bVar20 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n          calculate_only = !(bool)bVar20;\n        }\n      }\n      goto LAB_002c13a0;\n    }\n    bVar21 = this_00->field_0x36c;\n    pMVar60 = (Mips_relobj<32,_false> *)(ulong)bVar21;\n    local_b8 = (_Bit_type *)(ulong)bVar21;\n    bVar21 = bVar21 >> 1 & 1 ^ 1;\n    if ((!bVar66 && !bVar69) == bVar66)" (binary_expression "psymval = (Symbol_value<32> *)local_c8;\n        bVar67 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0)) {\n        pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;\n        pMVar49 = pMVar60;\n        if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {\n          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 != -1) goto LAB_002c17c6;\n      bVar67 = true;\nLAB_002c1320:\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((gsym->super_Symbol).plt_offset_ != 0xffffffff) {\n        uVar40 = gsym[1].super_Symbol.plt_offset_;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        if ((uVar40 != 0xffffffff) && (gsym[1].super_Symbol.dynsym_index_ != 0xffffffff)) {\n          pMVar9 = target->plt_;\n          if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n            Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");\n          }\n          if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n            Mips_output_data_plt<64,_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);\n          }\n          symval.u_.value =\n               uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n               pMVar9->plt0_entry_o32[2];\n          pp_Var43 = (_List_node_base **)(ulong)symval.u_.value;\n          if (target->field_0x14 == '\0') {\nLAB_002c46dd:\n                    /* WARNING: Subroutine does not return */\n            is_output_micromips((Target_mips<32,_false> *)pMVar60);\n          }\n          psymval = (Symbol_value<32> *)local_c8;\n          bVar20 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n          calculate_only = !(bool)bVar20;\n        }\n      }\n      goto LAB_002c13a0;\n    }\n    bVar21 = this_00->field_0x36c;\n    pMVar60 = (Mips_relobj<32,_false> *)(ulong)bVar21;\n    local_b8 = (_Bit_type *)(ulong)bVar21;\n    bVar21 = bVar21 >> 1 & 1 ^ 1" (binary_expression "psymval = (Symbol_value<32> *)local_c8;\n        bVar67 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0)) {\n        pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;\n        pMVar49 = pMVar60;\n        if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {\n          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 != -1) goto LAB_002c17c6;\n      bVar67 = true;\nLAB_002c1320:\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((gsym->super_Symbol).plt_offset_ != 0xffffffff) {\n        uVar40 = gsym[1].super_Symbol.plt_offset_;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        if ((uVar40 != 0xffffffff) && (gsym[1].super_Symbol.dynsym_index_ != 0xffffffff)) {\n          pMVar9 = target->plt_;\n          if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n            Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");\n          }\n          if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n            Mips_output_data_plt<64,_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);\n          }\n          symval.u_.value =\n               uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n               pMVar9->plt0_entry_o32[2];\n          pp_Var43 = (_List_node_base **)(ulong)symval.u_.value;\n          if (target->field_0x14 == '\0') {\nLAB_002c46dd:\n                    /* WARNING: Subroutine does not return */\n            is_output_micromips((Target_mips<32,_false> *)pMVar60);\n          }\n          psymval = (Symbol_value<32> *)local_c8;\n          bVar20 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n          calculate_only = !(bool)bVar20;\n        }\n      }\n      goto LAB_002c13a0;\n    }\n    bVar21 = this_00->field_0x36c;\n    pMVar60 = (Mips_relobj<32,_false> *)(ulong)bVar21;\n    local_b8 = (_Bit_type *)(ulong)bVar21;\n    bVar21 = bVar21 >> 1 & 1" (binary_expression "psymval = (Symbol_value<32> *)local_c8;\n        bVar67 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0)) {\n        pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;\n        pMVar49 = pMVar60;\n        if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {\n          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 != -1) goto LAB_002c17c6;\n      bVar67 = true;\nLAB_002c1320:\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((gsym->super_Symbol).plt_offset_ != 0xffffffff) {\n        uVar40 = gsym[1].super_Symbol.plt_offset_;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        if ((uVar40 != 0xffffffff) && (gsym[1].super_Symbol.dynsym_index_ != 0xffffffff)) {\n          pMVar9 = target->plt_;\n          if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n            Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");\n          }\n          if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n            Mips_output_data_plt<64,_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);\n          }\n          symval.u_.value =\n               uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n               pMVar9->plt0_entry_o32[2];\n          pp_Var43 = (_List_node_base **)(ulong)symval.u_.value;\n          if (target->field_0x14 == '\0') {\nLAB_002c46dd:\n                    /* WARNING: Subroutine does not return */\n            is_output_micromips((Target_mips<32,_false> *)pMVar60);\n          }\n          psymval = (Symbol_value<32> *)local_c8;\n          bVar20 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n          calculate_only = !(bool)bVar20;\n        }\n      }\n      goto LAB_002c13a0;\n    }\n    bVar21 = this_00->field_0x36c;\n    pMVar60 = (Mips_relobj<32,_false> *)(ulong)bVar21;\n    local_b8 = (_Bit_type *)(ulong)bVar21;\n    bVar21 = bVar21 >> 1" (assignment_expression "psymval = (Symbol_value<32> *)local_c8;\n        bVar67 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0)) {\n        pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;\n        pMVar49 = pMVar60;\n        if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {\n          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 != -1) goto LAB_002c17c6;\n      bVar67 = true;\nLAB_002c1320:\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((gsym->super_Symbol).plt_offset_ != 0xffffffff) {\n        uVar40 = gsym[1].super_Symbol.plt_offset_;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        if ((uVar40 != 0xffffffff) && (gsym[1].super_Symbol.dynsym_index_ != 0xffffffff)) {\n          pMVar9 = target->plt_;\n          if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n            Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");\n          }\n          if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n            Mips_output_data_plt<64,_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);\n          }\n          symval.u_.value =\n               uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n               pMVar9->plt0_entry_o32[2];\n          pp_Var43 = (_List_node_base **)(ulong)symval.u_.value;\n          if (target->field_0x14 == '\0') {\nLAB_002c46dd:\n                    /* WARNING: Subroutine does not return */\n            is_output_micromips((Target_mips<32,_false> *)pMVar60);\n          }\n          psymval = (Symbol_value<32> *)local_c8;\n          bVar20 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n          calculate_only = !(bool)bVar20;\n        }\n      }\n      goto LAB_002c13a0;\n    }\n    bVar21 = this_00->field_0x36c;\n    pMVar60 = (Mips_relobj<32,_false> *)(ulong)bVar21;\n    local_b8 = (_Bit_type *)(ulong)bVar21" (call_expression "psymval = (Symbol_value<32> *)local_c8;\n        bVar67 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0)) {\n        pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;\n        pMVar49 = pMVar60;\n        if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {\n          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 != -1) goto LAB_002c17c6;\n      bVar67 = true;\nLAB_002c1320:\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((gsym->super_Symbol).plt_offset_ != 0xffffffff) {\n        uVar40 = gsym[1].super_Symbol.plt_offset_;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        if ((uVar40 != 0xffffffff) && (gsym[1].super_Symbol.dynsym_index_ != 0xffffffff)) {\n          pMVar9 = target->plt_;\n          if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n            Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");\n          }\n          if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n            Mips_output_data_plt<64,_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);\n          }\n          symval.u_.value =\n               uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n               pMVar9->plt0_entry_o32[2];\n          pp_Var43 = (_List_node_base **)(ulong)symval.u_.value;\n          if (target->field_0x14 == '\0') {\nLAB_002c46dd:\n                    /* WARNING: Subroutine does not return */\n            is_output_micromips((Target_mips<32,_false> *)pMVar60);\n          }\n          psymval = (Symbol_value<32> *)local_c8;\n          bVar20 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n          calculate_only = !(bool)bVar20;\n        }\n      }\n      goto LAB_002c13a0;\n    }\n    bVar21 = this_00->field_0x36c;\n    pMVar60 = (Mips_relobj<32,_false> *)(ulong)" (call_expression "psymval = (Symbol_value<32> *)local_c8;\n        bVar67 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0)) {\n        pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;\n        pMVar49 = pMVar60;\n        if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {\n          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 != -1) goto LAB_002c17c6;\n      bVar67 = true;\nLAB_002c1320:\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((gsym->super_Symbol).plt_offset_ != 0xffffffff) {\n        uVar40 = gsym[1].super_Symbol.plt_offset_;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        if ((uVar40 != 0xffffffff) && (gsym[1].super_Symbol.dynsym_index_ != 0xffffffff)) {\n          pMVar9 = target->plt_;\n          if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n            Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");\n          }\n          if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n            Mips_output_data_plt<64,_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);\n          }\n          symval.u_.value =\n               uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n               pMVar9->plt0_entry_o32[2];\n          pp_Var43 = (_List_node_base **)(ulong)symval.u_.value;\n          if (target->field_0x14 == '\0') {\nLAB_002c46dd:\n                    /* WARNING: Subroutine does not return */\n            is_output_micromips((Target_mips<32,_false> *)pMVar60);\n          }\n          psymval = (Symbol_value<32> *)local_c8;\n          bVar20 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n          calculate_only = !(bool)bVar20;\n        }\n      }\n      goto LAB_002c13a0;\n    }\n    bVar21 = this_00->field_0x36c;\n    pMVar60 = (Mips_relobj<32,_false> *)" (assignment_expression "psymval = (Symbol_value<32> *)local_c8;\n        bVar67 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0)) {\n        pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;\n        pMVar49 = pMVar60;\n        if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {\n          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 != -1) goto LAB_002c17c6;\n      bVar67 = true" (call_expression "psymval = (Symbol_value<32> *)local_c8;\n        bVar67 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0)) {\n        pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;\n        pMVar49 = pMVar60;\n        if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {\n          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 != -1)" (assignment_expression "psymval = (Symbol_value<32> *)local_c8;\n        bVar67 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0)) {\n        pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;\n        pMVar49 = pMVar60;\n        if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {\n          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4)" identifier = (call_expression "(Symbol_value<32> *)local_c8;\n        bVar67 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0)) {\n        pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;\n        pMVar49 = pMVar60;\n        if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {\n          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4)" (parenthesized_expression "(Symbol_value<32> *)local_c8;\n        bVar67 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0)) {\n        pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;\n        pMVar49 = pMVar60;\n        if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {\n          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      iVar25 = *(int *)" ( (ERROR "Symbol_value<32> *)local_c8;\n        bVar67 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0))" (binary_expression "Symbol_value<32> *)local_c8" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)local_c8" * (ERROR ")" )) identifier)) ; (assignment_expression "bVar67 = true" identifier = true) ; (assignment_expression "local_cd = true" identifier = true) ; goto (call_expression "LAB_002c13a0;\n      }\n      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0))" identifier (ERROR ";\n      }\n      if" ; } if) (argument_list "(((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0))" ( (binary_expression "((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0)" (parenthesized_expression "((gsym->super_Symbol).plt_offset_ != 0xffffffff)" ( (binary_expression "(gsym->super_Symbol).plt_offset_ != 0xffffffff" (field_expression "(gsym->super_Symbol).plt_offset_" (parenthesized_expression "(gsym->super_Symbol)" ( (field_expression "gsym->super_Symbol" identifier -> field_identifier) )) . field_identifier) != number_literal) )) || (parenthesized_expression "(bVar20 == 0)" ( (binary_expression "bVar20 == 0" identifier == number_literal) ))) )))) (compound_statement "{\n        pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;\n        pMVar49 = pMVar60;\n        if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {\n          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }\n        }\n        goto LAB_002c1d90;\n      }" { (expression_statement "pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;" (assignment_expression "pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38" identifier = (binary_expression "*(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38" (pointer_expression "*(Mips_relobj<32,_false> **)" * (parenthesized_expression "(Mips_relobj<32,_false> **)" ( (comma_expression "Mips_relobj<32,_false> **" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) ))) & (field_expression "gsym[1].super_Symbol.field_0x38" (field_expression "gsym[1].super_Symbol" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) ;) (expression_statement "pMVar49 = pMVar60;" (assignment_expression "pMVar49 = pMVar60" identifier = identifier) ;) (if_statement "if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {\n          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }\n        }" if (parenthesized_expression "(pMVar14 != (Mips_relobj<32,_false> *)0x0)" ( (binary_expression "pMVar14 != (Mips_relobj<32,_false> *)0x0)" identifier != (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }\n        }" { (expression_statement "uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_;" (comma_expression "uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.shnum_" (assignment_expression "uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" identifier = (binary_expression "(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" (field_expression "(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj" (parenthesized_expression "(this_00->super_Sized_relobj_file<32,_false>)" ( (comma_expression "this_00->super_Sized_relobj_file<32,_false" (binary_expression "this_00->super_Sized_relobj_file<32" (field_expression "this_00->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal)) , (field_expression "_false>.\n                   super_Relobj.super_Object.shnum_" (field_expression "_false>.\n                   super_Relobj.super_Object" (field_expression "_false>.\n                   super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "pp_Var43 = (_List_node_base **)(ulong)uVar40;" (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)uVar40" identifier = (cast_expression "(_List_node_base **)(ulong)uVar40" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)uVar40" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (if_statement "if (1 < uVar40) {\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }" if (parenthesized_expression "(1 < uVar40)" ( (binary_expression "1 < uVar40" number_literal < identifier) )) (compound_statement "{\n            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;\n            pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);\n            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n          }" { (expression_statement "p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p;" (field_expression "p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base._M_p" (field_expression "p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start.super__Bit_iterator_base" (field_expression "p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.\n                      _M_start" (field_expression "p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data" (field_expression "p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool>_" (binary_expression "p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std::allocator<bool" (assignment_expression "p_Var15 = (this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std" identifier = (binary_expression "(this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base<std" (field_expression "(this_00->section_is_mips16_call_fp_stub_).\n                      super__Bvector_base" (parenthesized_expression "(this_00->section_is_mips16_call_fp_stub_)" ( (field_expression "this_00->section_is_mips16_call_fp_stub_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) ;) (expression_statement "pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);" (assignment_expression "pMVar47 = (Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset)" identifier = (parenthesized_expression "(Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset)" ( (comma_expression "Mips_relobj<32,_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset)" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset)" identifier > (pointer_expression "*)\n                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset)" * (ERROR ")" )) (parenthesized_expression "(((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset)" ( (field_expression "((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset" (field_expression "((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start.super__Bit_iterator_base" (field_expression "((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data._M_start" (field_expression "((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl.\n                             super__Bvector_impl_data" (field_expression "((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool>_" (binary_expression "((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std::allocator<bool" (binary_expression "((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base<std" (binary_expression "((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8) -\n                      (ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base" (parenthesized_expression "((ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8)" ( (binary_expression "(ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset\n                       + ((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8" (field_expression "(ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset" (field_expression "(ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base" (field_expression "(ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data._M_finish" (field_expression "(ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl.\n                               super__Bvector_impl_data" (field_expression "(ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "(ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool>_" (binary_expression "(ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std::allocator<bool" (binary_expression "(ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base<std" (field_expression "(ulong)(this_00->section_is_mips16_call_fp_stub_).\n                               super__Bvector_base" (call_expression "(ulong)(this_00->section_is_mips16_call_fp_stub_)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(this_00->section_is_mips16_call_fp_stub_)" ( (field_expression "this_00->section_is_mips16_call_fp_stub_" identifier -> field_identifier) ))) . field_identifier) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) + (binary_expression "((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15) * 8" (parenthesized_expression "((long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15)" ( (binary_expression "(long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -\n                         (long)p_Var15" (field_expression "(long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p" (field_expression "(long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base" (field_expression "(long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data._M_finish" (field_expression "(long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl.\n                                super__Bvector_impl_data" (field_expression "(long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "(long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool>_" (binary_expression "(long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std::allocator<bool" (binary_expression "(long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base<std" (cast_expression "(long)(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(this_00->section_is_mips16_call_fp_stub_).\n                                super__Bvector_base" (parenthesized_expression "(this_00->section_is_mips16_call_fp_stub_)" ( (field_expression "this_00->section_is_mips16_call_fp_stub_" identifier -> field_identifier) )) . field_identifier)) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) - (cast_expression "(long)p_Var15" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )) * number_literal)) )) - (field_expression "(ulong)(this_00->section_is_mips16_call_fp_stub_).\n                             super__Bvector_base" (call_expression "(ulong)(this_00->section_is_mips16_call_fp_stub_)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(this_00->section_is_mips16_call_fp_stub_)" ( (field_expression "this_00->section_is_mips16_call_fp_stub_" identifier -> field_identifier) ))) . field_identifier)) < identifier) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) ))))) ))) ;) (if_statement "if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }" if (parenthesized_expression "((Mips_relobj<32,_false> *)0x1 < pMVar47)" ( (parenthesized_expression "(Mips_relobj<32,_false> *)0x1 < pMVar47)" ( (comma_expression "Mips_relobj<32,_false> *)0x1 < pMVar47" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x1 < pMVar47" (binary_expression "_false> *)0x1" identifier > (pointer_expression "*)0x1" * (ERROR ")" )) number_literal)) < identifier)) )) )) (compound_statement "{\n              puVar63 = (uchar *)0x1;\n              pp_Var43 = (_List_node_base **)0x1;\n              do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);\n            }" { (expression_statement "puVar63 = (uchar *)0x1;" (assignment_expression "puVar63 = (uchar *)0x1" identifier = (cast_expression "(uchar *)0x1" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pp_Var43 = (_List_node_base **)0x1;" (assignment_expression "pp_Var43 = (_List_node_base **)0x1" identifier = (cast_expression "(_List_node_base **)0x1" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (do_statement "do {\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);" do (compound_statement "{\n                pMVar49 = pMVar14;\n                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;\n                pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);\n              }" { (expression_statement "pMVar49 = pMVar14;" (assignment_expression "pMVar49 = pMVar14" identifier = identifier) ;) (if_statement "if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;" if (parenthesized_expression "(((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1)))" ( (binary_expression "((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||\n                   (pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1)))" (parenthesized_expression "((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0)" ( (binary_expression "(p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0" (parenthesized_expression "(p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f))" ( (binary_expression "p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)" (subscript_expression "p_Var15[(ulong)pp_Var43 >> 6]" identifier [ (binary_expression "(ulong)pp_Var43 >> 6" (cast_expression "(ulong)pp_Var43" ( (type_descriptor "ulong" type_identifier) ) identifier) >> number_literal) ]) & (binary_expression "1L << ((byte)pp_Var43 & 0x3f)" number_literal << (parenthesized_expression "((byte)pp_Var43 & 0x3f)" ( (binary_expression "(byte)pp_Var43 & 0x3f" (cast_expression "(byte)pp_Var43" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) )) != number_literal) )) || (parenthesized_expression "(pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1)))" ( (comma_expression "pMVar49 = pMVar60,\n                   (Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))" (assignment_expression "pMVar49 = pMVar60" identifier = identifier) , (parenthesized_expression "(Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))" ( (comma_expression "Mips_relobj<32,_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1)" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)pp_Var43 ==\n                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1)" (binary_expression "_false> *)pp_Var43" identifier > (pointer_expression "*)pp_Var43" * (ERROR ")" )) identifier)) == (call_expression "(Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1)" (parenthesized_expression "(Mips_relobj<32,_false> *)" ( (comma_expression "Mips_relobj<32,_false> *" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "((ulong)(uVar40 - 2) + 1)" ( (binary_expression "(ulong)(uVar40 - 2) + 1" (call_expression "(ulong)(uVar40 - 2)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar40 - 2)" ( (binary_expression "uVar40 - 2" identifier - number_literal) ))) + number_literal) ))))) ))) ))) )) (goto_statement "goto LAB_002c1d90;" goto statement_identifier ;)) (expression_statement "pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1);" (assignment_expression "pp_Var43 = (_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1)" identifier = (cast_expression "(_List_node_base **)\n                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1)" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1)" ( (cast_expression "(long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1)" & (parenthesized_expression "(((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1)" ( (comma_expression "((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1" (binary_expression "((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" (field_expression "((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj" (parenthesized_expression "((Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false>)" ( (comma_expression "(Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32,_false" (binary_expression "(Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file<32" (field_expression "(Mips_relobj<32,_false> *)pp_Var43)->\n                                   super_Sized_relobj_file" (parenthesized_expression "(Mips_relobj<32,_false> *)pp_Var43)" ( (comma_expression "Mips_relobj<32,_false> *)pp_Var43" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)pp_Var43" identifier > (pointer_expression "*)pp_Var43" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (binary_expression "_false>\n                                   .super_Relobj.super_Object._vptr_Object + 1" (field_expression "_false>\n                                   .super_Relobj.super_Object._vptr_Object" (field_expression "_false>\n                                   .super_Relobj.super_Object" (field_expression "_false>\n                                   .super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) + number_literal)) )))) )))) ;) }) while (parenthesized_expression "((Mips_relobj<32,_false> *)pp_Var43 != pMVar47)" ( (parenthesized_expression "(Mips_relobj<32,_false> *)pp_Var43 != pMVar47)" ( (comma_expression "Mips_relobj<32,_false> *)pp_Var43 != pMVar47" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)pp_Var43 != pMVar47" (binary_expression "_false> *)pp_Var43" identifier > (pointer_expression "*)pp_Var43" * (ERROR ")" )) identifier)) != identifier)) )) )) ;) })) comment (labeled_statement "gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");" (call_expression "do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section")" identifier (argument_list "("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""is_mips16_call_fp_stub_section"" " string_content ") ))) ;)) })) })) (goto_statement "goto LAB_002c1d90;" goto statement_identifier ;) }) (ERROR "LAB_002c1304:\n      iVar25 = *(int *" identifier : identifier = * ( primitive_type *) )) (argument_list "((long)&gsym[1].super_Symbol.name_ + 4)" ( (binary_expression "(long)&gsym[1].super_Symbol.name_ + 4" (cast_expression "(long)&gsym[1].super_Symbol.name_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&gsym[1].super_Symbol.name_" & (field_expression "gsym[1].super_Symbol.name_" (field_expression "gsym[1].super_Symbol" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) (ERROR ";\n      if" ; if) (argument_list "(iVar25 != -1)" ( (binary_expression "iVar25 != -1" identifier != number_literal) ))) (ERROR "goto LAB_002c17c6;\n      bVar67" identifier identifier ; identifier) = true) (ERROR ";\nLAB_002c1320:\n      local_c8 =" ; identifier : identifier =) (argument_list "(Mips_relobj<32,_false> *)&symval;\n      if ((gsym->super_Symbol).plt_offset_ != 0xffffffff) {\n        uVar40 = gsym[1].super_Symbol.plt_offset_;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        if ((uVar40 != 0xffffffff) && (gsym[1].super_Symbol.dynsym_index_ != 0xffffffff)) {\n          pMVar9 = target->plt_;\n          if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n            Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");\n          }\n          if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n            Mips_output_data_plt<64,_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);\n          }\n          symval.u_.value =\n               uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n               pMVar9->plt0_entry_o32[2];\n          pp_Var43 = (_List_node_base **)(ulong)symval.u_.value;\n          if (target->field_0x14 == '\0') {\nLAB_002c46dd:\n                    /* WARNING: Subroutine does not return */\n            is_output_micromips((Target_mips<32,_false> *)pMVar60);\n          }\n          psymval = (Symbol_value<32> *)local_c8;\n          bVar20 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n          calculate_only = !(bool)bVar20;\n        }\n      }\n      goto LAB_002c13a0;\n    }\n    bVar21 = this_00->field_0x36c;\n    pMVar60 = (Mips_relobj<32,_false> *)" ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (ERROR "_false> *)&symval;\n      if ((gsym->super_Symbol).plt_offset_ != 0xffffffff)" (call_expression "_false> *)&symval;\n      if ((gsym->super_Symbol).plt_offset_ != 0xffffffff)" (binary_expression "_false> *)&symval" identifier > (pointer_expression "*)&symval" * (ERROR ")" )) (pointer_expression "&symval" & identifier))) (ERROR ";\n      if" ; if) (argument_list "((gsym->super_Symbol).plt_offset_ != 0xffffffff)" ( (binary_expression "(gsym->super_Symbol).plt_offset_ != 0xffffffff" (field_expression "(gsym->super_Symbol).plt_offset_" (parenthesized_expression "(gsym->super_Symbol)" ( (field_expression "gsym->super_Symbol" identifier -> field_identifier) )) . field_identifier) != number_literal) )))) (compound_statement "{\n        uVar40 = gsym[1].super_Symbol.plt_offset_;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        if ((uVar40 != 0xffffffff) && (gsym[1].super_Symbol.dynsym_index_ != 0xffffffff)) {\n          pMVar9 = target->plt_;\n          if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n            Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");\n          }\n          if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n            Mips_output_data_plt<64,_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);\n          }\n          symval.u_.value =\n               uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n               pMVar9->plt0_entry_o32[2];\n          pp_Var43 = (_List_node_base **)(ulong)symval.u_.value;\n          if (target->field_0x14 == '\0') {\nLAB_002c46dd:\n                    /* WARNING: Subroutine does not return */\n            is_output_micromips((Target_mips<32,_false> *)pMVar60);\n          }\n          psymval = (Symbol_value<32> *)local_c8;\n          bVar20 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n          calculate_only = !(bool)bVar20;\n        }\n      }" { (expression_statement "uVar40 = gsym[1].super_Symbol.plt_offset_;" (assignment_expression "uVar40 = gsym[1].super_Symbol.plt_offset_" identifier = (field_expression "gsym[1].super_Symbol.plt_offset_" (field_expression "gsym[1].super_Symbol" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)) ;) (expression_statement "pp_Var43 = (_List_node_base **)(ulong)uVar40;" (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)uVar40" identifier = (cast_expression "(_List_node_base **)(ulong)uVar40" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)uVar40" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (if_statement "if ((uVar40 != 0xffffffff) && (gsym[1].super_Symbol.dynsym_index_ != 0xffffffff)) {\n          pMVar9 = target->plt_;\n          if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n            Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");\n          }\n          if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n            Mips_output_data_plt<64,_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);\n          }\n          symval.u_.value =\n               uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n               pMVar9->plt0_entry_o32[2];\n          pp_Var43 = (_List_node_base **)(ulong)symval.u_.value;\n          if (target->field_0x14 == '\0') {\nLAB_002c46dd:\n                    /* WARNING: Subroutine does not return */\n            is_output_micromips((Target_mips<32,_false> *)pMVar60);\n          }\n          psymval = (Symbol_value<32> *)local_c8;\n          bVar20 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n          calculate_only = !(bool)bVar20;\n        }" if (parenthesized_expression "((uVar40 != 0xffffffff) && (gsym[1].super_Symbol.dynsym_index_ != 0xffffffff))" ( (binary_expression "(uVar40 != 0xffffffff) && (gsym[1].super_Symbol.dynsym_index_ != 0xffffffff)" (parenthesized_expression "(uVar40 != 0xffffffff)" ( (binary_expression "uVar40 != 0xffffffff" identifier != number_literal) )) && (parenthesized_expression "(gsym[1].super_Symbol.dynsym_index_ != 0xffffffff)" ( (binary_expression "gsym[1].super_Symbol.dynsym_index_ != 0xffffffff" (field_expression "gsym[1].super_Symbol.dynsym_index_" (field_expression "gsym[1].super_Symbol" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) != number_literal) ))) )) (compound_statement "{\n          pMVar9 = target->plt_;\n          if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n            Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");\n          }\n          if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n            Mips_output_data_plt<64,_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);\n          }\n          symval.u_.value =\n               uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n               pMVar9->plt0_entry_o32[2];\n          pp_Var43 = (_List_node_base **)(ulong)symval.u_.value;\n          if (target->field_0x14 == '\0') {\nLAB_002c46dd:\n                    /* WARNING: Subroutine does not return */\n            is_output_micromips((Target_mips<32,_false> *)pMVar60);\n          }\n          psymval = (Symbol_value<32> *)local_c8;\n          bVar20 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;\n          calculate_only = !(bool)bVar20;\n        }" { (expression_statement "pMVar9 = target->plt_;" (assignment_expression "pMVar9 = target->plt_" identifier = (field_expression "target->plt_" identifier -> field_identifier)) ;) (if_statement "if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {\n            Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");\n          }" if (parenthesized_expression "(pMVar9 == (Mips_output_data_plt<32,_false> *)0x0)" ( (binary_expression "pMVar9 == (Mips_output_data_plt<32,_false> *)0x0)" identifier == (parenthesized_expression "(Mips_output_data_plt<32,_false> *)0x0)" ( (comma_expression "Mips_output_data_plt<32,_false> *)0x0" (binary_expression "Mips_output_data_plt<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n            Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");\n          }" { (expression_statement "Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);" (comma_expression "Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60)" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false>::plt_section((Target_mips<32,_false> *)pMVar60)" identifier > (ERROR "::" : :) (call_expression "plt_section((Target_mips<32,_false> *)pMVar60)" identifier (argument_list "((Target_mips<32,_false> *)pMVar60)" ( (parenthesized_expression "(Target_mips<32,_false> *)pMVar60)" ( (comma_expression "Target_mips<32,_false> *)pMVar60" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier))) )) ))))) ;) (labeled_statement "LAB_002c46ec:\n                    /* WARNING: Subroutine does not return */\n            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");" (call_expression "do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate")" identifier (argument_list "("../../gold/mips.cc",0x2e88,"relocate")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""relocate"" " string_content ") ))) ;))) })) (if_statement "if ((pMVar9->field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n            Mips_output_data_plt<64,_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);\n          }" if (parenthesized_expression "((pMVar9->field_0x20 & 1) == 0)" ( (binary_expression "(pMVar9->field_0x20 & 1) == 0" (parenthesized_expression "(pMVar9->field_0x20 & 1)" ( (binary_expression "pMVar9->field_0x20 & 1" (field_expression "pMVar9->field_0x20" identifier -> field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            Mips_output_data_plt<64,_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);\n          }" { comment (expression_statement "Mips_output_data_plt<64,_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);" (comma_expression "Mips_output_data_plt<64,_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54)" (binary_expression "Mips_output_data_plt<64" identifier < number_literal) , (binary_expression "_false>::mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54)" identifier > (ERROR "::" : :) (call_expression "mips_entry_address\n                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54)" identifier (argument_list "((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54)" ( (parenthesized_expression "(Mips_output_data_plt<64,_false> *)pMVar60,pMVar54)" ( (comma_expression "Mips_output_data_plt<64,_false> *)pMVar60,pMVar54" (binary_expression "Mips_output_data_plt<64" identifier < number_literal) , (comma_expression "_false> *)pMVar60,pMVar54" (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier)) , identifier)) )) ))))) ;) })) (expression_statement "symval.u_.value =\n               uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n               pMVar9->plt0_entry_o32[2];" (assignment_expression "symval.u_.value =\n               uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n               pMVar9->plt0_entry_o32[2]" (field_expression "symval.u_.value" (field_expression "symval.u_" identifier . field_identifier) . field_identifier) = (binary_expression "uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +\n               pMVar9->plt0_entry_o32[2]" (binary_expression "uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_" (binary_expression "uVar40 + 1 + pMVar9->plt_header_size_" (binary_expression "uVar40 + 1" identifier + number_literal) + (field_expression "pMVar9->plt_header_size_" identifier -> field_identifier)) + (field_expression "pMVar9->plt_mips_offset_" identifier -> field_identifier)) + (subscript_expression "pMVar9->plt0_entry_o32[2]" (field_expression "pMVar9->plt0_entry_o32" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "pp_Var43 = (_List_node_base **)(ulong)symval.u_.value;" (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)symval.u_.value" identifier = (cast_expression "(_List_node_base **)(ulong)symval.u_.value" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)symval.u_.value" ( (type_descriptor "ulong" type_identifier) ) (field_expression "symval.u_.value" (field_expression "symval.u_" identifier . field_identifier) . field_identifier)))) ;) (if_statement "if (target->field_0x14 == '\0') {\nLAB_002c46dd:\n                    /* WARNING: Subroutine does not return */\n            is_output_micromips((Target_mips<32,_false> *)pMVar60);\n          }" if (parenthesized_expression "(target->field_0x14 == '\0')" ( (binary_expression "target->field_0x14 == '\0'" (field_expression "target->field_0x14" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_002c46dd:\n                    /* WARNING: Subroutine does not return */\n            is_output_micromips((Target_mips<32,_false> *)pMVar60);\n          }" { (labeled_statement "LAB_002c46dd:\n                    /* WARNING: Subroutine does not return */\n            is_output_micromips((Target_mips<32,_false> *)pMVar60);" statement_identifier : comment (expression_statement "is_output_micromips((Target_mips<32,_false> *)pMVar60);" (call_expression "is_output_micromips((Target_mips<32,_false> *)pMVar60)" identifier (argument_list "((Target_mips<32,_false> *)pMVar60)" ( (parenthesized_expression "(Target_mips<32,_false> *)pMVar60)" ( (comma_expression "Target_mips<32,_false> *)pMVar60" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier))) )) ))) ;)) })) (expression_statement "psymval = (Symbol_value<32> *)local_c8;" (assignment_expression "psymval = (Symbol_value<32> *)local_c8" identifier = (parenthesized_expression "(Symbol_value<32> *)local_c8" ( (binary_expression "Symbol_value<32> *)local_c8" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)local_c8" * (ERROR ")" )) identifier)) ))) ;) (expression_statement "bVar20 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;" (assignment_expression "bVar20 = (*(uint *)&target->field_0x10 & 0x2000000) == 0" identifier = (binary_expression "(*(uint *)&target->field_0x10 & 0x2000000) == 0" (parenthesized_expression "(*(uint *)&target->field_0x10 & 0x2000000)" ( (binary_expression "*(uint *)&target->field_0x10 & 0x2000000" (pointer_expression "*(uint *)&target->field_0x10" * (cast_expression "(uint *)&target->field_0x10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&target->field_0x10" & (field_expression "target->field_0x10" identifier -> field_identifier)))) & number_literal) )) == number_literal)) ;) (expression_statement "calculate_only = !(bool)bVar20;" (assignment_expression "calculate_only = !(bool)bVar20" identifier = (unary_expression "!(bool)bVar20" ! (cast_expression "(bool)bVar20" ( (type_descriptor "bool" primitive_type) ) identifier))) ;) })) }) (ERROR "goto LAB_002c13a0;\n    }\n    bVar21 = this_00->field_0x36c;\n    pMVar60 = (Mips_relobj<32" goto identifier ; } identifier = identifier -> identifier ; identifier = ( identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier)) ))) (argument_list "(ulong)" ( identifier ))) (ERROR "bVar21;\n    local_b8" identifier ; identifier) = (cast_expression "(_Bit_type *)(ulong)bVar21" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)bVar21" ( (type_descriptor "ulong" type_identifier) ) identifier))) (ERROR ";\n    bVar21 = bVar21" ; identifier = identifier) >> number_literal) & number_literal) ^ number_literal) (ERROR ";\n    if" ; if) (argument_list "((!bVar66 && !bVar69) == bVar66)" ( (binary_expression "(!bVar66 && !bVar69) == bVar66" (parenthesized_expression "(!bVar66 && !bVar69)" ( (binary_expression "!bVar66 && !bVar69" (unary_expression "!bVar66" ! identifier) && (unary_expression "!bVar69" ! identifier)) )) == identifier) ))) (ERROR "{\n      if" { if) (argument_list "(bVar21 == 0)" ( (binary_expression "bVar21 == 0" identifier == number_literal) ))) (ERROR "goto LAB_002c1750;\n    }\n    else if" identifier identifier ; } else if) (argument_list "(bVar21 == 0)" ( (binary_expression "bVar21 == 0" identifier == number_literal) ))) (ERROR "goto LAB_002c15d8;\n    if" identifier identifier ; if) (argument_list "((((1 < uVar65 - 0x68) && (1 < uVar65 - 5)) && (1 < uVar65 - 0x86)) && (1 < uVar65 - 0x40))" ( (binary_expression "(((1 < uVar65 - 0x68) && (1 < uVar65 - 5)) && (1 < uVar65 - 0x86)) && (1 < uVar65 - 0x40)" (parenthesized_expression "(((1 < uVar65 - 0x68) && (1 < uVar65 - 5)) && (1 < uVar65 - 0x86))" ( (binary_expression "((1 < uVar65 - 0x68) && (1 < uVar65 - 5)) && (1 < uVar65 - 0x86)" (parenthesized_expression "((1 < uVar65 - 0x68) && (1 < uVar65 - 5))" ( (binary_expression "(1 < uVar65 - 0x68) && (1 < uVar65 - 5)" (parenthesized_expression "(1 < uVar65 - 0x68)" ( (binary_expression "1 < uVar65 - 0x68" number_literal < (binary_expression "uVar65 - 0x68" identifier - number_literal)) )) && (parenthesized_expression "(1 < uVar65 - 5)" ( (binary_expression "1 < uVar65 - 5" number_literal < (binary_expression "uVar65 - 5" identifier - number_literal)) ))) )) && (parenthesized_expression "(1 < uVar65 - 0x86)" ( (binary_expression "1 < uVar65 - 0x86" number_literal < (binary_expression "uVar65 - 0x86" identifier - number_literal)) ))) )) && (parenthesized_expression "(1 < uVar65 - 0x40)" ( (binary_expression "1 < uVar65 - 0x40" number_literal < (binary_expression "uVar65 - 0x40" identifier - number_literal)) ))) ))) (ERROR "{\n      pp_Var43" { identifier) = (cast_expression "(_List_node_base **)\n                 gettext(\n                        "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                        )" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "gettext(\n                        "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                        )" identifier (argument_list "(\n                        "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                        )" ( (string_literal ""relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."" " string_content ") ))))) (ERROR ";\n      pMVar54 =" ; identifier =) (argument_list "(Mips_symbol<64> *)relnum;\n      pMVar60 = (Mips_relobj<32,_false> *)relinfo;\n      gold::gold_error_at_location<32,_false>(relinfo,relnum,(ulong)uVar7,(char *)pp_Var43);\n    }\n    in_stack_fffffffffffffefc = CONCAT31((int3)(in_stack_fffffffffffffefc >> 8),1);\n    if (uVar65 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    lVar42._0_4_ = gsym[1].super_Symbol.got_offsets_.got_type_;\n    lVar42._4_4_ = gsym[1].super_Symbol.got_offsets_.got_offset_;\n    if (lVar42 == 0) {\nLAB_002c17b9:\n      bVar20 = (byte)pMVar28;\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 == -1) {\nLAB_002c1848:\n        bVar67 = uVar65 == 100;\n        if (uVar65 == 0x85 || bVar67) goto LAB_002c1320;\n        bVar67 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      bVar20 = (byte)pMVar28;\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((this_00->field_0x36c & 1) != 0) goto LAB_002c1848;\n      pMVar60 = (Mips_relobj<32,_false> *)(ulong)uVar65;\n      bVar67 = relocation_needs_la25_stub<32,_true>\n                         ((Mips_relobj<32,_true> *)pMVar60,(uint)pMVar28,SUB41(iVar25,0));\n      pMVar54 = pMVar28;\n      if (!bVar67) goto LAB_002c1848;\n      pMVar10 = target->la25_stub_;\n      if (pMVar10 == (Mips_output_data_la25_stub<32,_false> *)0x0) {\n        la25_stub_section((Target_mips<32,_false> *)pMVar60);\n        goto LAB_002c46aa;\n      }\n      if (((pMVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        Mips_output_data_plt<64,_false>::mips_entry_address\n                  ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar28);\n      }\n      psymval = (Symbol_value<32> *)local_c8;\n      bVar67 = uVar65 == 100;\n      symval.u_.value =\n           extraout_EDX + (int)(pMVar10->super_Output_section_data).super_Output_data.address_ +\n           (uint)(((byte)(gsym->super_Symbol).field_0x39 >> 2 & 0x30) == 0x20);\n      bVar68 = (bool)(calculate_only & bVar67);\n      pp_Var43 = (_List_node_base **)local_c8;\n      bVar21 = bVar68;\n      if (bVar68 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    bVar21 = calculate_only;\n    if ((uVar65 == 0x67) && (*(char *)&gsym[1].super_Symbol.name_ == '\0'))" ( (ERROR "Mips_symbol<64> *)relnum;" (binary_expression "Mips_symbol<64> *)relnum" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*)relnum" * (ERROR ")" )) identifier)) ;) (assignment_expression "pMVar60 = (Mips_relobj<32,_false> *)relinfo;\n      gold::gold_error_at_location<32,_false>(relinfo,relnum,(ulong)uVar7,(char *)pp_Var43);\n    }\n    in_stack_fffffffffffffefc = CONCAT31((int3)(in_stack_fffffffffffffefc >> 8),1);\n    if (uVar65 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    lVar42._0_4_ = gsym[1].super_Symbol.got_offsets_.got_type_;\n    lVar42._4_4_ = gsym[1].super_Symbol.got_offsets_.got_offset_;\n    if (lVar42 == 0) {\nLAB_002c17b9:\n      bVar20 = (byte)pMVar28;\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 == -1) {\nLAB_002c1848:\n        bVar67 = uVar65 == 100;\n        if (uVar65 == 0x85 || bVar67) goto LAB_002c1320;\n        bVar67 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      bVar20 = (byte)pMVar28;\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((this_00->field_0x36c & 1) != 0) goto LAB_002c1848;\n      pMVar60 = (Mips_relobj<32,_false> *)(ulong)uVar65;\n      bVar67 = relocation_needs_la25_stub<32,_true>\n                         ((Mips_relobj<32,_true> *)pMVar60,(uint)pMVar28,SUB41(iVar25,0));\n      pMVar54 = pMVar28;\n      if (!bVar67) goto LAB_002c1848;\n      pMVar10 = target->la25_stub_;\n      if (pMVar10 == (Mips_output_data_la25_stub<32,_false> *)0x0) {\n        la25_stub_section((Target_mips<32,_false> *)pMVar60);\n        goto LAB_002c46aa;\n      }\n      if (((pMVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        Mips_output_data_plt<64,_false>::mips_entry_address\n                  ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar28);\n      }\n      psymval = (Symbol_value<32> *)local_c8;\n      bVar67 = uVar65 == 100;\n      symval.u_.value =\n           extraout_EDX + (int)(pMVar10->super_Output_section_data).super_Output_data.address_ +\n           (uint)(((byte)(gsym->super_Symbol).field_0x39 >> 2 & 0x30) == 0x20);\n      bVar68 = (bool)(calculate_only & bVar67);\n      pp_Var43 = (_List_node_base **)local_c8;\n      bVar21 = bVar68;\n      if (bVar68 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    bVar21 = calculate_only;\n    if ((uVar65 == 0x67) && (*(char *)&gsym[1].super_Symbol.name_ == '\0')" identifier = (binary_expression "(Mips_relobj<32,_false> *)relinfo;\n      gold::gold_error_at_location<32,_false>(relinfo,relnum,(ulong)uVar7,(char *)pp_Var43);\n    }\n    in_stack_fffffffffffffefc = CONCAT31((int3)(in_stack_fffffffffffffefc >> 8),1);\n    if (uVar65 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    lVar42._0_4_ = gsym[1].super_Symbol.got_offsets_.got_type_;\n    lVar42._4_4_ = gsym[1].super_Symbol.got_offsets_.got_offset_;\n    if (lVar42 == 0) {\nLAB_002c17b9:\n      bVar20 = (byte)pMVar28;\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 == -1) {\nLAB_002c1848:\n        bVar67 = uVar65 == 100;\n        if (uVar65 == 0x85 || bVar67) goto LAB_002c1320;\n        bVar67 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      bVar20 = (byte)pMVar28;\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((this_00->field_0x36c & 1) != 0) goto LAB_002c1848;\n      pMVar60 = (Mips_relobj<32,_false> *)(ulong)uVar65;\n      bVar67 = relocation_needs_la25_stub<32,_true>\n                         ((Mips_relobj<32,_true> *)pMVar60,(uint)pMVar28,SUB41(iVar25,0));\n      pMVar54 = pMVar28;\n      if (!bVar67) goto LAB_002c1848;\n      pMVar10 = target->la25_stub_;\n      if (pMVar10 == (Mips_output_data_la25_stub<32,_false> *)0x0) {\n        la25_stub_section((Target_mips<32,_false> *)pMVar60);\n        goto LAB_002c46aa;\n      }\n      if (((pMVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        Mips_output_data_plt<64,_false>::mips_entry_address\n                  ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar28);\n      }\n      psymval = (Symbol_value<32> *)local_c8;\n      bVar67 = uVar65 == 100;\n      symval.u_.value =\n           extraout_EDX + (int)(pMVar10->super_Output_section_data).super_Output_data.address_ +\n           (uint)(((byte)(gsym->super_Symbol).field_0x39 >> 2 & 0x30) == 0x20);\n      bVar68 = (bool)(calculate_only & bVar67);\n      pp_Var43 = (_List_node_base **)local_c8;\n      bVar21 = bVar68;\n      if (bVar68 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    bVar21 = calculate_only;\n    if ((uVar65 == 0x67) && (*(char *)&gsym[1].super_Symbol.name_ == '\0')" (parenthesized_expression "(Mips_relobj<32,_false> *)relinfo;\n      gold::gold_error_at_location<32,_false>(relinfo,relnum,(ulong)uVar7,(char *)pp_Var43);\n    }\n    in_stack_fffffffffffffefc = CONCAT31((int3)(in_stack_fffffffffffffefc >> 8),1);\n    if (uVar65 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    lVar42._0_4_ = gsym[1].super_Symbol.got_offsets_.got_type_;\n    lVar42._4_4_ = gsym[1].super_Symbol.got_offsets_.got_offset_;\n    if (lVar42 == 0) {\nLAB_002c17b9:\n      bVar20 = (byte)pMVar28;\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 == -1) {\nLAB_002c1848:\n        bVar67 = uVar65 == 100;\n        if (uVar65 == 0x85 || bVar67) goto LAB_002c1320;\n        bVar67 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      bVar20 = (byte)pMVar28;\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((this_00->field_0x36c & 1) != 0) goto LAB_002c1848;\n      pMVar60 = (Mips_relobj<32,_false> *)(ulong)uVar65;\n      bVar67 = relocation_needs_la25_stub<32,_true>\n                         ((Mips_relobj<32,_true> *)pMVar60,(uint)pMVar28,SUB41(iVar25,0));\n      pMVar54 = pMVar28;\n      if (!bVar67) goto LAB_002c1848;\n      pMVar10 = target->la25_stub_;\n      if (pMVar10 == (Mips_output_data_la25_stub<32,_false> *)0x0) {\n        la25_stub_section((Target_mips<32,_false> *)pMVar60);\n        goto LAB_002c46aa;\n      }\n      if (((pMVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        Mips_output_data_plt<64,_false>::mips_entry_address\n                  ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar28);\n      }\n      psymval = (Symbol_value<32> *)local_c8;\n      bVar67 = uVar65 == 100;\n      symval.u_.value =\n           extraout_EDX + (int)(pMVar10->super_Output_section_data).super_Output_data.address_ +\n           (uint)(((byte)(gsym->super_Symbol).field_0x39 >> 2 & 0x30) == 0x20);\n      bVar68 = (bool)(calculate_only & bVar67);\n      pp_Var43 = (_List_node_base **)local_c8;\n      bVar21 = bVar68;\n      if (bVar68 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    bVar21 = calculate_only;\n    if ((uVar65 == 0x67)" ( (ERROR "Mips_relobj<32,_false> *)relinfo;\n      gold::gold_error_at_location<32,_false>(relinfo,relnum,(ulong)uVar7,(char *)pp_Var43);\n    }\n    in_stack_fffffffffffffefc = CONCAT31((int3)(in_stack_fffffffffffffefc >> 8),1);\n    if (uVar65 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    lVar42._0_4_ = gsym[1].super_Symbol.got_offsets_.got_type_;\n    lVar42._4_4_ = gsym[1].super_Symbol.got_offsets_.got_offset_;\n    if (lVar42 == 0)" (comma_expression "Mips_relobj<32,_false> *)relinfo" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)relinfo" identifier > (pointer_expression "*)relinfo" * (ERROR ")" )) identifier))) ; identifier : : (comma_expression "gold_error_at_location<32,_false>(relinfo,relnum,(ulong)uVar7,(char *)pp_Var43)" (binary_expression "gold_error_at_location<32" identifier < number_literal) , (binary_expression "_false>(relinfo,relnum,(ulong)uVar7,(char *)pp_Var43)" identifier > (parenthesized_expression "(relinfo,relnum,(ulong)uVar7,(char *)pp_Var43)" ( (comma_expression "relinfo,relnum,(ulong)uVar7,(char *)pp_Var43" identifier , (comma_expression "relnum,(ulong)uVar7,(char *)pp_Var43" identifier , (comma_expression "(ulong)uVar7,(char *)pp_Var43" (cast_expression "(ulong)uVar7" ( (type_descriptor "ulong" type_identifier) ) identifier) , (cast_expression "(char *)pp_Var43" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) )))) ; } (call_expression "in_stack_fffffffffffffefc = CONCAT31((int3)(in_stack_fffffffffffffefc >> 8),1);\n    if (uVar65 == 100)" (assignment_expression "in_stack_fffffffffffffefc = CONCAT31((int3)(in_stack_fffffffffffffefc >> 8),1)" identifier = (call_expression "CONCAT31((int3)(in_stack_fffffffffffffefc >> 8),1)" identifier (argument_list "((int3)(in_stack_fffffffffffffefc >> 8),1)" ( (call_expression "(int3)(in_stack_fffffffffffffefc >> 8)" (parenthesized_expression "(int3)" ( identifier )) (argument_list "(in_stack_fffffffffffffefc >> 8)" ( (binary_expression "in_stack_fffffffffffffefc >> 8" identifier >> number_literal) ))) , number_literal )))) (ERROR ";\n    if" ; if) (argument_list "(uVar65 == 100)" ( (binary_expression "uVar65 == 100" identifier == number_literal) ))) identifier identifier ; identifier : (assignment_expression "lVar42._0_4_ = gsym[1].super_Symbol.got_offsets_.got_type_" (field_expression "lVar42._0_4_" identifier . field_identifier) = (field_expression "gsym[1].super_Symbol.got_offsets_.got_type_" (field_expression "gsym[1].super_Symbol.got_offsets_" (field_expression "gsym[1].super_Symbol" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier)) ; (call_expression "lVar42._4_4_ = gsym[1].super_Symbol.got_offsets_.got_offset_;\n    if (lVar42 == 0)" (assignment_expression "lVar42._4_4_ = gsym[1].super_Symbol.got_offsets_.got_offset_" (field_expression "lVar42._4_4_" identifier . field_identifier) = (field_expression "gsym[1].super_Symbol.got_offsets_.got_offset_" (field_expression "gsym[1].super_Symbol.got_offsets_" (field_expression "gsym[1].super_Symbol" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier)) (ERROR ";\n    if" ; if) (argument_list "(lVar42 == 0)" ( (binary_expression "lVar42 == 0" identifier == number_literal) )))) (compound_statement "{\nLAB_002c17b9:\n      bVar20 = (byte)pMVar28;\n      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n      if (iVar25 == -1) {\nLAB_002c1848:\n        bVar67 = uVar65 == 100;\n        if (uVar65 == 0x85 || bVar67) goto LAB_002c1320;\n        bVar67 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      bVar20 = (byte)pMVar28;\n      local_c8 = (Mips_relobj<32,_false> *)&symval;\n      if ((this_00->field_0x36c & 1) != 0) goto LAB_002c1848;\n      pMVar60 = (Mips_relobj<32,_false> *)(ulong)uVar65;\n      bVar67 = relocation_needs_la25_stub<32,_true>\n                         ((Mips_relobj<32,_true> *)pMVar60,(uint)pMVar28,SUB41(iVar25,0));\n      pMVar54 = pMVar28;\n      if (!bVar67) goto LAB_002c1848;\n      pMVar10 = target->la25_stub_;\n      if (pMVar10 == (Mips_output_data_la25_stub<32,_false> *)0x0) {\n        la25_stub_section((Target_mips<32,_false> *)pMVar60);\n        goto LAB_002c46aa;\n      }\n      if (((pMVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        Mips_output_data_plt<64,_false>::mips_entry_address\n                  ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar28);\n      }\n      psymval = (Symbol_value<32> *)local_c8;\n      bVar67 = uVar65 == 100;\n      symval.u_.value =\n           extraout_EDX + (int)(pMVar10->super_Output_section_data).super_Output_data.address_ +\n           (uint)(((byte)(gsym->super_Symbol).field_0x39 >> 2 & 0x30) == 0x20);\n      bVar68 = (bool)(calculate_only & bVar67);\n      pp_Var43 = (_List_node_base **)local_c8;\n      bVar21 = bVar68;\n      if (bVar68 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }" { (labeled_statement "LAB_002c17b9:\n      bVar20 = (byte)pMVar28;" statement_identifier : (expression_statement "bVar20 = (byte)pMVar28;" (assignment_expression "bVar20 = (byte)pMVar28" identifier = (cast_expression "(byte)pMVar28" ( (type_descriptor "byte" type_identifier) ) identifier)) ;)) (expression_statement "iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);" (assignment_expression "iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4)" identifier = (pointer_expression "*(int *)((long)&gsym[1].super_Symbol.name_ + 4)" * (cast_expression "(int *)((long)&gsym[1].super_Symbol.name_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&gsym[1].super_Symbol.name_ + 4)" ( (binary_expression "(long)&gsym[1].super_Symbol.name_ + 4" (cast_expression "(long)&gsym[1].super_Symbol.name_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&gsym[1].super_Symbol.name_" & (field_expression "gsym[1].super_Symbol.name_" (field_expression "gsym[1].super_Symbol" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) ))))) ;) (if_statement "if (iVar25 == -1) {\nLAB_002c1848:\n        bVar67 = uVar65 == 100;\n        if (uVar65 == 0x85 || bVar67) goto LAB_002c1320;\n        bVar67 = false;\n        goto LAB_002c13ac;\n      }" if (parenthesized_expression "(iVar25 == -1)" ( (binary_expression "iVar25 == -1" identifier == number_literal) )) (compound_statement "{\nLAB_002c1848:\n        bVar67 = uVar65 == 100;\n        if (uVar65 == 0x85 || bVar67) goto LAB_002c1320;\n        bVar67 = false;\n        goto LAB_002c13ac;\n      }" { (labeled_statement "LAB_002c1848:\n        bVar67 = uVar65 == 100;" statement_identifier : (expression_statement "bVar67 = uVar65 == 100;" (assignment_expression "bVar67 = uVar65 == 100" identifier = (binary_expression "uVar65 == 100" identifier == number_literal)) ;)) (if_statement "if (uVar65 == 0x85 || bVar67) goto LAB_002c1320;" if (parenthesized_expression "(uVar65 == 0x85 || bVar67)" ( (binary_expression "uVar65 == 0x85 || bVar67" (binary_expression "uVar65 == 0x85" identifier == number_literal) || identifier) )) (goto_statement "goto LAB_002c1320;" goto statement_identifier ;)) (expression_statement "bVar67 = false;" (assignment_expression "bVar67 = false" identifier = false) ;) (goto_statement "goto LAB_002c13ac;" goto statement_identifier ;) })) (labeled_statement "LAB_002c17c6:\n      bVar20 = (byte)pMVar28;" statement_identifier : (expression_statement "bVar20 = (byte)pMVar28;" (assignment_expression "bVar20 = (byte)pMVar28" identifier = (cast_expression "(byte)pMVar28" ( (type_descriptor "byte" type_identifier) ) identifier)) ;)) (expression_statement "local_c8 = (Mips_relobj<32,_false> *)&symval;" (assignment_expression "local_c8 = (Mips_relobj<32,_false> *)&symval" identifier = (binary_expression "(Mips_relobj<32,_false> *)&symval" (parenthesized_expression "(Mips_relobj<32,_false> *)" ( (comma_expression "Mips_relobj<32,_false> *" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) & identifier)) ;) (if_statement "if ((this_00->field_0x36c & 1) != 0) goto LAB_002c1848;" if (parenthesized_expression "((this_00->field_0x36c & 1) != 0)" ( (binary_expression "(this_00->field_0x36c & 1) != 0" (parenthesized_expression "(this_00->field_0x36c & 1)" ( (binary_expression "this_00->field_0x36c & 1" (field_expression "this_00->field_0x36c" identifier -> field_identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_002c1848;" goto statement_identifier ;)) (expression_statement "pMVar60 = (Mips_relobj<32,_false> *)(ulong)uVar65;" (assignment_expression "pMVar60 = (Mips_relobj<32,_false> *)(ulong)" identifier = (call_expression "(Mips_relobj<32,_false> *)(ulong)" (parenthesized_expression "(Mips_relobj<32,_false> *)" ( (comma_expression "Mips_relobj<32,_false> *" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(ulong)" ( identifier )))) (ERROR "uVar65" identifier) ;) (expression_statement "bVar67 = relocation_needs_la25_stub<32,_true>\n                         ((Mips_relobj<32,_true> *)pMVar60,(uint)pMVar28,SUB41(iVar25,0));" (comma_expression "bVar67 = relocation_needs_la25_stub<32,_true>\n                         ((Mips_relobj<32,_true> *)pMVar60,(uint)pMVar28,SUB41(iVar25,0))" (assignment_expression "bVar67 = relocation_needs_la25_stub<32" identifier = (binary_expression "relocation_needs_la25_stub<32" identifier < number_literal)) , (binary_expression "_true>\n                         ((Mips_relobj<32,_true> *)pMVar60,(uint)pMVar28,SUB41(iVar25,0))" identifier > (parenthesized_expression "((Mips_relobj<32,_true> *)pMVar60,(uint)pMVar28,SUB41(iVar25,0))" ( (parenthesized_expression "(Mips_relobj<32,_true> *)pMVar60,(uint)pMVar28,SUB41(iVar25,0))" ( (comma_expression "Mips_relobj<32,_true> *)pMVar60,(uint)pMVar28,SUB41(iVar25,0)" (binary_expression "Mips_relobj<32" identifier < number_literal) , (comma_expression "_true> *)pMVar60,(uint)pMVar28,SUB41(iVar25,0)" (binary_expression "_true> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier)) , (comma_expression "(uint)pMVar28,SUB41(iVar25,0)" (cast_expression "(uint)pMVar28" ( (type_descriptor "uint" type_identifier) ) identifier) , (call_expression "SUB41(iVar25,0)" identifier (argument_list "(iVar25,0)" ( identifier , number_literal )))))) )) )))) ;) (expression_statement "pMVar54 = pMVar28;" (assignment_expression "pMVar54 = pMVar28" identifier = identifier) ;) (if_statement "if (!bVar67) goto LAB_002c1848;" if (parenthesized_expression "(!bVar67)" ( (unary_expression "!bVar67" ! identifier) )) (goto_statement "goto LAB_002c1848;" goto statement_identifier ;)) (expression_statement "pMVar10 = target->la25_stub_;" (assignment_expression "pMVar10 = target->la25_stub_" identifier = (field_expression "target->la25_stub_" identifier -> field_identifier)) ;) (if_statement "if (pMVar10 == (Mips_output_data_la25_stub<32,_false> *)0x0) {\n        la25_stub_section((Target_mips<32,_false> *)pMVar60);\n        goto LAB_002c46aa;\n      }" if (parenthesized_expression "(pMVar10 == (Mips_output_data_la25_stub<32,_false> *)0x0)" ( (binary_expression "pMVar10 == (Mips_output_data_la25_stub<32,_false> *)0x0)" identifier == (parenthesized_expression "(Mips_output_data_la25_stub<32,_false> *)0x0)" ( (comma_expression "Mips_output_data_la25_stub<32,_false> *)0x0" (binary_expression "Mips_output_data_la25_stub<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n        la25_stub_section((Target_mips<32,_false> *)pMVar60);\n        goto LAB_002c46aa;\n      }" { (expression_statement "la25_stub_section((Target_mips<32,_false> *)pMVar60);" (call_expression "la25_stub_section((Target_mips<32,_false> *)pMVar60)" identifier (argument_list "((Target_mips<32,_false> *)pMVar60)" ( (parenthesized_expression "(Target_mips<32,_false> *)pMVar60)" ( (comma_expression "Target_mips<32,_false> *)pMVar60" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier))) )) ))) ;) (goto_statement "goto LAB_002c46aa;" goto statement_identifier ;) })) (if_statement "if (((pMVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n        Mips_output_data_plt<64,_false>::mips_entry_address\n                  ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar28);\n      }" if (parenthesized_expression "(((pMVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0)" ( (binary_expression "((pMVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0" (parenthesized_expression "((pMVar10->super_Output_section_data).super_Output_data.field_0x20 & 1)" ( (binary_expression "(pMVar10->super_Output_section_data).super_Output_data.field_0x20 & 1" (field_expression "(pMVar10->super_Output_section_data).super_Output_data.field_0x20" (field_expression "(pMVar10->super_Output_section_data).super_Output_data" (parenthesized_expression "(pMVar10->super_Output_section_data)" ( (field_expression "pMVar10->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        Mips_output_data_plt<64,_false>::mips_entry_address\n                  ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar28);\n      }" { comment (expression_statement "Mips_output_data_plt<64,_false>::mips_entry_address\n                  ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar28);" (comma_expression "Mips_output_data_plt<64,_false>::mips_entry_address\n                  ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar28)" (binary_expression "Mips_output_data_plt<64" identifier < number_literal) , (binary_expression "_false>::mips_entry_address\n                  ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar28)" identifier > (ERROR "::" : :) (call_expression "mips_entry_address\n                  ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar28)" identifier (argument_list "((Mips_output_data_plt<64,_false> *)pMVar60,pMVar28)" ( (parenthesized_expression "(Mips_output_data_plt<64,_false> *)pMVar60,pMVar28)" ( (comma_expression "Mips_output_data_plt<64,_false> *)pMVar60,pMVar28" (binary_expression "Mips_output_data_plt<64" identifier < number_literal) , (comma_expression "_false> *)pMVar60,pMVar28" (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier)) , identifier)) )) ))))) ;) })) (expression_statement "psymval = (Symbol_value<32> *)local_c8;" (assignment_expression "psymval = (Symbol_value<32> *)local_c8" identifier = (parenthesized_expression "(Symbol_value<32> *)local_c8" ( (binary_expression "Symbol_value<32> *)local_c8" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)local_c8" * (ERROR ")" )) identifier)) ))) ;) (expression_statement "bVar67 = uVar65 == 100;" (assignment_expression "bVar67 = uVar65 == 100" identifier = (binary_expression "uVar65 == 100" identifier == number_literal)) ;) (expression_statement "symval.u_.value =\n           extraout_EDX + (int)(pMVar10->super_Output_section_data).super_Output_data.address_ +\n           (uint)(((byte)(gsym->super_Symbol).field_0x39 >> 2 & 0x30) == 0x20);" (assignment_expression "symval.u_.value =\n           extraout_EDX + (int)(pMVar10->super_Output_section_data).super_Output_data.address_ +\n           (uint)(((byte)(gsym->super_Symbol).field_0x39 >> 2 & 0x30) == 0x20)" (field_expression "symval.u_.value" (field_expression "symval.u_" identifier . field_identifier) . field_identifier) = (binary_expression "extraout_EDX + (int)(pMVar10->super_Output_section_data).super_Output_data.address_ +\n           (uint)(((byte)(gsym->super_Symbol).field_0x39 >> 2 & 0x30) == 0x20)" (binary_expression "extraout_EDX + (int)(pMVar10->super_Output_section_data).super_Output_data.address_" identifier + (cast_expression "(int)(pMVar10->super_Output_section_data).super_Output_data.address_" ( (type_descriptor "int" primitive_type) ) (field_expression "(pMVar10->super_Output_section_data).super_Output_data.address_" (field_expression "(pMVar10->super_Output_section_data).super_Output_data" (parenthesized_expression "(pMVar10->super_Output_section_data)" ( (field_expression "pMVar10->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier))) + (call_expression "(uint)(((byte)(gsym->super_Symbol).field_0x39 >> 2 & 0x30) == 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((byte)(gsym->super_Symbol).field_0x39 >> 2 & 0x30) == 0x20)" ( (binary_expression "((byte)(gsym->super_Symbol).field_0x39 >> 2 & 0x30) == 0x20" (parenthesized_expression "((byte)(gsym->super_Symbol).field_0x39 >> 2 & 0x30)" ( (binary_expression "(byte)(gsym->super_Symbol).field_0x39 >> 2 & 0x30" (binary_expression "(byte)(gsym->super_Symbol).field_0x39 >> 2" (field_expression "(byte)(gsym->super_Symbol).field_0x39" (call_expression "(byte)(gsym->super_Symbol)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(gsym->super_Symbol)" ( (field_expression "gsym->super_Symbol" identifier -> field_identifier) ))) . field_identifier) >> number_literal) & number_literal) )) == number_literal) ))))) ;) (expression_statement "bVar68 = (bool)(calculate_only & bVar67);" (assignment_expression "bVar68 = (bool)(calculate_only & bVar67)" identifier = (cast_expression "(bool)(calculate_only & bVar67)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(calculate_only & bVar67)" ( (binary_expression "calculate_only & bVar67" identifier & identifier) )))) ;) (expression_statement "pp_Var43 = (_List_node_base **)local_c8;" (assignment_expression "pp_Var43 = (_List_node_base **)local_c8" identifier = (cast_expression "(_List_node_base **)local_c8" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "bVar21 = bVar68;" (assignment_expression "bVar21 = bVar68" identifier = identifier) ;) (if_statement "if (bVar68 == false) goto LAB_002c13ac;" if (parenthesized_expression "(bVar68 == false)" ( (binary_expression "bVar68 == false" identifier == false) )) (goto_statement "goto LAB_002c13ac;" goto statement_identifier ;)) (goto_statement "goto LAB_002c187c;" goto statement_identifier ;) }) (ERROR "bVar21 = calculate_only;\n    if ((uVar65 == 0x67" identifier = identifier ; if ( ( identifier == number_literal) )) && (parenthesized_expression "(*(char *)&gsym[1].super_Symbol.name_ == '\0')" ( (binary_expression "*(char *)&gsym[1].super_Symbol.name_ == '\0'" (pointer_expression "*(char *)&gsym[1].super_Symbol.name_" * (cast_expression "(char *)&gsym[1].super_Symbol.name_" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&gsym[1].super_Symbol.name_" & (field_expression "gsym[1].super_Symbol.name_" (field_expression "gsym[1].super_Symbol" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)))) == (char_literal "'\0'" ' escape_sequence ')) )))) ))) (ERROR "{\n      iVar25" { identifier) = (pointer_expression "*(int *)((long)&gsym[1].super_Symbol.name_ + 4)" * (cast_expression "(int *)((long)&gsym[1].super_Symbol.name_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&gsym[1].super_Symbol.name_ + 4)" ( (binary_expression "(long)&gsym[1].super_Symbol.name_ + 4" (cast_expression "(long)&gsym[1].super_Symbol.name_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&gsym[1].super_Symbol.name_" & (field_expression "gsym[1].super_Symbol.name_" (field_expression "gsym[1].super_Symbol" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) ))))) (ERROR ";\n      if" ; if) (argument_list "(iVar25 != -1)" ( (binary_expression "iVar25 != -1" identifier != number_literal) ))) (ERROR "goto LAB_002c17c6;\n      bVar67" identifier identifier ; identifier) = false) (ERROR ";\n      goto LAB_002c13ac;\n    }\nLAB_002c15fe:\n    bVar20 =" ; goto identifier ; } identifier : identifier =) (argument_list "(byte)" ( identifier ))) (ERROR "pMVar28;\n    local_c8" identifier ; identifier) = ( (ERROR "Mips_relobj<32,_false> *)&symval;\n    uVar40 = relinfo->data_shndx;\n    unaff_R13 = (Mips_symbol<64> *)(ulong)uVar40;\n    pMVar54 = unaff_R13;\n    pMVar60 = this_00;\n    bVar67 = Mips_relobj<32,_false>::is_mips16_stub_section(this_00,uVar40);\n    if ((bVar67) || (uVar40 == this_00->pdr_shndx_)) {\n      calculate_only = bVar21;\n      if (gsym == (Sized_symbol<32> *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }\n    if" (comma_expression "Mips_relobj<32,_false> *)&symval" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)&symval" identifier > (pointer_expression "*)&symval" * (ERROR ")" )) (pointer_expression "&symval" & identifier)))) ; (assignment_expression "uVar40 = relinfo->data_shndx" identifier = (field_expression "relinfo->data_shndx" identifier -> field_identifier)) ; (assignment_expression "unaff_R13 = (Mips_symbol<64> *)(ulong)uVar40;\n    pMVar54 = unaff_R13" identifier = (ERROR "(Mips_symbol<64> *)(ulong)uVar40;" (call_expression "(Mips_symbol<64> *)(ulong)" (parenthesized_expression "(Mips_symbol<64> *)" ( (binary_expression "Mips_symbol<64> *" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "(ulong)" ( identifier ))) identifier ;) (assignment_expression "pMVar54 = unaff_R13" identifier = identifier)) ; (assignment_expression "pMVar60 = this_00" identifier = identifier) ; (comma_expression "bVar67 = Mips_relobj<32,_false>::is_mips16_stub_section(this_00,uVar40)" (assignment_expression "bVar67 = Mips_relobj<32" identifier = (binary_expression "Mips_relobj<32" identifier < number_literal)) , (binary_expression "_false>::is_mips16_stub_section(this_00,uVar40)" identifier > (ERROR "::" : :) (call_expression "is_mips16_stub_section(this_00,uVar40)" identifier (argument_list "(this_00,uVar40)" ( identifier , identifier ))))) ; if (parenthesized_expression "((bVar67) || (uVar40 == this_00->pdr_shndx_))" ( (binary_expression "(bVar67) || (uVar40 == this_00->pdr_shndx_)" (parenthesized_expression "(bVar67)" ( identifier )) || (parenthesized_expression "(uVar40 == this_00->pdr_shndx_)" ( (binary_expression "uVar40 == this_00->pdr_shndx_" identifier == (field_expression "this_00->pdr_shndx_" identifier -> field_identifier)) ))) )) (compound_statement "{\n      calculate_only = bVar21;\n      if (gsym == (Sized_symbol<32> *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }" { (expression_statement "calculate_only = bVar21;" (assignment_expression "calculate_only = bVar21" identifier = identifier) ;) (if_statement "if (gsym == (Sized_symbol<32> *)0x0) goto LAB_002c1c17;" if (parenthesized_expression "(gsym == (Sized_symbol<32> *)0x0)" ( (binary_expression "gsym == (Sized_symbol<32> *)0x0)" identifier == (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) )) (goto_statement "goto LAB_002c1c17;" goto statement_identifier ;)) (goto_statement "goto LAB_002c17b9;" goto statement_identifier ;) }) if) ( (ERROR "gsym == (Sized_symbol<32> *)0x0)" (binary_expression "gsym == (Sized_symbol<32> *)0x0)" identifier == (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) )))) { (expression_statement "this_02 = (Mips_symbol<32> *)\n                (this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                _M_parent;" (assignment_expression "this_02 = (Mips_symbol<32> *)\n                (this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                _M_parent" identifier = (field_expression "(Mips_symbol<32> *)\n                (this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header.\n                _M_parent" (field_expression "(Mips_symbol<32> *)\n                (this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "(Mips_symbol<32> *)\n                (this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(Mips_symbol<32> *)\n                (this_00->local_mips16_fn_stubs_)._M_t._M_impl" (field_expression "(Mips_symbol<32> *)\n                (this_00->local_mips16_fn_stubs_)._M_t" (call_expression "(Mips_symbol<32> *)\n                (this_00->local_mips16_fn_stubs_)" (parenthesized_expression "(Mips_symbol<32> *)" ( (binary_expression "Mips_symbol<32> *" (binary_expression "Mips_symbol<32" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "(this_00->local_mips16_fn_stubs_)" ( (field_expression "this_00->local_mips16_fn_stubs_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "p_Var2 = &(this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header;" (assignment_expression "p_Var2 = &(this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header" identifier = (pointer_expression "&(this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header" & (field_expression "(this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(this_00->local_mips16_fn_stubs_)._M_t._M_impl" (field_expression "(this_00->local_mips16_fn_stubs_)._M_t" (parenthesized_expression "(this_00->local_mips16_fn_stubs_)" ( (field_expression "this_00->local_mips16_fn_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "pMVar35 = (Mips16_stub_section<32,_false> *)p_Var2;" (assignment_expression "pMVar35 = (Mips16_stub_section<32,_false> *)p_Var2" identifier = (parenthesized_expression "(Mips16_stub_section<32,_false> *)p_Var2" ( (comma_expression "Mips16_stub_section<32,_false> *)p_Var2" (binary_expression "Mips16_stub_section<32" identifier < number_literal) , (binary_expression "_false> *)p_Var2" identifier > (pointer_expression "*)p_Var2" * (ERROR ")" )) identifier))) ))) ;) (if_statement "if (this_02 != (Mips_symbol<32> *)0x0) {\n        do {\n          pMVar34 = this_02;\n          if ((pMVar34->super_Sized_symbol<32>).super_Symbol.dynsym_index_ < _Var51) {\n            this_02 = *(Mips_symbol<32> **)&(pMVar34->super_Sized_symbol<32>).super_Symbol.u2_;\n            pMVar34 = (Mips_symbol<32> *)pMVar35;\n          }\n          else {\n            this_02 = *(Mips_symbol<32> **)((long)&pMVar34->super_Sized_symbol<32> + 0x10);\n          }\n          pMVar35 = (Mips16_stub_section<32,_false> *)pMVar34;\n        } while (this_02 != (Mips_symbol<32> *)0x0);\n        this_02 = (Mips_symbol<32> *)0x0;\n        if (((Mips_symbol<32> *)p_Var2 != pMVar34) &&\n           (*(_Rb_tree_color *)&((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->object_\n            <= _Var51)) {\n          this_02 = *(Mips_symbol<32> **)\n                     &((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->shndx_;\n        }\n      }" if (parenthesized_expression "(this_02 != (Mips_symbol<32> *)0x0)" ( (binary_expression "this_02 != (Mips_symbol<32> *)0x0)" identifier != (parenthesized_expression "(Mips_symbol<32> *)0x0)" ( (binary_expression "Mips_symbol<32> *)0x0" (binary_expression "Mips_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) )) (compound_statement "{\n        do {\n          pMVar34 = this_02;\n          if ((pMVar34->super_Sized_symbol<32>).super_Symbol.dynsym_index_ < _Var51) {\n            this_02 = *(Mips_symbol<32> **)&(pMVar34->super_Sized_symbol<32>).super_Symbol.u2_;\n            pMVar34 = (Mips_symbol<32> *)pMVar35;\n          }\n          else {\n            this_02 = *(Mips_symbol<32> **)((long)&pMVar34->super_Sized_symbol<32> + 0x10);\n          }\n          pMVar35 = (Mips16_stub_section<32,_false> *)pMVar34;\n        } while (this_02 != (Mips_symbol<32> *)0x0);\n        this_02 = (Mips_symbol<32> *)0x0;\n        if (((Mips_symbol<32> *)p_Var2 != pMVar34) &&\n           (*(_Rb_tree_color *)&((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->object_\n            <= _Var51)) {\n          this_02 = *(Mips_symbol<32> **)\n                     &((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->shndx_;\n        }\n      }" { (do_statement "do {\n          pMVar34 = this_02;\n          if ((pMVar34->super_Sized_symbol<32>).super_Symbol.dynsym_index_ < _Var51) {\n            this_02 = *(Mips_symbol<32> **)&(pMVar34->super_Sized_symbol<32>).super_Symbol.u2_;\n            pMVar34 = (Mips_symbol<32> *)pMVar35;\n          }\n          else {\n            this_02 = *(Mips_symbol<32> **)((long)&pMVar34->super_Sized_symbol<32> + 0x10);\n          }\n          pMVar35 = (Mips16_stub_section<32,_false> *)pMVar34;\n        } while (this_02 != (Mips_symbol<32> *)0x0);" do (compound_statement "{\n          pMVar34 = this_02;\n          if ((pMVar34->super_Sized_symbol<32>).super_Symbol.dynsym_index_ < _Var51) {\n            this_02 = *(Mips_symbol<32> **)&(pMVar34->super_Sized_symbol<32>).super_Symbol.u2_;\n            pMVar34 = (Mips_symbol<32> *)pMVar35;\n          }\n          else {\n            this_02 = *(Mips_symbol<32> **)((long)&pMVar34->super_Sized_symbol<32> + 0x10);\n          }\n          pMVar35 = (Mips16_stub_section<32,_false> *)pMVar34;\n        }" { (expression_statement "pMVar34 = this_02;" (assignment_expression "pMVar34 = this_02" identifier = identifier) ;) (if_statement "if ((pMVar34->super_Sized_symbol<32>).super_Symbol.dynsym_index_ < _Var51) {\n            this_02 = *(Mips_symbol<32> **)&(pMVar34->super_Sized_symbol<32>).super_Symbol.u2_;\n            pMVar34 = (Mips_symbol<32> *)pMVar35;\n          }\n          else {\n            this_02 = *(Mips_symbol<32> **)((long)&pMVar34->super_Sized_symbol<32> + 0x10);\n          }" if (parenthesized_expression "((pMVar34->super_Sized_symbol<32>).super_Symbol.dynsym_index_ < _Var51)" ( (binary_expression "(pMVar34->super_Sized_symbol<32>).super_Symbol.dynsym_index_ < _Var51" (field_expression "(pMVar34->super_Sized_symbol<32>).super_Symbol.dynsym_index_" (field_expression "(pMVar34->super_Sized_symbol<32>).super_Symbol" (parenthesized_expression "(pMVar34->super_Sized_symbol<32>)" ( (binary_expression "pMVar34->super_Sized_symbol<32>" (binary_expression "pMVar34->super_Sized_symbol<32" (field_expression "pMVar34->super_Sized_symbol" identifier -> field_identifier) < number_literal) > identifier) )) . field_identifier) . field_identifier) < identifier) )) (compound_statement "{\n            this_02 = *(Mips_symbol<32> **)&(pMVar34->super_Sized_symbol<32>).super_Symbol.u2_;\n            pMVar34 = (Mips_symbol<32> *)pMVar35;\n          }" { (expression_statement "this_02 = *(Mips_symbol<32> **)&(pMVar34->super_Sized_symbol<32>).super_Symbol.u2_;" (assignment_expression "this_02 = *(Mips_symbol<32> **)&(pMVar34->super_Sized_symbol<32>).super_Symbol.u2_" identifier = (pointer_expression "*(Mips_symbol<32> **)&(pMVar34->super_Sized_symbol<32>).super_Symbol.u2_" * (parenthesized_expression "(Mips_symbol<32> **)&(pMVar34->super_Sized_symbol<32>).super_Symbol.u2_" ( (binary_expression "Mips_symbol<32> **)&(pMVar34->super_Sized_symbol<32>).super_Symbol.u2_" (binary_expression "Mips_symbol<32" identifier < number_literal) > (pointer_expression "**)&(pMVar34->super_Sized_symbol<32>).super_Symbol.u2_" * (pointer_expression "*)&(pMVar34->super_Sized_symbol<32>).super_Symbol.u2_" * (ERROR ")" )) (pointer_expression "&(pMVar34->super_Sized_symbol<32>).super_Symbol.u2_" & (field_expression "(pMVar34->super_Sized_symbol<32>).super_Symbol.u2_" (field_expression "(pMVar34->super_Sized_symbol<32>).super_Symbol" (parenthesized_expression "(pMVar34->super_Sized_symbol<32>)" ( (binary_expression "pMVar34->super_Sized_symbol<32>" (binary_expression "pMVar34->super_Sized_symbol<32" (field_expression "pMVar34->super_Sized_symbol" identifier -> field_identifier) < number_literal) > identifier) )) . field_identifier) . field_identifier))))) )))) ;) (expression_statement "pMVar34 = (Mips_symbol<32> *)pMVar35;" (assignment_expression "pMVar34 = (Mips_symbol<32> *)pMVar35" identifier = (parenthesized_expression "(Mips_symbol<32> *)pMVar35" ( (binary_expression "Mips_symbol<32> *)pMVar35" (binary_expression "Mips_symbol<32" identifier < number_literal) > (pointer_expression "*)pMVar35" * (ERROR ")" )) identifier)) ))) ;) }) (else_clause "else {\n            this_02 = *(Mips_symbol<32> **)((long)&pMVar34->super_Sized_symbol<32> + 0x10);\n          }" else (compound_statement "{\n            this_02 = *(Mips_symbol<32> **)((long)&pMVar34->super_Sized_symbol<32> + 0x10);\n          }" { (expression_statement "this_02 = *(Mips_symbol<32> **)((long)&pMVar34->super_Sized_symbol<32> + 0x10);" (assignment_expression "this_02 = *(Mips_symbol<32> **)((long)&pMVar34->super_Sized_symbol<32> + 0x10)" identifier = (pointer_expression "*(Mips_symbol<32> **)((long)&pMVar34->super_Sized_symbol<32> + 0x10)" * (call_expression "(Mips_symbol<32> **)((long)&pMVar34->super_Sized_symbol<32> + 0x10)" (parenthesized_expression "(Mips_symbol<32> **)" ( (binary_expression "Mips_symbol<32> **" (binary_expression "Mips_symbol<32" identifier < number_literal) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "((long)&pMVar34->super_Sized_symbol<32> + 0x10)" ( (binary_expression "(long)&pMVar34->super_Sized_symbol<32> + 0x10" (binary_expression "(long)&pMVar34->super_Sized_symbol<32" (cast_expression "(long)&pMVar34->super_Sized_symbol" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&pMVar34->super_Sized_symbol" & (field_expression "pMVar34->super_Sized_symbol" identifier -> field_identifier))) < number_literal) > (unary_expression "+ 0x10" + number_literal)) ))))) ;) }))) (expression_statement "pMVar35 = (Mips16_stub_section<32,_false> *)pMVar34;" (assignment_expression "pMVar35 = (Mips16_stub_section<32,_false> *)pMVar34" identifier = (parenthesized_expression "(Mips16_stub_section<32,_false> *)pMVar34" ( (comma_expression "Mips16_stub_section<32,_false> *)pMVar34" (binary_expression "Mips16_stub_section<32" identifier < number_literal) , (binary_expression "_false> *)pMVar34" identifier > (pointer_expression "*)pMVar34" * (ERROR ")" )) identifier))) ))) ;) }) while (parenthesized_expression "(this_02 != (Mips_symbol<32> *)0x0)" ( (binary_expression "this_02 != (Mips_symbol<32> *)0x0)" identifier != (parenthesized_expression "(Mips_symbol<32> *)0x0)" ( (binary_expression "Mips_symbol<32> *)0x0" (binary_expression "Mips_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) )) ;) (expression_statement "this_02 = (Mips_symbol<32> *)0x0;" (assignment_expression "this_02 = (Mips_symbol<32> *)0x0" identifier = (parenthesized_expression "(Mips_symbol<32> *)0x0" ( (binary_expression "Mips_symbol<32> *)0x0" (binary_expression "Mips_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) ;) (if_statement "if (((Mips_symbol<32> *)p_Var2 != pMVar34) &&\n           (*(_Rb_tree_color *)&((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->object_\n            <= _Var51)) {\n          this_02 = *(Mips_symbol<32> **)\n                     &((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->shndx_;\n        }" if (parenthesized_expression "(((Mips_symbol<32> *)p_Var2 != pMVar34) &&\n           (*(_Rb_tree_color *)&((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->object_\n            <= _Var51))" ( (parenthesized_expression "((Mips_symbol<32> *)p_Var2 != pMVar34) &&\n           (*(_Rb_tree_color *)&((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->object_\n            <= _Var51))" ( (binary_expression "(Mips_symbol<32> *)p_Var2 != pMVar34) &&\n           (*(_Rb_tree_color *)&((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->object_\n            <= _Var51)" (parenthesized_expression "(Mips_symbol<32> *)p_Var2 != pMVar34)" ( (binary_expression "Mips_symbol<32> *)p_Var2 != pMVar34" (binary_expression "Mips_symbol<32> *)p_Var2" (binary_expression "Mips_symbol<32" identifier < number_literal) > (pointer_expression "*)p_Var2" * (ERROR ")" )) identifier)) != identifier) )) && (parenthesized_expression "(*(_Rb_tree_color *)&((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->object_\n            <= _Var51)" ( (binary_expression "*(_Rb_tree_color *)&((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->object_\n            <= _Var51" (pointer_expression "*(_Rb_tree_color *)&((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->object_" * (cast_expression "(_Rb_tree_color *)&((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->object_" ( (type_descriptor "_Rb_tree_color *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->object_" & (field_expression "((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->object_" (parenthesized_expression "((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))" ( (call_expression "(Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20)" (parenthesized_expression "(Mips16_stub_section<32,_false> *)" ( (comma_expression "Mips16_stub_section<32,_false> *" (binary_expression "Mips16_stub_section<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "((long)pMVar34 + 0x20)" ( (binary_expression "(long)pMVar34 + 0x20" (cast_expression "(long)pMVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) )) -> field_identifier)))) <= identifier) ))) )) )) (compound_statement "{\n          this_02 = *(Mips_symbol<32> **)\n                     &((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->shndx_;\n        }" { (expression_statement "this_02 = *(Mips_symbol<32> **)\n                     &((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->shndx_;" (assignment_expression "this_02 = *(Mips_symbol<32> **)\n                     &((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->shndx_" identifier = (pointer_expression "*(Mips_symbol<32> **)\n                     &((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->shndx_" * (parenthesized_expression "(Mips_symbol<32> **)\n                     &((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->shndx_" ( (binary_expression "Mips_symbol<32> **)\n                     &((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->shndx_" (binary_expression "Mips_symbol<32" identifier < number_literal) > (pointer_expression "**)\n                     &((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->shndx_" * (pointer_expression "*)\n                     &((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->shndx_" * (ERROR ")" )) (pointer_expression "&((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->shndx_" & (field_expression "((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->shndx_" (parenthesized_expression "((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))" ( (call_expression "(Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20)" (parenthesized_expression "(Mips16_stub_section<32,_false> *)" ( (comma_expression "Mips16_stub_section<32,_false> *" (binary_expression "Mips16_stub_section<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "((long)pMVar34 + 0x20)" ( (binary_expression "(long)pMVar34 + 0x20" (cast_expression "(long)pMVar34" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) )) -> field_identifier))))) )))) ;) })) })) identifier : (assignment_expression "symval.u_.value =\n           Mips16_stub_section<32" (field_expression "symval.u_.value" (field_expression "symval.u_" identifier . field_identifier) . field_identifier) = (binary_expression "Mips16_stub_section<32" identifier < number_literal)) , identifier > (ERROR "::" : :) identifier ( ( (binary_expression "Mips16_stub_section<32" identifier < number_literal) , (binary_expression "_false> *)this_02" identifier > (pointer_expression "*)this_02" * (ERROR ")" )) identifier)) , ( (ERROR "Mips16_stub_section<32,_false> *)\n                      &((Mips16_stub_section<32,_false> *)this_02)->shndx_);\n      bVar68 = uVar65 == 100;\n      bVar20 = 0;\n      pp_Var43 = (_List_node_base **)(ulong)(uVar39 & 0xf7);\n      if ((uVar39 & 0xf7) != 0x85) {\n        local_cd = true;\n        psymval = (Symbol_value<32> *)local_c8;\n        bVar20 = 0;\n        goto LAB_002c13c4;\n      }" (comma_expression "Mips16_stub_section<32,_false> *)\n                      &((Mips16_stub_section<32,_false> *)this_02)->shndx_)" (binary_expression "Mips16_stub_section<32" identifier < number_literal) , (binary_expression "_false> *)\n                      &((Mips16_stub_section<32,_false> *)this_02)->shndx_)" identifier > (pointer_expression "*)\n                      &((Mips16_stub_section<32,_false> *)this_02)->shndx_)" * (ERROR ")" )) (pointer_expression "&((Mips16_stub_section<32,_false> *)this_02)->shndx_)" & (parenthesized_expression "((Mips16_stub_section<32,_false> *)this_02)->shndx_)" ( (field_expression "(Mips16_stub_section<32,_false> *)this_02)->shndx_" (parenthesized_expression "(Mips16_stub_section<32,_false> *)this_02)" ( (comma_expression "Mips16_stub_section<32,_false> *)this_02" (binary_expression "Mips16_stub_section<32" identifier < number_literal) , (binary_expression "_false> *)this_02" identifier > (pointer_expression "*)this_02" * (ERROR ")" )) identifier))) )) -> field_identifier) )))))) ; (assignment_expression "bVar68 = uVar65 == 100" identifier = (binary_expression "uVar65 == 100" identifier == number_literal)) ; (assignment_expression "bVar20 = 0" identifier = number_literal) ; (call_expression "pp_Var43 = (_List_node_base **)(ulong)(uVar39 & 0xf7);\n      if ((uVar39 & 0xf7) != 0x85)" (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)(uVar39 & 0xf7)" identifier = (cast_expression "(_List_node_base **)(ulong)(uVar39 & 0xf7)" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(ulong)(uVar39 & 0xf7)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar39 & 0xf7)" ( (binary_expression "uVar39 & 0xf7" identifier & number_literal) ))))) (ERROR ";\n      if" ; if) (argument_list "((uVar39 & 0xf7) != 0x85)" ( (binary_expression "(uVar39 & 0xf7) != 0x85" (parenthesized_expression "(uVar39 & 0xf7)" ( (binary_expression "uVar39 & 0xf7" identifier & number_literal) )) != number_literal) ))) (compound_statement "{\n        local_cd = true;\n        psymval = (Symbol_value<32> *)local_c8;\n        bVar20 = 0;\n        goto LAB_002c13c4;\n      }" { (expression_statement "local_cd = true;" (assignment_expression "local_cd = true" identifier = true) ;) (expression_statement "psymval = (Symbol_value<32> *)local_c8;" (assignment_expression "psymval = (Symbol_value<32> *)local_c8" identifier = (parenthesized_expression "(Symbol_value<32> *)local_c8" ( (binary_expression "Symbol_value<32> *)local_c8" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)local_c8" * (ERROR ")" )) identifier)) ))) ;) (expression_statement "bVar20 = 0;" (assignment_expression "bVar20 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_002c13c4;" goto statement_identifier ;) })) identifier = ( (ERROR "Symbol_value<32> *)local_c8;\n      local_cd = true;\n      goto LAB_002c13d7;\n    }\n    if (*(char *)&gsym[1].super_Symbol.name_ == '\0') {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/mips.cc",0x2d5f,"relocate");\n    }\n    iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n    if (iVar25 == -1) {\n      this_02 = *(Mips_symbol<32> **)&gsym[1].super_Symbol.got_offsets_;\n      goto LAB_002c3d91;\n    }" (binary_expression "Symbol_value<32> *)local_c8" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)local_c8" * (ERROR ")" )) identifier)) ; (assignment_expression "local_cd = true" identifier = true) ; goto (call_expression "LAB_002c13d7;\n    }\n    if (*(char *)&gsym[1].super_Symbol.name_ == '\0')" identifier (ERROR ";\n    }\n    if" ; } if) (argument_list "(*(char *)&gsym[1].super_Symbol.name_ == '\0')" ( (binary_expression "*(char *)&gsym[1].super_Symbol.name_ == '\0'" (pointer_expression "*(char *)&gsym[1].super_Symbol.name_" * (cast_expression "(char *)&gsym[1].super_Symbol.name_" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&gsym[1].super_Symbol.name_" & (field_expression "gsym[1].super_Symbol.name_" (field_expression "gsym[1].super_Symbol" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)))) == (char_literal "'\0'" ' escape_sequence ')) ))) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/mips.cc",0x2d5f,"relocate");\n    }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/mips.cc",0x2d5f,"relocate");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/mips.cc",0x2d5f,"relocate");" (call_expression "do_gold_unreachable("../../gold/mips.cc",0x2d5f,"relocate")" identifier (argument_list "("../../gold/mips.cc",0x2d5f,"relocate")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""relocate"" " string_content ") ))) ;)) }) (call_expression "iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);\n    if (iVar25 == -1)" (assignment_expression "iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4)" identifier = (pointer_expression "*(int *)((long)&gsym[1].super_Symbol.name_ + 4)" * (cast_expression "(int *)((long)&gsym[1].super_Symbol.name_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&gsym[1].super_Symbol.name_ + 4)" ( (binary_expression "(long)&gsym[1].super_Symbol.name_ + 4" (cast_expression "(long)&gsym[1].super_Symbol.name_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&gsym[1].super_Symbol.name_" & (field_expression "gsym[1].super_Symbol.name_" (field_expression "gsym[1].super_Symbol" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) ))))) (ERROR ";\n    if" ; if) (argument_list "(iVar25 == -1)" ( (binary_expression "iVar25 == -1" identifier == number_literal) ))) (compound_statement "{\n      this_02 = *(Mips_symbol<32> **)&gsym[1].super_Symbol.got_offsets_;\n      goto LAB_002c3d91;\n    }" { (expression_statement "this_02 = *(Mips_symbol<32> **)&gsym[1].super_Symbol.got_offsets_;" (assignment_expression "this_02 = *(Mips_symbol<32> **)&gsym[1].super_Symbol.got_offsets_" identifier = (binary_expression "*(Mips_symbol<32> **)&gsym[1].super_Symbol.got_offsets_" (pointer_expression "*(Mips_symbol<32> **)" * (parenthesized_expression "(Mips_symbol<32> **)" ( (binary_expression "Mips_symbol<32> **" (binary_expression "Mips_symbol<32" identifier < number_literal) > (pointer_expression "**" * (pointer_expression "*" * identifier))) ))) & (field_expression "gsym[1].super_Symbol.got_offsets_" (field_expression "gsym[1].super_Symbol" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) ;) (goto_statement "goto LAB_002c3d91;" goto statement_identifier ;) })) (assignment_expression "pMVar10 = target->la25_stub_" identifier = (field_expression "target->la25_stub_" identifier -> field_identifier)) (ERROR ";\n    if" ; if) ( (ERROR "pMVar10 == (Mips_output_data_la25_stub<32,_false> *)0x0) {\n      la25_stub_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46d8:\n      Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n      goto LAB_002c46dd;\n    }\n    bVar20 = (pMVar10->super_Output_section_data).super_Output_data.field_0x20;\n    uVar40 = bVar20 & 1;\n    pp_Var43 = (_List_node_base **)(ulong)uVar40;\n    local_cd = SUB41(uVar40,0);\n    if ((bVar20 & 1) == 0)" (binary_expression "pMVar10 == (Mips_output_data_la25_stub<32,_false> *)0x0)" identifier == (parenthesized_expression "(Mips_output_data_la25_stub<32,_false> *)0x0)" ( (comma_expression "Mips_output_data_la25_stub<32,_false> *)0x0" (binary_expression "Mips_output_data_la25_stub<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) (compound_statement "{\n      la25_stub_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c46d8:\n      Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n      goto LAB_002c46dd;\n    }" { (expression_statement "la25_stub_section((Target_mips<32,_false> *)pMVar60);" (call_expression "la25_stub_section((Target_mips<32,_false> *)pMVar60)" identifier (argument_list "((Target_mips<32,_false> *)pMVar60)" ( (parenthesized_expression "(Target_mips<32,_false> *)pMVar60)" ( (comma_expression "Target_mips<32,_false> *)pMVar60" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier))) )) ))) ;) (labeled_statement "LAB_002c46d8:\n      Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);" statement_identifier : (expression_statement "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);" (comma_expression "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60)" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false>::got_section((Target_mips<32,_false> *)pMVar60)" identifier > (ERROR "::" : :) (call_expression "got_section((Target_mips<32,_false> *)pMVar60)" identifier (argument_list "((Target_mips<32,_false> *)pMVar60)" ( (parenthesized_expression "(Target_mips<32,_false> *)pMVar60)" ( (comma_expression "Target_mips<32,_false> *)pMVar60" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier))) )) ))))) ;)) (goto_statement "goto LAB_002c46dd;" goto statement_identifier ;) }) (assignment_expression "bVar20 = (pMVar10->super_Output_section_data).super_Output_data.field_0x20" identifier = (field_expression "(pMVar10->super_Output_section_data).super_Output_data.field_0x20" (field_expression "(pMVar10->super_Output_section_data).super_Output_data" (parenthesized_expression "(pMVar10->super_Output_section_data)" ( (field_expression "pMVar10->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ; (assignment_expression "uVar40 = bVar20 & 1" identifier = (binary_expression "bVar20 & 1" identifier & number_literal)) ; (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)uVar40" identifier = (cast_expression "(_List_node_base **)(ulong)uVar40" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)uVar40" ( (type_descriptor "ulong" type_identifier) ) identifier))) ; (call_expression "local_cd = SUB41(uVar40,0);\n    if ((bVar20 & 1) == 0)" (assignment_expression "local_cd = SUB41(uVar40,0)" identifier = (call_expression "SUB41(uVar40,0)" identifier (argument_list "(uVar40,0)" ( identifier , number_literal )))) (ERROR ";\n    if" ; if) (argument_list "((bVar20 & 1) == 0)" ( (binary_expression "(bVar20 & 1) == 0" (parenthesized_expression "(bVar20 & 1)" ( (binary_expression "bVar20 & 1" identifier & number_literal) )) == number_literal) )))) { identifier : comment (binary_expression "Mips_output_data_plt<64" identifier < number_literal) , identifier > (ERROR "::" : :) identifier ( ( (ERROR "Mips_output_data_plt<64,_false> *)pMVar60,(Mips_symbol<64> *)target);\n    }\n    bVar68 = uVar65 == 100;\n    symval.u_.value = iVar25 + (int)(pMVar10->super_Output_section_data).super_Output_data.address_;\n    bVar20 = 0;\n    if ((uVar39 & 0xf7) != 0x85) {\n      psymval = (Symbol_value<32> *)local_c8;\n      local_c8 = (Mips_relobj<32,_false> *)pp_Var43;\n      bVar20 = 0;\n      goto LAB_002c13c4;\n    }" (comma_expression "Mips_output_data_plt<64,_false> *)pMVar60,(Mips_symbol<64> *)target)" (binary_expression "Mips_output_data_plt<64" identifier < number_literal) , (comma_expression "_false> *)pMVar60,(Mips_symbol<64> *)target)" (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier)) , (parenthesized_expression "(Mips_symbol<64> *)target)" ( (binary_expression "Mips_symbol<64> *)target" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*)target" * (ERROR ")" )) identifier)) )))) ; } (assignment_expression "bVar68 = uVar65 == 100" identifier = (binary_expression "uVar65 == 100" identifier == number_literal)) ; (assignment_expression "symval.u_.value = iVar25 + (int)(pMVar10->super_Output_section_data).super_Output_data.address_" (field_expression "symval.u_.value" (field_expression "symval.u_" identifier . field_identifier) . field_identifier) = (binary_expression "iVar25 + (int)(pMVar10->super_Output_section_data).super_Output_data.address_" identifier + (cast_expression "(int)(pMVar10->super_Output_section_data).super_Output_data.address_" ( (type_descriptor "int" primitive_type) ) (field_expression "(pMVar10->super_Output_section_data).super_Output_data.address_" (field_expression "(pMVar10->super_Output_section_data).super_Output_data" (parenthesized_expression "(pMVar10->super_Output_section_data)" ( (field_expression "pMVar10->super_Output_section_data" identifier -> field_identifier) )) . field_identifier) . field_identifier)))) ; (call_expression "bVar20 = 0;\n    if ((uVar39 & 0xf7) != 0x85)" (assignment_expression "bVar20 = 0" identifier = number_literal) (ERROR ";\n    if" ; if) (argument_list "((uVar39 & 0xf7) != 0x85)" ( (binary_expression "(uVar39 & 0xf7) != 0x85" (parenthesized_expression "(uVar39 & 0xf7)" ( (binary_expression "uVar39 & 0xf7" identifier & number_literal) )) != number_literal) ))) (compound_statement "{\n      psymval = (Symbol_value<32> *)local_c8;\n      local_c8 = (Mips_relobj<32,_false> *)pp_Var43;\n      bVar20 = 0;\n      goto LAB_002c13c4;\n    }" { (expression_statement "psymval = (Symbol_value<32> *)local_c8;" (assignment_expression "psymval = (Symbol_value<32> *)local_c8" identifier = (parenthesized_expression "(Symbol_value<32> *)local_c8" ( (binary_expression "Symbol_value<32> *)local_c8" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)local_c8" * (ERROR ")" )) identifier)) ))) ;) (expression_statement "local_c8 = (Mips_relobj<32,_false> *)pp_Var43;" (assignment_expression "local_c8 = (Mips_relobj<32,_false> *)pp_Var43" identifier = (parenthesized_expression "(Mips_relobj<32,_false> *)pp_Var43" ( (comma_expression "Mips_relobj<32,_false> *)pp_Var43" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)pp_Var43" identifier > (pointer_expression "*)pp_Var43" * (ERROR ")" )) identifier))) ))) ;) (expression_statement "bVar20 = 0;" (assignment_expression "bVar20 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_002c13c4;" goto statement_identifier ;) })) (assignment_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85;\n    pp_Var43 = (_List_node_base **)(ulong)uVar65;\n    if (uVar65 < 0x29) {\n      uVar27 = 1L << ((byte)uVar65 & 0x3f) & 0x1b3e1fff3ff;\n      uVar46 = (ulong)((-(uint)(uVar27 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x2d;\n      uVar65 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar46 = 0xffffff8e;\n      uVar65 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    r_types[1] = 0;\n    r_types[2] = 0;\n    local_ce = false;\n    local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\nLAB_002c1b2f:\n    r_types[0] = uVar65;\n    if (((uint)uVar46 < 0x29) && ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;\n  }\n  r_types[1] = 0;\n  r_types[2] = 0" (subscript_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85;\n    pp_Var43 = (_List_node_base **)(ulong)uVar65;\n    if (uVar65 < 0x29) {\n      uVar27 = 1L << ((byte)uVar65 & 0x3f) & 0x1b3e1fff3ff;\n      uVar46 = (ulong)((-(uint)(uVar27 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x2d;\n      uVar65 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar46 = 0xffffff8e;\n      uVar65 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    r_types[1] = 0;\n    r_types[2] = 0;\n    local_ce = false;\n    local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\nLAB_002c1b2f:\n    r_types[0] = uVar65;\n    if (((uint)uVar46 < 0x29) && ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;\n  }\n  r_types[1] = 0;\n  r_types[2]" (assignment_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85;\n    pp_Var43 = (_List_node_base **)(ulong)uVar65;\n    if (uVar65 < 0x29) {\n      uVar27 = 1L << ((byte)uVar65 & 0x3f) & 0x1b3e1fff3ff;\n      uVar46 = (ulong)((-(uint)(uVar27 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x2d;\n      uVar65 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar46 = 0xffffff8e;\n      uVar65 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    r_types[1] = 0;\n    r_types[2] = 0;\n    local_ce = false;\n    local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\nLAB_002c1b2f:\n    r_types[0] = uVar65;\n    if (((uint)uVar46 < 0x29) && ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;\n  }\n  r_types[1] = 0" (subscript_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85;\n    pp_Var43 = (_List_node_base **)(ulong)uVar65;\n    if (uVar65 < 0x29) {\n      uVar27 = 1L << ((byte)uVar65 & 0x3f) & 0x1b3e1fff3ff;\n      uVar46 = (ulong)((-(uint)(uVar27 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x2d;\n      uVar65 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar46 = 0xffffff8e;\n      uVar65 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    r_types[1] = 0;\n    r_types[2] = 0;\n    local_ce = false;\n    local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\nLAB_002c1b2f:\n    r_types[0] = uVar65;\n    if (((uint)uVar46 < 0x29) && ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;\n  }\n  r_types[1]" (call_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85;\n    pp_Var43 = (_List_node_base **)(ulong)uVar65;\n    if (uVar65 < 0x29) {\n      uVar27 = 1L << ((byte)uVar65 & 0x3f) & 0x1b3e1fff3ff;\n      uVar46 = (ulong)((-(uint)(uVar27 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x2d;\n      uVar65 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar46 = 0xffffff8e;\n      uVar65 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    r_types[1] = 0;\n    r_types[2] = 0;\n    local_ce = false;\n    local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\nLAB_002c1b2f:\n    r_types[0] = uVar65;\n    if (((uint)uVar46 < 0x29) && ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) != 0))" (assignment_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85;\n    pp_Var43 = (_List_node_base **)(ulong)uVar65;\n    if (uVar65 < 0x29) {\n      uVar27 = 1L << ((byte)uVar65 & 0x3f) & 0x1b3e1fff3ff;\n      uVar46 = (ulong)((-(uint)(uVar27 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x2d;\n      uVar65 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar46 = 0xffffff8e;\n      uVar65 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    r_types[1] = 0;\n    r_types[2] = 0;\n    local_ce = false;\n    local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\nLAB_002c1b2f:\n    r_types[0] = uVar65" (subscript_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85;\n    pp_Var43 = (_List_node_base **)(ulong)uVar65;\n    if (uVar65 < 0x29) {\n      uVar27 = 1L << ((byte)uVar65 & 0x3f) & 0x1b3e1fff3ff;\n      uVar46 = (ulong)((-(uint)(uVar27 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x2d;\n      uVar65 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar46 = 0xffffff8e;\n      uVar65 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    r_types[1] = 0;\n    r_types[2] = 0;\n    local_ce = false;\n    local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\nLAB_002c1b2f:\n    r_types[0]" (call_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85;\n    pp_Var43 = (_List_node_base **)(ulong)uVar65;\n    if (uVar65 < 0x29) {\n      uVar27 = 1L << ((byte)uVar65 & 0x3f) & 0x1b3e1fff3ff;\n      uVar46 = (ulong)((-(uint)(uVar27 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x2d;\n      uVar65 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar46 = 0xffffff8e;\n      uVar65 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    r_types[1] = 0;\n    r_types[2] = 0;\n    local_ce = false;\n    local_b8 = (_Bit_type *)(ulong)(rel_type == 9)" (call_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85;\n    pp_Var43 = (_List_node_base **)(ulong)uVar65;\n    if (uVar65 < 0x29) {\n      uVar27 = 1L << ((byte)uVar65 & 0x3f) & 0x1b3e1fff3ff;\n      uVar46 = (ulong)((-(uint)(uVar27 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x2d;\n      uVar65 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar46 = 0xffffff8e;\n      uVar65 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    r_types[1] = 0;\n    r_types[2] = 0;\n    local_ce = false;\n    local_b8 = (_Bit_type *)(ulong)" (call_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85;\n    pp_Var43 = (_List_node_base **)(ulong)uVar65;\n    if (uVar65 < 0x29) {\n      uVar27 = 1L << ((byte)uVar65 & 0x3f) & 0x1b3e1fff3ff;\n      uVar46 = (ulong)((-(uint)(uVar27 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x2d;\n      uVar65 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar46 = 0xffffff8e;\n      uVar65 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    r_types[1] = 0;\n    r_types[2] = 0;\n    local_ce = false;\n    local_b8 = (_Bit_type *)" (assignment_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85;\n    pp_Var43 = (_List_node_base **)(ulong)uVar65;\n    if (uVar65 < 0x29) {\n      uVar27 = 1L << ((byte)uVar65 & 0x3f) & 0x1b3e1fff3ff;\n      uVar46 = (ulong)((-(uint)(uVar27 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x2d;\n      uVar65 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar46 = 0xffffff8e;\n      uVar65 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    r_types[1] = 0;\n    r_types[2] = 0" (subscript_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85;\n    pp_Var43 = (_List_node_base **)(ulong)uVar65;\n    if (uVar65 < 0x29) {\n      uVar27 = 1L << ((byte)uVar65 & 0x3f) & 0x1b3e1fff3ff;\n      uVar46 = (ulong)((-(uint)(uVar27 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x2d;\n      uVar65 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar46 = 0xffffff8e;\n      uVar65 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    r_types[1] = 0;\n    r_types[2]" (assignment_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85;\n    pp_Var43 = (_List_node_base **)(ulong)uVar65;\n    if (uVar65 < 0x29) {\n      uVar27 = 1L << ((byte)uVar65 & 0x3f) & 0x1b3e1fff3ff;\n      uVar46 = (ulong)((-(uint)(uVar27 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x2d;\n      uVar65 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar46 = 0xffffff8e;\n      uVar65 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    r_types[1] = 0" (subscript_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85;\n    pp_Var43 = (_List_node_base **)(ulong)uVar65;\n    if (uVar65 < 0x29) {\n      uVar27 = 1L << ((byte)uVar65 & 0x3f) & 0x1b3e1fff3ff;\n      uVar46 = (ulong)((-(uint)(uVar27 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x2d;\n      uVar65 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar46 = 0xffffff8e;\n      uVar65 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    r_types[1]" (binary_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85;\n    pp_Var43 = (_List_node_base **)(ulong)uVar65;\n    if (uVar65 < 0x29) {\n      uVar27 = 1L << ((byte)uVar65 & 0x3f) & 0x1b3e1fff3ff;\n      uVar46 = (ulong)((-(uint)(uVar27 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x2d;\n      uVar65 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x91" (call_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85;\n    pp_Var43 = (_List_node_base **)(ulong)uVar65;\n    if (uVar65 < 0x29) {\n      uVar27 = 1L << ((byte)uVar65 & 0x3f) & 0x1b3e1fff3ff;\n      uVar46 = (ulong)((-(uint)(uVar27 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x2d;\n      uVar65 = (-(uint)(uVar27 == 0) & 0xffffff82)" (binary_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85;\n    pp_Var43 = (_List_node_base **)(ulong)uVar65;\n    if (uVar65 < 0x29) {\n      uVar27 = 1L << ((byte)uVar65 & 0x3f) & 0x1b3e1fff3ff;\n      uVar46 = (ulong)((-(uint)(uVar27 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x2d" (call_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85;\n    pp_Var43 = (_List_node_base **)(ulong)uVar65;\n    if (uVar65 < 0x29) {\n      uVar27 = 1L << ((byte)uVar65 & 0x3f) & 0x1b3e1fff3ff;\n      uVar46 = (ulong)((-(uint)(uVar27 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar27 == 0) & 0xffffff82)" (call_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85;\n    pp_Var43 = (_List_node_base **)(ulong)uVar65;\n    if (uVar65 < 0x29) {\n      uVar27 = 1L << ((byte)uVar65 & 0x3f) & 0x1b3e1fff3ff;\n      uVar46 = (ulong)((-(uint)(uVar27 == 0) & 0xffffff82) + 0xc)" (call_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85;\n    pp_Var43 = (_List_node_base **)(ulong)uVar65;\n    if (uVar65 < 0x29) {\n      uVar27 = 1L << ((byte)uVar65 & 0x3f) & 0x1b3e1fff3ff;\n      uVar46 = (ulong)" (assignment_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85;\n    pp_Var43 = (_List_node_base **)(ulong)uVar65;\n    if (uVar65 < 0x29) {\n      uVar27 = 1L << ((byte)uVar65 & 0x3f) & 0x1b3e1fff3ff" (call_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85;\n    pp_Var43 = (_List_node_base **)(ulong)uVar65;\n    if (uVar65 < 0x29)" (call_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85;\n    pp_Var43 = (_List_node_base **)(ulong)" (call_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85;\n    pp_Var43 = (_List_node_base **)" (assignment_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65 = uVar65 - 0x85" (call_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);\n    if ((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))" (assignment_expression "psymval = (Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false)" identifier = (parenthesized_expression "(Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */\n    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false)" ( (ERROR "Symbol_value<32> *)local_c8;\nLAB_002c16b8:\n    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67) {\n      local_cf = 0;\n    }\n    else {\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    uVar39 = (gsym->super_Symbol).dynsym_index_;\n    puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0')" (binary_expression "Symbol_value<32> *)local_c8" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)local_c8" * (ERROR ")" )) identifier)) ; identifier : (assignment_expression "bVar67 = gold" identifier = identifier) : : identifier : : (call_expression "is_weak_undefined(&gsym->super_Symbol);\n    if (bVar67)" (call_expression "is_weak_undefined(&gsym->super_Symbol)" identifier (argument_list "(&gsym->super_Symbol)" ( (pointer_expression "&gsym->super_Symbol" & (field_expression "gsym->super_Symbol" identifier -> field_identifier)) ))) (ERROR ";\n    if" ; if) (argument_list "(bVar67)" ( identifier ))) (compound_statement "{\n      local_cf = 0;\n    }" { (expression_statement "local_cf = 0;" (assignment_expression "local_cf = 0" identifier = number_literal) ;) }) else (compound_statement "{\n      local_cf = (bVar20 ^ 1) & bVar68;\n      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }\n    }" { (expression_statement "local_cf = (bVar20 ^ 1) & bVar68;" (assignment_expression "local_cf = (bVar20 ^ 1) & bVar68" identifier = (binary_expression "(bVar20 ^ 1) & bVar68" (parenthesized_expression "(bVar20 ^ 1)" ( (binary_expression "bVar20 ^ 1" identifier ^ number_literal) )) & identifier)) ;) (if_statement "if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }" if (parenthesized_expression "((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0))" ( (binary_expression "(local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)" (parenthesized_expression "(local_cf == 0)" ( (binary_expression "local_cf == 0" identifier == number_literal) )) && (parenthesized_expression "(local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)" ( (comma_expression "local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0" (assignment_expression "local_cf = (bVar21 ^ 1) & uVar65 == 0x85" identifier = (binary_expression "(bVar21 ^ 1) & uVar65 == 0x85" (parenthesized_expression "(bVar21 ^ 1)" ( (binary_expression "bVar21 ^ 1" identifier ^ number_literal) )) & (binary_expression "uVar65 == 0x85" identifier == number_literal))) , (binary_expression "local_cf == 0" identifier == number_literal)) ))) )) (compound_statement "{\nLAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;\n        if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }\n        if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }\n      }" { (labeled_statement "LAB_002c1bcf:\n        local_cf = uVar65 == 4 || uVar65 == 0x25;" statement_identifier : (expression_statement "local_cf = uVar65 == 4 || uVar65 == 0x25;" (assignment_expression "local_cf = uVar65 == 4 || uVar65 == 0x25" identifier = (binary_expression "uVar65 == 4 || uVar65 == 0x25" (binary_expression "uVar65 == 4" identifier == number_literal) || (binary_expression "uVar65 == 0x25" identifier == number_literal))) ;)) (if_statement "if (uVar65 == 4 || uVar65 == 0x25) {\n          local_cf = bVar21 | bVar20;\n        }" if (parenthesized_expression "(uVar65 == 4 || uVar65 == 0x25)" ( (binary_expression "uVar65 == 4 || uVar65 == 0x25" (binary_expression "uVar65 == 4" identifier == number_literal) || (binary_expression "uVar65 == 0x25" identifier == number_literal)) )) (compound_statement "{\n          local_cf = bVar21 | bVar20;\n        }" { (expression_statement "local_cf = bVar21 | bVar20;" (assignment_expression "local_cf = bVar21 | bVar20" identifier = (binary_expression "bVar21 | bVar20" identifier | identifier)) ;) })) (if_statement "if (gsym == (Sized_symbol<32> *)0x0) {\n          local_ce = true;\n          goto LAB_002c1402;\n        }" if (parenthesized_expression "(gsym == (Sized_symbol<32> *)0x0)" ( (binary_expression "gsym == (Sized_symbol<32> *)0x0)" identifier == (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) )) (compound_statement "{\n          local_ce = true;\n          goto LAB_002c1402;\n        }" { (expression_statement "local_ce = true;" (assignment_expression "local_ce = true" identifier = true) ;) (goto_statement "goto LAB_002c1402;" goto statement_identifier ;) })) })) }) (assignment_expression "uVar39 = (gsym->super_Symbol).dynsym_index_" identifier = (field_expression "(gsym->super_Symbol).dynsym_index_" (parenthesized_expression "(gsym->super_Symbol)" ( (field_expression "gsym->super_Symbol" identifier -> field_identifier) )) . field_identifier)) ; (call_expression "puVar63 = (uchar *)(ulong)uVar39;\n    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0')" (assignment_expression "puVar63 = (uchar *)(ulong)uVar39" identifier = (cast_expression "(uchar *)(ulong)uVar39" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)uVar39" ( (type_descriptor "ulong" type_identifier) ) identifier))) (ERROR ";\n    if" ; if) (argument_list "((char)gsym[1].super_Symbol.symtab_index_ != '\0')" ( (binary_expression "(char)gsym[1].super_Symbol.symtab_index_ != '\0'" (cast_expression "(char)gsym[1].super_Symbol.symtab_index_" ( (type_descriptor "char" primitive_type) ) (field_expression "gsym[1].super_Symbol.symtab_index_" (field_expression "gsym[1].super_Symbol" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)) != (char_literal "'\0'" ' escape_sequence ')) )))) (compound_statement "{\n      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);\n      if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar65 - 100;\n      uVar46 = (ulong)(uVar65 - 0x85);\n      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);\n      r_types[1] = 0;\n      r_types[2] = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar38 = *(ushort *)view;\n      uVar39 = (uint)uVar38;\n      uVar6 = *(ushort *)(view + 2);\n      pp_Var43 = (_List_node_base **)(ulong)uVar6;\n      r_types[0] = uVar65;\n      if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;\n      pp_Var43 = (_List_node_base **)(ulong)uVar65;\n      uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }" { (expression_statement "local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);" (assignment_expression "local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true)" identifier = (call_expression "symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true)" identifier (argument_list "(&gsym->super_Symbol,uVar39 != 0,true)" ( (pointer_expression "&gsym->super_Symbol" & (field_expression "gsym->super_Symbol" identifier -> field_identifier)) , (binary_expression "uVar39 != 0" identifier != number_literal) , true )))) ;) (if_statement "if ((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))\n      goto LAB_002c1ab9;" if (parenthesized_expression "((!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))" ( (binary_expression "(!local_ce) &&\n         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14)" (parenthesized_expression "(!local_ce)" ( (unary_expression "!local_ce" ! identifier) )) && (parenthesized_expression "(local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14)" ( (comma_expression "local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14" (assignment_expression "local_ce = uVar65 == 0x92 || uVar65 == 0x14" identifier = (binary_expression "uVar65 == 0x92 || uVar65 == 0x14" (binary_expression "uVar65 == 0x92" identifier == number_literal) || (binary_expression "uVar65 == 0x14" identifier == number_literal))) , (binary_expression "uVar65 == 0x92 || uVar65 == 0x14" (binary_expression "uVar65 == 0x92" identifier == number_literal) || (binary_expression "uVar65 == 0x14" identifier == number_literal))) ))) )) (goto_statement "goto LAB_002c1ab9;" goto statement_identifier ;)) (labeled_statement "LAB_002c1402:\n      local_f0 = uVar65 - 100;" statement_identifier : (expression_statement "local_f0 = uVar65 - 100;" (assignment_expression "local_f0 = uVar65 - 100" identifier = (binary_expression "uVar65 - 100" identifier - number_literal)) ;)) (expression_statement "uVar46 = (ulong)(uVar65 - 0x85);" (assignment_expression "uVar46 = (ulong)(uVar65 - 0x85)" identifier = (call_expression "(ulong)(uVar65 - 0x85)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar65 - 0x85)" ( (binary_expression "uVar65 - 0x85" identifier - number_literal) )))) ;) (expression_statement "local_b8 = (_Bit_type *)(ulong)(rel_type == 9);" (assignment_expression "local_b8 = (_Bit_type *)(ulong)(rel_type == 9)" identifier = (cast_expression "(_Bit_type *)(ulong)(rel_type == 9)" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)(rel_type == 9)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(rel_type == 9)" ( (binary_expression "rel_type == 9" identifier == number_literal) ))))) ;) (expression_statement "r_types[1] = 0;" (assignment_expression "r_types[1] = 0" (subscript_expression "r_types[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "r_types[2] = 0;" (assignment_expression "r_types[2] = 0" (subscript_expression "r_types[2]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (0xc < local_f0) goto LAB_002c1b2f;" if (parenthesized_expression "(0xc < local_f0)" ( (binary_expression "0xc < local_f0" number_literal < identifier) )) (goto_statement "goto LAB_002c1b2f;" goto statement_identifier ;)) (expression_statement "uVar38 = *(ushort *)view;" (assignment_expression "uVar38 = *(ushort *)view" identifier = (pointer_expression "*(ushort *)view" * (cast_expression "(ushort *)view" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar39 = (uint)uVar38;" (assignment_expression "uVar39 = (uint)uVar38" identifier = (cast_expression "(uint)uVar38" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar6 = *(ushort *)(view + 2);" (assignment_expression "uVar6 = *(ushort *)(view + 2)" identifier = (pointer_expression "*(ushort *)(view + 2)" * (cast_expression "(ushort *)(view + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(view + 2)" ( (binary_expression "view + 2" identifier + number_literal) ))))) ;) (expression_statement "pp_Var43 = (_List_node_base **)(ulong)uVar6;" (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)uVar6" identifier = (cast_expression "(_List_node_base **)(ulong)uVar6" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "r_types[0] = uVar65;" (assignment_expression "r_types[0] = uVar65" (subscript_expression "r_types[0]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (uVar65 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }" if (parenthesized_expression "(uVar65 - 0x85 < 0x29)" ( (binary_expression "uVar65 - 0x85 < 0x29" (binary_expression "uVar65 - 0x85" identifier - number_literal) < number_literal) )) (compound_statement "{\n        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }" { (if_statement "if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;" if (parenthesized_expression "((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0)" ( (binary_expression "(0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0" (parenthesized_expression "(0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1)" ( (binary_expression "0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1" (binary_expression "0x1b3e1fff3ffU >> (uVar46 & 0x3f)" number_literal >> (parenthesized_expression "(uVar46 & 0x3f)" ( (binary_expression "uVar46 & 0x3f" identifier & number_literal) ))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_002c1c3c;" goto statement_identifier ;)) (goto_statement "goto LAB_002c1462;" goto statement_identifier ;) })) (if_statement "if (uVar65 == 100) {\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }" if (parenthesized_expression "(uVar65 == 100)" ( (binary_expression "uVar65 == 100" identifier == number_literal) )) (compound_statement "{\n        local_f0 = 0;\n        goto LAB_002c1462;\n      }" { (expression_statement "local_f0 = 0;" (assignment_expression "local_f0 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_002c1462;" goto statement_identifier ;) })) (labeled_statement "LAB_002c1c3c:\n      uVar65 = uVar6 & 0x1f;" statement_identifier : (expression_statement "uVar65 = uVar6 & 0x1f;" (assignment_expression "uVar65 = uVar6 & 0x1f" identifier = (binary_expression "uVar6 & 0x1f" identifier & number_literal)) ;)) (expression_statement "pp_Var43 = (_List_node_base **)(ulong)uVar65;" (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)uVar65" identifier = (cast_expression "(_List_node_base **)(ulong)uVar65" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)uVar65" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb);" (assignment_expression "uVar65 = uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb)" identifier = (binary_expression "uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar38 & 0x1f) << 0xb)" (binary_expression "uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb" (binary_expression "uVar38 & 0x7e0 | uVar65 |\n               (uVar38 & 0xf800) << 0x10" (binary_expression "uVar38 & 0x7e0 | uVar65" (binary_expression "uVar38 & 0x7e0" identifier & number_literal) | identifier) | (binary_expression "(uVar38 & 0xf800) << 0x10" (parenthesized_expression "(uVar38 & 0xf800)" ( (binary_expression "uVar38 & 0xf800" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar6 & 0xffe0) << 0xb" (parenthesized_expression "(uVar6 & 0xffe0)" ( (binary_expression "uVar6 & 0xffe0" identifier & number_literal) )) << number_literal)) | (call_expression "(uint)(((ulong)uVar38 & 0x1f) << 0xb)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((ulong)uVar38 & 0x1f) << 0xb)" ( (binary_expression "((ulong)uVar38 & 0x1f) << 0xb" (parenthesized_expression "((ulong)uVar38 & 0x1f)" ( (binary_expression "(ulong)uVar38 & 0x1f" (cast_expression "(ulong)uVar38" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )) << number_literal) ))))) ;) (goto_statement "goto LAB_002c1467;" goto statement_identifier ;) }) comment (ERROR "local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false" identifier = identifier ( & identifier -> identifier , identifier != number_literal , false) ))) (ERROR ";\n    if" ; if) (argument_list "((local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))" ( (binary_expression "(local_ce) ||\n       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92)" (parenthesized_expression "(local_ce)" ( identifier )) || (parenthesized_expression "(local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92)" ( (comma_expression "local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92" (assignment_expression "local_ce = uVar65 == 0x14 || uVar65 == 0x92" identifier = (binary_expression "uVar65 == 0x14 || uVar65 == 0x92" (binary_expression "uVar65 == 0x14" identifier == number_literal) || (binary_expression "uVar65 == 0x92" identifier == number_literal))) , (binary_expression "uVar65 != 0x14 && uVar65 != 0x92" (binary_expression "uVar65 != 0x14" identifier != number_literal) && (binary_expression "uVar65 != 0x92" identifier != number_literal))) ))) ))) (ERROR "goto LAB_002c1402;\nLAB_002c1ab9:\n    uVar65" identifier identifier ; identifier : identifier) = (binary_expression "uVar65 - 0x85" identifier - number_literal)) (ERROR ";\n    pp_Var43 =" ; identifier =) (argument_list "(_List_node_base **)" ( (binary_expression "_List_node_base **" identifier * (pointer_expression "*" * identifier)) ))) (argument_list "(ulong)" ( identifier ))) (ERROR "uVar65;\n    if" identifier ; if) (argument_list "(uVar65 < 0x29)" ( (binary_expression "uVar65 < 0x29" identifier < number_literal) ))) (ERROR "{\n      uVar27" { identifier) = (binary_expression "1L << ((byte)uVar65 & 0x3f) & 0x1b3e1fff3ff" (binary_expression "1L << ((byte)uVar65 & 0x3f)" number_literal << (parenthesized_expression "((byte)uVar65 & 0x3f)" ( (binary_expression "(byte)uVar65 & 0x3f" (cast_expression "(byte)uVar65" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) ))) & number_literal)) (ERROR ";\n      uVar46 =" ; identifier =) (argument_list "(ulong)" ( identifier ))) (argument_list "((-(uint)(uVar27 == 0) & 0xffffff82) + 0xc)" ( (binary_expression "(-(uint)(uVar27 == 0) & 0xffffff82) + 0xc" (parenthesized_expression "(-(uint)(uVar27 == 0) & 0xffffff82)" ( (binary_expression "-(uint)(uVar27 == 0) & 0xffffff82" (unary_expression "-(uint)(uVar27 == 0)" - (call_expression "(uint)(uVar27 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar27 == 0)" ( (binary_expression "uVar27 == 0" identifier == number_literal) )))) & number_literal) )) + number_literal) ))) (ERROR ";\n      local_f0 =" ; identifier =) (argument_list "(-(uint)(uVar27 == 0) & 0xffffff82)" ( (binary_expression "-(uint)(uVar27 == 0) & 0xffffff82" (unary_expression "-(uint)(uVar27 == 0)" - (call_expression "(uint)(uVar27 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar27 == 0)" ( (binary_expression "uVar27 == 0" identifier == number_literal) )))) & number_literal) ))) + number_literal) (ERROR ";\n      uVar65 =" ; identifier =) (argument_list "(-(uint)(uVar27 == 0) & 0xffffff82)" ( (binary_expression "-(uint)(uVar27 == 0) & 0xffffff82" (unary_expression "-(uint)(uVar27 == 0)" - (call_expression "(uint)(uVar27 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar27 == 0)" ( (binary_expression "uVar27 == 0" identifier == number_literal) )))) & number_literal) ))) + number_literal) (ERROR ";\n    }\n    else {\n      uVar46 = 0xffffff8e;\n      uVar65 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    r_types" ; } else { identifier = number_literal ; identifier = number_literal ; identifier = number_literal ; } identifier) [ number_literal ]) = number_literal) (ERROR ";\n    r_types" ; identifier) [ number_literal ]) = number_literal) (ERROR ";\n    local_ce = false;\n    local_b8 =" ; identifier = false ; identifier =) (argument_list "(_Bit_type *)" ( (binary_expression "_Bit_type *" identifier * identifier) ))) (argument_list "(ulong)" ( identifier ))) (argument_list "(rel_type == 9)" ( (binary_expression "rel_type == 9" identifier == number_literal) ))) (ERROR ";\nLAB_002c1b2f:\n    r_types" ; identifier : identifier) [ number_literal ]) = identifier) (ERROR ";\n    if" ; if) (argument_list "(((uint)uVar46 < 0x29) && ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) != 0))" ( (binary_expression "((uint)uVar46 < 0x29) && ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) != 0)" (parenthesized_expression "((uint)uVar46 < 0x29)" ( (binary_expression "(uint)uVar46 < 0x29" (cast_expression "(uint)uVar46" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) && (parenthesized_expression "((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) != 0)" ( (binary_expression "(0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) != 0" (parenthesized_expression "(0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1)" ( (binary_expression "0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1" (binary_expression "0x1b3e1fff3ffU >> (uVar46 & 0x3f)" number_literal >> (parenthesized_expression "(uVar46 & 0x3f)" ( (binary_expression "uVar46 & 0x3f" identifier & number_literal) ))) & number_literal) )) != number_literal) ))) ))) (ERROR "goto LAB_002c1d4a;\n  }\n  r_types" identifier identifier ; } identifier) [ number_literal ]) = number_literal) (ERROR ";\n  r_types" ; identifier) [ number_literal ]) = number_literal) (ERROR ";\n  unaff_R13 =" ; identifier =) ( (ERROR "Mips_symbol<64> *)r_types;\n  SVar26 = STATUS_OKAY;\n  local_e4 = 0;\n  pMVar28 = (Mips_symbol<64> *)&symval;\n  uVar65 = r_types[0];\n  local_d8 = pMVar28;\n  lo16_reloc = r_types[0];\n  while( true )" (binary_expression "Mips_symbol<64> *)r_types" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*)r_types" * (ERROR ")" )) identifier)) ; (assignment_expression "SVar26 = STATUS_OKAY" identifier = identifier) ; (assignment_expression "local_e4 = 0" identifier = number_literal) ; (assignment_expression "pMVar28 = (Mips_symbol<64> *)&symval;\n  uVar65 = r_types[0];\n  local_d8 = pMVar28;\n  lo16_reloc = r_types[0];\n  while( true )" identifier = (parenthesized_expression "(Mips_symbol<64> *)&symval;\n  uVar65 = r_types[0];\n  local_d8 = pMVar28;\n  lo16_reloc = r_types[0];\n  while( true )" ( (ERROR "Mips_symbol<64> *)&symval;\n  uVar65 = r_types[0];\n  local_d8 = pMVar28;\n  lo16_reloc = r_types[0];\n  while(" (binary_expression "Mips_symbol<64> *)&symval" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*)&symval" * (ERROR ")" )) (pointer_expression "&symval" & identifier))) ; (assignment_expression "uVar65 = r_types[0]" identifier = (subscript_expression "r_types[0]" identifier [ number_literal ])) ; (assignment_expression "local_d8 = pMVar28" identifier = identifier) ; (assignment_expression "lo16_reloc = r_types[0]" identifier = (subscript_expression "r_types[0]" identifier [ number_literal ])) ; while () true )))) { (expression_statement "local_98 = (Mips_relobj<32,_false> *)(ulong)" (assignment_expression "local_98 = (Mips_relobj<32,_false> *)(ulong)" identifier = (call_expression "(Mips_relobj<32,_false> *)(ulong)" (parenthesized_expression "(Mips_relobj<32,_false> *)" ( (comma_expression "Mips_relobj<32,_false> *" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(ulong)" ( identifier )))) ;) (expression_statement "lo16_reloc;" identifier ;) (expression_statement "local_c8 = (Mips_relobj<32,_false> *)&symval;" (assignment_expression "local_c8 = (Mips_relobj<32,_false> *)&symval" identifier = (binary_expression "(Mips_relobj<32,_false> *)&symval" (parenthesized_expression "(Mips_relobj<32,_false> *)" ( (comma_expression "Mips_relobj<32,_false> *" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) & identifier)) ;) (if_statement "if (lo16_reloc == _S_red) break;" if (parenthesized_expression "(lo16_reloc == _S_red)" ( (binary_expression "lo16_reloc == _S_red" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "target_00 = (Target_mips<32,_false> *)(ulong)local_c0;" (assignment_expression "target_00 = (Target_mips<32,_false> *)(ulong)" identifier = (call_expression "(Target_mips<32,_false> *)(ulong)" (parenthesized_expression "(Target_mips<32,_false> *)" ( (comma_expression "Target_mips<32,_false> *" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(ulong)" ( identifier )))) (ERROR "local_c0" identifier) ;) (expression_statement "uVar39 = CONCAT31((int3)(uVar7 >> 8),local_bc == uVar7) &\n             (uint)CONCAT71((int7)((ulong)pMVar28 >> 8),local_c0 != 0);" (assignment_expression "uVar39 = CONCAT31((int3)(uVar7 >> 8),local_bc == uVar7) &\n             (uint)CONCAT71((int7)((ulong)pMVar28 >> 8),local_c0 != 0)" identifier = (binary_expression "CONCAT31((int3)(uVar7 >> 8),local_bc == uVar7) &\n             (uint)CONCAT71((int7)((ulong)pMVar28 >> 8),local_c0 != 0)" (call_expression "CONCAT31((int3)(uVar7 >> 8),local_bc == uVar7)" identifier (argument_list "((int3)(uVar7 >> 8),local_bc == uVar7)" ( (call_expression "(int3)(uVar7 >> 8)" (parenthesized_expression "(int3)" ( identifier )) (argument_list "(uVar7 >> 8)" ( (binary_expression "uVar7 >> 8" identifier >> number_literal) ))) , (binary_expression "local_bc == uVar7" identifier == identifier) ))) & (cast_expression "(uint)CONCAT71((int7)((ulong)pMVar28 >> 8),local_c0 != 0)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CONCAT71((int7)((ulong)pMVar28 >> 8),local_c0 != 0)" identifier (argument_list "((int7)((ulong)pMVar28 >> 8),local_c0 != 0)" ( (call_expression "(int7)((ulong)pMVar28 >> 8)" (parenthesized_expression "(int7)" ( identifier )) (argument_list "((ulong)pMVar28 >> 8)" ( (binary_expression "(ulong)pMVar28 >> 8" (cast_expression "(ulong)pMVar28" ( (type_descriptor "ulong" type_identifier) ) identifier) >> number_literal) ))) , (binary_expression "local_c0 != 0" identifier != number_literal) )))))) ;) (expression_statement "calculate_only = (byte)uVar39;" (assignment_expression "calculate_only = (byte)uVar39" identifier = (cast_expression "(byte)uVar39" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar17 = (undefined3)(uVar39 >> 8);" (assignment_expression "uVar17 = (undefined3)(uVar39 >> 8)" identifier = (call_expression "(undefined3)(uVar39 >> 8)" (parenthesized_expression "(undefined3)" ( identifier )) (argument_list "(uVar39 >> 8)" ( (binary_expression "uVar39 >> 8" identifier >> number_literal) )))) ;) (expression_statement "pMVar53 = (Mips_output_data_got<32,_false> *)this;" (assignment_expression "pMVar53 = (Mips_output_data_got<32,_false> *)this" identifier = (parenthesized_expression "(Mips_output_data_got<32,_false> *)this" ( (comma_expression "Mips_output_data_got<32,_false> *)this" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (binary_expression "_false> *)this" identifier > (pointer_expression "*)this" * (ERROR ")" )) identifier))) ))) ;) (expression_statement "pRVar52 = this;" (assignment_expression "pRVar52 = this" identifier = identifier) ;) (expression_statement "pp_Var56 = (_List_node_base **)local_98;" (assignment_expression "pp_Var56 = (_List_node_base **)local_98" identifier = (cast_expression "(_List_node_base **)local_98" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "pMVar60 = (Mips_relobj<32,_false> *)psymval;" (assignment_expression "pMVar60 = (Mips_relobj<32,_false> *)psymval" identifier = (parenthesized_expression "(Mips_relobj<32,_false> *)psymval" ( (comma_expression "Mips_relobj<32,_false> *)psymval" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)psymval" identifier > (pointer_expression "*)psymval" * (ERROR ")" )) identifier))) ))) ;) (if_statement "if (this->calculate_only_ == false) {\n      this->calculate_only_ = (bool)calculate_only;\n      puVar44 = (uint *)pp_Var43;\n      switch(local_98) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case (Mips_relobj<32,_false> *)0x1:\n        uVar38 = *(ushort *)view;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          pp_Var43 = (_List_node_base **)(ulong)(uVar38 - 0x10000);\n          local_b0 = (uint)uVar38;\n          if ((short)uVar38 < 0) {\n            local_b0 = uVar38 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case (Mips_relobj<32,_false> *)0x2:\n        goto switchD_002c18c9_caseD_2;\n      case (Mips_relobj<32,_false> *)0x3:\n        goto switchD_002c14fa_caseD_3;\n      case (Mips_relobj<32,_false> *)0x4:\n      case (Mips_relobj<32,_false> *)0x64:\n      case (Mips_relobj<32,_false> *)0x85:\n        bVar21 = (calculate_only ^ 1) & local_cf;\n        pp_Var43 = (_List_node_base **)(ulong)CONCAT31(uVar17,bVar21);\n        local_b0 = local_cc;\n        uVar39 = *(uint *)view;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if ((char)pp_Var43 == '\0') {\nLAB_002c38db:\n            uVar22 = SUB81(target_00,0);\n            bVar67 = gsym == (Sized_symbol<32> *)0x0;\n            if ((local_cf == 1) || (lo16_reloc != 0x85)) goto LAB_002c34d9;\n            if (bVar67) {\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;\n              uVar40 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;\n            uVar40 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar40 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          pp_Var56 = (_List_node_base **)this_00;\n          VVar23 = gold::Symbol_value<32>::value<false>\n                             (psymval,(Sized_relobj_file<32,_false> *)this_00,0);\n          if ((VVar23 & 3) == (uint)(lo16_reloc == 4)) goto LAB_002c38db;\n          pcVar61 = (char *)gettext("JALX to a non-word-aligned address");\n          gold::gold_warning(pcVar61);\nLAB_002c413e:\n          SVar26 = STATUS_BAD_RELOC;\n        }\n        else {\n          if (lo16_reloc == 0x85) {\n            local_b0 = uVar39 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar39 & 0x3ffffff) << 2;\n          if (bVar21 != 0) {\n            local_b8 = (_Bit_type *)(ulong)bVar21;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          uVar22 = SUB81(target_00,0);\n          bVar67 = gsym == (Sized_symbol<32> *)0x0;\n          if (bVar67) {\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;\n            uVar40 = 0xf0000000;\nLAB_002c34f1:\n            bVar67 = true;\n            uVar40 = address + 4 & uVar40 | local_b0;\n          }\n          else {\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;\n            uVar40 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar40 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          pp_Var56 = (_List_node_base **)this_00;\n          VVar23 = gold::Symbol_value<32>::value<false>\n                             (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar40);\n          uVar40 = VVar23 >> (sbyte)in_stack_fffffffffffffee8;\n          pSVar48 = extraout_RDX;\n          if ((((bool)calculate_only == false) && (!bVar67)) &&\n             (pMVar60 = (Mips_relobj<32,_false> *)gsym,\n             bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol),\n             pSVar48 = extraout_RDX_00, !bVar67)) {\n            uVar41 = (int)in_stack_fffffffffffffee8 + 0x1a;\n            pp_Var43 = (_List_node_base **)(ulong)uVar41;\n            uVar45 = uVar40 >> 0x1a;\n            pSVar48 = (Symbol_value<32> *)(ulong)uVar45;\n            if (uVar45 != address + 4 >> ((byte)uVar41 & 0x1f)) goto LAB_002c3567;\n          }\n          uVar40 = uVar39 ^ (uVar40 ^ uVar39) & 0x3ffffff;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (local_cf != 0) {\n            uVar39 = uVar39 >> 0x1a;\n            uVar50 = (undefined7)((ulong)pSVar48 >> 8);\n            if (lo16_reloc == 100) {\n              iVar25 = 7;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 6 < 2);\n            }\n            else if (lo16_reloc == 0x85) {\n              iVar25 = 0x3c;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 0x3c < 2);\n            }\n            else {\n              pSVar48 = (Symbol_value<32> *)\n                        (ulong)((uint)CONCAT71(uVar50,uVar39 == 3) | (uint)(uVar39 == 0x1d));\n              iVar25 = 0x1d;\n            }\n            if (((bool)calculate_only == false) && ((char)pSVar48 == '\0')) {\n              pcVar61 = (char *)gettext(\n                                       "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                                       );\n              gold::gold_error(pcVar61);\n              goto LAB_002c413e;\n            }\n            pp_Var43 = (_List_node_base **)(ulong)(uVar40 & 0x3ffffff | iVar25 << 0x1a);\n          }\n          if (gold::parameters->options_ == (General_options *)0x0) {\nLAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            Mips_relocate_functions<32,_false>::rel26\n                      ((uchar *)pMVar60,(Mips_relobj<32,_false> *)pp_Var56,pSVar48,\n                       (Mips_address)pp_Var43,(bool)uVar22,(Mips_address)puVar63,\n                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8));\n          }\n          if ((bool)calculate_only == false) {\n            SVar26 = STATUS_OKAY;\n            *(Valtype *)view = (Valtype)pp_Var43;\n          }\n          else {\n            SVar26 = STATUS_OKAY;\n            this->calculated_value_ = (Valtype)pp_Var43;\n          }\n        }\n        goto LAB_002c1e60;\n      case (Mips_relobj<32,_false> *)0x5:\n      case (Mips_relobj<32,_false> *)0x68:\n      case (Mips_relobj<32,_false> *)0x86:\n        goto switchD_002c18c9_caseD_5;\n      case (Mips_relobj<32,_false> *)0x6:\n      case (Mips_relobj<32,_false> *)0x69:\n      case (Mips_relobj<32,_false> *)0x87:\n      case (Mips_relobj<32,_false> *)0x9d:\n        local_b0 = local_cc;\n        in_stack_fffffffffffffef8 = *(uint *)view;\n        if ((char)local_b8 != '\0') {\n          uVar40 = in_stack_fffffffffffffef8 & 0xffff;\n          pp_Var56 = (_List_node_base **)(ulong)uVar40;\n          local_b0 = uVar40 - 0x10000;\n          if ((in_stack_fffffffffffffef8 & 0x8000) == 0) {\n            local_b0 = uVar40;\n          }\n        }\n        goto LAB_002c3615;\n      case (Mips_relobj<32,_false> *)0x7:\n      case (Mips_relobj<32,_false> *)0x8:\n      case (Mips_relobj<32,_false> *)0x65:\n      case (Mips_relobj<32,_false> *)0x88:\n      case (Mips_relobj<32,_false> *)0x89:\n      case (Mips_relobj<32,_false> *)0xac:\n        local_b0 = local_cc;\n        pSVar33 = target->gp_;\n        if (pSVar33 != (Sized_symbol<32> *)0x0) goto LAB_002c370d;\n        VVar57 = 0;\nLAB_002c3751:\n        uVar40 = *(uint *)view;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (lo16_reloc == 0xac) {\n            local_b0 = uVar40 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar40 & 0xffff) - 0x10000;\n            if ((uVar40 & 0x8000) == 0) {\n              local_b0 = uVar40 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case (Mips_relobj<32,_false> *)0x9:\n      case (Mips_relobj<32,_false> *)0x66:\n      case (Mips_relobj<32,_false> *)0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case (Mips_relobj<32,_false> *)0xa:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case (Mips_relobj<32,_false> *)0xb:\n      case (Mips_relobj<32,_false> *)0x67:\n      case (Mips_relobj<32,_false> *)0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case (Mips_relobj<32,_false> *)0xc:\n        goto switchD_002c18c9_caseD_c;\n      case (Mips_relobj<32,_false> *)0x12:\n        goto switchD_002c18c9_caseD_12;\n      case (Mips_relobj<32,_false> *)0x13:\n      case (Mips_relobj<32,_false> *)0x91:\n      case (Mips_relobj<32,_false> *)0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case (Mips_relobj<32,_false> *)0x14:\n      case (Mips_relobj<32,_false> *)0x92:\n        goto switchD_002c18c9_caseD_14;\n      case (Mips_relobj<32,_false> *)0x15:\n      case (Mips_relobj<32,_false> *)0x93:\n        goto switchD_002c18c9_caseD_15;\n      case (Mips_relobj<32,_false> *)0x16:\n      case (Mips_relobj<32,_false> *)0x1e:\n      case (Mips_relobj<32,_false> *)0x94:\n      case (Mips_relobj<32,_false> *)0x99:\n        goto switchD_002c18c9_caseD_16;\n      case (Mips_relobj<32,_false> *)0x17:\n      case (Mips_relobj<32,_false> *)0x1f:\n      case (Mips_relobj<32,_false> *)0x95:\n      case (Mips_relobj<32,_false> *)0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case (Mips_relobj<32,_false> *)0x18:\n      case (Mips_relobj<32,_false> *)0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = *(Value *)view;\n        }\n        goto LAB_002c2efa;\n      case (Mips_relobj<32,_false> *)0x1c:\n      case (Mips_relobj<32,_false> *)0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case (Mips_relobj<32,_false> *)0x1d:\n      case (Mips_relobj<32,_false> *)0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case (Mips_relobj<32,_false> *)0x25:\n      case (Mips_relobj<32,_false> *)0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case (Mips_relobj<32,_false> *)0x27:\n      case (Mips_relobj<32,_false> *)0x29:\n        goto switchD_002c18c9_caseD_27;\n      case (Mips_relobj<32,_false> *)0x2a:\n      case (Mips_relobj<32,_false> *)0x6a:\n      case (Mips_relobj<32,_false> *)0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case (Mips_relobj<32,_false> *)0x2b:\n      case (Mips_relobj<32,_false> *)0x6b:\n      case (Mips_relobj<32,_false> *)0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case (Mips_relobj<32,_false> *)0x2c:\n      case (Mips_relobj<32,_false> *)0x6c:\n      case (Mips_relobj<32,_false> *)0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case (Mips_relobj<32,_false> *)0x2d:\n      case (Mips_relobj<32,_false> *)0x6d:\n      case (Mips_relobj<32,_false> *)0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case (Mips_relobj<32,_false> *)0x2e:\n      case (Mips_relobj<32,_false> *)0x6e:\n      case (Mips_relobj<32,_false> *)0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case (Mips_relobj<32,_false> *)0x2f:\n      case (Mips_relobj<32,_false> *)0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case (Mips_relobj<32,_false> *)0x31:\n      case (Mips_relobj<32,_false> *)0x6f:\n      case (Mips_relobj<32,_false> *)0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case (Mips_relobj<32,_false> *)0x32:\n      case (Mips_relobj<32,_false> *)0x70:\n      case (Mips_relobj<32,_false> *)0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case (Mips_relobj<32,_false> *)0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case (Mips_relobj<32,_false> *)0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case (Mips_relobj<32,_false> *)0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case (Mips_relobj<32,_false> *)0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case (Mips_relobj<32,_false> *)0x40:\n        goto switchD_002c18c9_caseD_40;\n      case (Mips_relobj<32,_false> *)0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case (Mips_relobj<32,_false> *)0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case (Mips_relobj<32,_false> *)0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case (Mips_relobj<32,_false> *)0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case (Mips_relobj<32,_false> *)0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = *(Value *)view;\n        }\n        goto LAB_002c3260;\n      }\n    }" if (parenthesized_expression "(this->calculate_only_ == false)" ( (binary_expression "this->calculate_only_ == false" (field_expression "this->calculate_only_" identifier -> field_identifier) == false) )) (compound_statement "{\n      this->calculate_only_ = (bool)calculate_only;\n      puVar44 = (uint *)pp_Var43;\n      switch(local_98) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case (Mips_relobj<32,_false> *)0x1:\n        uVar38 = *(ushort *)view;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          pp_Var43 = (_List_node_base **)(ulong)(uVar38 - 0x10000);\n          local_b0 = (uint)uVar38;\n          if ((short)uVar38 < 0) {\n            local_b0 = uVar38 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case (Mips_relobj<32,_false> *)0x2:\n        goto switchD_002c18c9_caseD_2;\n      case (Mips_relobj<32,_false> *)0x3:\n        goto switchD_002c14fa_caseD_3;\n      case (Mips_relobj<32,_false> *)0x4:\n      case (Mips_relobj<32,_false> *)0x64:\n      case (Mips_relobj<32,_false> *)0x85:\n        bVar21 = (calculate_only ^ 1) & local_cf;\n        pp_Var43 = (_List_node_base **)(ulong)CONCAT31(uVar17,bVar21);\n        local_b0 = local_cc;\n        uVar39 = *(uint *)view;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if ((char)pp_Var43 == '\0') {\nLAB_002c38db:\n            uVar22 = SUB81(target_00,0);\n            bVar67 = gsym == (Sized_symbol<32> *)0x0;\n            if ((local_cf == 1) || (lo16_reloc != 0x85)) goto LAB_002c34d9;\n            if (bVar67) {\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;\n              uVar40 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;\n            uVar40 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar40 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          pp_Var56 = (_List_node_base **)this_00;\n          VVar23 = gold::Symbol_value<32>::value<false>\n                             (psymval,(Sized_relobj_file<32,_false> *)this_00,0);\n          if ((VVar23 & 3) == (uint)(lo16_reloc == 4)) goto LAB_002c38db;\n          pcVar61 = (char *)gettext("JALX to a non-word-aligned address");\n          gold::gold_warning(pcVar61);\nLAB_002c413e:\n          SVar26 = STATUS_BAD_RELOC;\n        }\n        else {\n          if (lo16_reloc == 0x85) {\n            local_b0 = uVar39 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar39 & 0x3ffffff) << 2;\n          if (bVar21 != 0) {\n            local_b8 = (_Bit_type *)(ulong)bVar21;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          uVar22 = SUB81(target_00,0);\n          bVar67 = gsym == (Sized_symbol<32> *)0x0;\n          if (bVar67) {\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;\n            uVar40 = 0xf0000000;\nLAB_002c34f1:\n            bVar67 = true;\n            uVar40 = address + 4 & uVar40 | local_b0;\n          }\n          else {\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;\n            uVar40 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar40 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          pp_Var56 = (_List_node_base **)this_00;\n          VVar23 = gold::Symbol_value<32>::value<false>\n                             (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar40);\n          uVar40 = VVar23 >> (sbyte)in_stack_fffffffffffffee8;\n          pSVar48 = extraout_RDX;\n          if ((((bool)calculate_only == false) && (!bVar67)) &&\n             (pMVar60 = (Mips_relobj<32,_false> *)gsym,\n             bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol),\n             pSVar48 = extraout_RDX_00, !bVar67)) {\n            uVar41 = (int)in_stack_fffffffffffffee8 + 0x1a;\n            pp_Var43 = (_List_node_base **)(ulong)uVar41;\n            uVar45 = uVar40 >> 0x1a;\n            pSVar48 = (Symbol_value<32> *)(ulong)uVar45;\n            if (uVar45 != address + 4 >> ((byte)uVar41 & 0x1f)) goto LAB_002c3567;\n          }\n          uVar40 = uVar39 ^ (uVar40 ^ uVar39) & 0x3ffffff;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (local_cf != 0) {\n            uVar39 = uVar39 >> 0x1a;\n            uVar50 = (undefined7)((ulong)pSVar48 >> 8);\n            if (lo16_reloc == 100) {\n              iVar25 = 7;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 6 < 2);\n            }\n            else if (lo16_reloc == 0x85) {\n              iVar25 = 0x3c;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 0x3c < 2);\n            }\n            else {\n              pSVar48 = (Symbol_value<32> *)\n                        (ulong)((uint)CONCAT71(uVar50,uVar39 == 3) | (uint)(uVar39 == 0x1d));\n              iVar25 = 0x1d;\n            }\n            if (((bool)calculate_only == false) && ((char)pSVar48 == '\0')) {\n              pcVar61 = (char *)gettext(\n                                       "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                                       );\n              gold::gold_error(pcVar61);\n              goto LAB_002c413e;\n            }\n            pp_Var43 = (_List_node_base **)(ulong)(uVar40 & 0x3ffffff | iVar25 << 0x1a);\n          }\n          if (gold::parameters->options_ == (General_options *)0x0) {\nLAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            Mips_relocate_functions<32,_false>::rel26\n                      ((uchar *)pMVar60,(Mips_relobj<32,_false> *)pp_Var56,pSVar48,\n                       (Mips_address)pp_Var43,(bool)uVar22,(Mips_address)puVar63,\n                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8));\n          }\n          if ((bool)calculate_only == false) {\n            SVar26 = STATUS_OKAY;\n            *(Valtype *)view = (Valtype)pp_Var43;\n          }\n          else {\n            SVar26 = STATUS_OKAY;\n            this->calculated_value_ = (Valtype)pp_Var43;\n          }\n        }\n        goto LAB_002c1e60;\n      case (Mips_relobj<32,_false> *)0x5:\n      case (Mips_relobj<32,_false> *)0x68:\n      case (Mips_relobj<32,_false> *)0x86:\n        goto switchD_002c18c9_caseD_5;\n      case (Mips_relobj<32,_false> *)0x6:\n      case (Mips_relobj<32,_false> *)0x69:\n      case (Mips_relobj<32,_false> *)0x87:\n      case (Mips_relobj<32,_false> *)0x9d:\n        local_b0 = local_cc;\n        in_stack_fffffffffffffef8 = *(uint *)view;\n        if ((char)local_b8 != '\0') {\n          uVar40 = in_stack_fffffffffffffef8 & 0xffff;\n          pp_Var56 = (_List_node_base **)(ulong)uVar40;\n          local_b0 = uVar40 - 0x10000;\n          if ((in_stack_fffffffffffffef8 & 0x8000) == 0) {\n            local_b0 = uVar40;\n          }\n        }\n        goto LAB_002c3615;\n      case (Mips_relobj<32,_false> *)0x7:\n      case (Mips_relobj<32,_false> *)0x8:\n      case (Mips_relobj<32,_false> *)0x65:\n      case (Mips_relobj<32,_false> *)0x88:\n      case (Mips_relobj<32,_false> *)0x89:\n      case (Mips_relobj<32,_false> *)0xac:\n        local_b0 = local_cc;\n        pSVar33 = target->gp_;\n        if (pSVar33 != (Sized_symbol<32> *)0x0) goto LAB_002c370d;\n        VVar57 = 0;\nLAB_002c3751:\n        uVar40 = *(uint *)view;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (lo16_reloc == 0xac) {\n            local_b0 = uVar40 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar40 & 0xffff) - 0x10000;\n            if ((uVar40 & 0x8000) == 0) {\n              local_b0 = uVar40 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case (Mips_relobj<32,_false> *)0x9:\n      case (Mips_relobj<32,_false> *)0x66:\n      case (Mips_relobj<32,_false> *)0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case (Mips_relobj<32,_false> *)0xa:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case (Mips_relobj<32,_false> *)0xb:\n      case (Mips_relobj<32,_false> *)0x67:\n      case (Mips_relobj<32,_false> *)0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case (Mips_relobj<32,_false> *)0xc:\n        goto switchD_002c18c9_caseD_c;\n      case (Mips_relobj<32,_false> *)0x12:\n        goto switchD_002c18c9_caseD_12;\n      case (Mips_relobj<32,_false> *)0x13:\n      case (Mips_relobj<32,_false> *)0x91:\n      case (Mips_relobj<32,_false> *)0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case (Mips_relobj<32,_false> *)0x14:\n      case (Mips_relobj<32,_false> *)0x92:\n        goto switchD_002c18c9_caseD_14;\n      case (Mips_relobj<32,_false> *)0x15:\n      case (Mips_relobj<32,_false> *)0x93:\n        goto switchD_002c18c9_caseD_15;\n      case (Mips_relobj<32,_false> *)0x16:\n      case (Mips_relobj<32,_false> *)0x1e:\n      case (Mips_relobj<32,_false> *)0x94:\n      case (Mips_relobj<32,_false> *)0x99:\n        goto switchD_002c18c9_caseD_16;\n      case (Mips_relobj<32,_false> *)0x17:\n      case (Mips_relobj<32,_false> *)0x1f:\n      case (Mips_relobj<32,_false> *)0x95:\n      case (Mips_relobj<32,_false> *)0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case (Mips_relobj<32,_false> *)0x18:\n      case (Mips_relobj<32,_false> *)0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = *(Value *)view;\n        }\n        goto LAB_002c2efa;\n      case (Mips_relobj<32,_false> *)0x1c:\n      case (Mips_relobj<32,_false> *)0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case (Mips_relobj<32,_false> *)0x1d:\n      case (Mips_relobj<32,_false> *)0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case (Mips_relobj<32,_false> *)0x25:\n      case (Mips_relobj<32,_false> *)0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case (Mips_relobj<32,_false> *)0x27:\n      case (Mips_relobj<32,_false> *)0x29:\n        goto switchD_002c18c9_caseD_27;\n      case (Mips_relobj<32,_false> *)0x2a:\n      case (Mips_relobj<32,_false> *)0x6a:\n      case (Mips_relobj<32,_false> *)0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case (Mips_relobj<32,_false> *)0x2b:\n      case (Mips_relobj<32,_false> *)0x6b:\n      case (Mips_relobj<32,_false> *)0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case (Mips_relobj<32,_false> *)0x2c:\n      case (Mips_relobj<32,_false> *)0x6c:\n      case (Mips_relobj<32,_false> *)0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case (Mips_relobj<32,_false> *)0x2d:\n      case (Mips_relobj<32,_false> *)0x6d:\n      case (Mips_relobj<32,_false> *)0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case (Mips_relobj<32,_false> *)0x2e:\n      case (Mips_relobj<32,_false> *)0x6e:\n      case (Mips_relobj<32,_false> *)0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case (Mips_relobj<32,_false> *)0x2f:\n      case (Mips_relobj<32,_false> *)0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case (Mips_relobj<32,_false> *)0x31:\n      case (Mips_relobj<32,_false> *)0x6f:\n      case (Mips_relobj<32,_false> *)0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case (Mips_relobj<32,_false> *)0x32:\n      case (Mips_relobj<32,_false> *)0x70:\n      case (Mips_relobj<32,_false> *)0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case (Mips_relobj<32,_false> *)0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case (Mips_relobj<32,_false> *)0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case (Mips_relobj<32,_false> *)0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case (Mips_relobj<32,_false> *)0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case (Mips_relobj<32,_false> *)0x40:\n        goto switchD_002c18c9_caseD_40;\n      case (Mips_relobj<32,_false> *)0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case (Mips_relobj<32,_false> *)0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case (Mips_relobj<32,_false> *)0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case (Mips_relobj<32,_false> *)0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case (Mips_relobj<32,_false> *)0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = *(Value *)view;\n        }\n        goto LAB_002c3260;\n      }\n    }" { (expression_statement "this->calculate_only_ = (bool)calculate_only;" (assignment_expression "this->calculate_only_ = (bool)calculate_only" (field_expression "this->calculate_only_" identifier -> field_identifier) = (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier)) ;) (expression_statement "puVar44 = (uint *)pp_Var43;" (assignment_expression "puVar44 = (uint *)pp_Var43" identifier = (cast_expression "(uint *)pp_Var43" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (switch_statement "switch(local_98) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case (Mips_relobj<32,_false> *)0x1:\n        uVar38 = *(ushort *)view;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          pp_Var43 = (_List_node_base **)(ulong)(uVar38 - 0x10000);\n          local_b0 = (uint)uVar38;\n          if ((short)uVar38 < 0) {\n            local_b0 = uVar38 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case (Mips_relobj<32,_false> *)0x2:\n        goto switchD_002c18c9_caseD_2;\n      case (Mips_relobj<32,_false> *)0x3:\n        goto switchD_002c14fa_caseD_3;\n      case (Mips_relobj<32,_false> *)0x4:\n      case (Mips_relobj<32,_false> *)0x64:\n      case (Mips_relobj<32,_false> *)0x85:\n        bVar21 = (calculate_only ^ 1) & local_cf;\n        pp_Var43 = (_List_node_base **)(ulong)CONCAT31(uVar17,bVar21);\n        local_b0 = local_cc;\n        uVar39 = *(uint *)view;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if ((char)pp_Var43 == '\0') {\nLAB_002c38db:\n            uVar22 = SUB81(target_00,0);\n            bVar67 = gsym == (Sized_symbol<32> *)0x0;\n            if ((local_cf == 1) || (lo16_reloc != 0x85)) goto LAB_002c34d9;\n            if (bVar67) {\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;\n              uVar40 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;\n            uVar40 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar40 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          pp_Var56 = (_List_node_base **)this_00;\n          VVar23 = gold::Symbol_value<32>::value<false>\n                             (psymval,(Sized_relobj_file<32,_false> *)this_00,0);\n          if ((VVar23 & 3) == (uint)(lo16_reloc == 4)) goto LAB_002c38db;\n          pcVar61 = (char *)gettext("JALX to a non-word-aligned address");\n          gold::gold_warning(pcVar61);\nLAB_002c413e:\n          SVar26 = STATUS_BAD_RELOC;\n        }\n        else {\n          if (lo16_reloc == 0x85) {\n            local_b0 = uVar39 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar39 & 0x3ffffff) << 2;\n          if (bVar21 != 0) {\n            local_b8 = (_Bit_type *)(ulong)bVar21;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          uVar22 = SUB81(target_00,0);\n          bVar67 = gsym == (Sized_symbol<32> *)0x0;\n          if (bVar67) {\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;\n            uVar40 = 0xf0000000;\nLAB_002c34f1:\n            bVar67 = true;\n            uVar40 = address + 4 & uVar40 | local_b0;\n          }\n          else {\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;\n            uVar40 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar40 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          pp_Var56 = (_List_node_base **)this_00;\n          VVar23 = gold::Symbol_value<32>::value<false>\n                             (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar40);\n          uVar40 = VVar23 >> (sbyte)in_stack_fffffffffffffee8;\n          pSVar48 = extraout_RDX;\n          if ((((bool)calculate_only == false) && (!bVar67)) &&\n             (pMVar60 = (Mips_relobj<32,_false> *)gsym,\n             bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol),\n             pSVar48 = extraout_RDX_00, !bVar67)) {\n            uVar41 = (int)in_stack_fffffffffffffee8 + 0x1a;\n            pp_Var43 = (_List_node_base **)(ulong)uVar41;\n            uVar45 = uVar40 >> 0x1a;\n            pSVar48 = (Symbol_value<32> *)(ulong)uVar45;\n            if (uVar45 != address + 4 >> ((byte)uVar41 & 0x1f)) goto LAB_002c3567;\n          }\n          uVar40 = uVar39 ^ (uVar40 ^ uVar39) & 0x3ffffff;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (local_cf != 0) {\n            uVar39 = uVar39 >> 0x1a;\n            uVar50 = (undefined7)((ulong)pSVar48 >> 8);\n            if (lo16_reloc == 100) {\n              iVar25 = 7;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 6 < 2);\n            }\n            else if (lo16_reloc == 0x85) {\n              iVar25 = 0x3c;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 0x3c < 2);\n            }\n            else {\n              pSVar48 = (Symbol_value<32> *)\n                        (ulong)((uint)CONCAT71(uVar50,uVar39 == 3) | (uint)(uVar39 == 0x1d));\n              iVar25 = 0x1d;\n            }\n            if (((bool)calculate_only == false) && ((char)pSVar48 == '\0')) {\n              pcVar61 = (char *)gettext(\n                                       "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                                       );\n              gold::gold_error(pcVar61);\n              goto LAB_002c413e;\n            }\n            pp_Var43 = (_List_node_base **)(ulong)(uVar40 & 0x3ffffff | iVar25 << 0x1a);\n          }\n          if (gold::parameters->options_ == (General_options *)0x0) {\nLAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            Mips_relocate_functions<32,_false>::rel26\n                      ((uchar *)pMVar60,(Mips_relobj<32,_false> *)pp_Var56,pSVar48,\n                       (Mips_address)pp_Var43,(bool)uVar22,(Mips_address)puVar63,\n                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8));\n          }\n          if ((bool)calculate_only == false) {\n            SVar26 = STATUS_OKAY;\n            *(Valtype *)view = (Valtype)pp_Var43;\n          }\n          else {\n            SVar26 = STATUS_OKAY;\n            this->calculated_value_ = (Valtype)pp_Var43;\n          }\n        }\n        goto LAB_002c1e60;\n      case (Mips_relobj<32,_false> *)0x5:\n      case (Mips_relobj<32,_false> *)0x68:\n      case (Mips_relobj<32,_false> *)0x86:\n        goto switchD_002c18c9_caseD_5;\n      case (Mips_relobj<32,_false> *)0x6:\n      case (Mips_relobj<32,_false> *)0x69:\n      case (Mips_relobj<32,_false> *)0x87:\n      case (Mips_relobj<32,_false> *)0x9d:\n        local_b0 = local_cc;\n        in_stack_fffffffffffffef8 = *(uint *)view;\n        if ((char)local_b8 != '\0') {\n          uVar40 = in_stack_fffffffffffffef8 & 0xffff;\n          pp_Var56 = (_List_node_base **)(ulong)uVar40;\n          local_b0 = uVar40 - 0x10000;\n          if ((in_stack_fffffffffffffef8 & 0x8000) == 0) {\n            local_b0 = uVar40;\n          }\n        }\n        goto LAB_002c3615;\n      case (Mips_relobj<32,_false> *)0x7:\n      case (Mips_relobj<32,_false> *)0x8:\n      case (Mips_relobj<32,_false> *)0x65:\n      case (Mips_relobj<32,_false> *)0x88:\n      case (Mips_relobj<32,_false> *)0x89:\n      case (Mips_relobj<32,_false> *)0xac:\n        local_b0 = local_cc;\n        pSVar33 = target->gp_;\n        if (pSVar33 != (Sized_symbol<32> *)0x0) goto LAB_002c370d;\n        VVar57 = 0;\nLAB_002c3751:\n        uVar40 = *(uint *)view;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (lo16_reloc == 0xac) {\n            local_b0 = uVar40 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar40 & 0xffff) - 0x10000;\n            if ((uVar40 & 0x8000) == 0) {\n              local_b0 = uVar40 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case (Mips_relobj<32,_false> *)0x9:\n      case (Mips_relobj<32,_false> *)0x66:\n      case (Mips_relobj<32,_false> *)0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case (Mips_relobj<32,_false> *)0xa:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case (Mips_relobj<32,_false> *)0xb:\n      case (Mips_relobj<32,_false> *)0x67:\n      case (Mips_relobj<32,_false> *)0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case (Mips_relobj<32,_false> *)0xc:\n        goto switchD_002c18c9_caseD_c;\n      case (Mips_relobj<32,_false> *)0x12:\n        goto switchD_002c18c9_caseD_12;\n      case (Mips_relobj<32,_false> *)0x13:\n      case (Mips_relobj<32,_false> *)0x91:\n      case (Mips_relobj<32,_false> *)0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case (Mips_relobj<32,_false> *)0x14:\n      case (Mips_relobj<32,_false> *)0x92:\n        goto switchD_002c18c9_caseD_14;\n      case (Mips_relobj<32,_false> *)0x15:\n      case (Mips_relobj<32,_false> *)0x93:\n        goto switchD_002c18c9_caseD_15;\n      case (Mips_relobj<32,_false> *)0x16:\n      case (Mips_relobj<32,_false> *)0x1e:\n      case (Mips_relobj<32,_false> *)0x94:\n      case (Mips_relobj<32,_false> *)0x99:\n        goto switchD_002c18c9_caseD_16;\n      case (Mips_relobj<32,_false> *)0x17:\n      case (Mips_relobj<32,_false> *)0x1f:\n      case (Mips_relobj<32,_false> *)0x95:\n      case (Mips_relobj<32,_false> *)0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case (Mips_relobj<32,_false> *)0x18:\n      case (Mips_relobj<32,_false> *)0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = *(Value *)view;\n        }\n        goto LAB_002c2efa;\n      case (Mips_relobj<32,_false> *)0x1c:\n      case (Mips_relobj<32,_false> *)0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case (Mips_relobj<32,_false> *)0x1d:\n      case (Mips_relobj<32,_false> *)0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case (Mips_relobj<32,_false> *)0x25:\n      case (Mips_relobj<32,_false> *)0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case (Mips_relobj<32,_false> *)0x27:\n      case (Mips_relobj<32,_false> *)0x29:\n        goto switchD_002c18c9_caseD_27;\n      case (Mips_relobj<32,_false> *)0x2a:\n      case (Mips_relobj<32,_false> *)0x6a:\n      case (Mips_relobj<32,_false> *)0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case (Mips_relobj<32,_false> *)0x2b:\n      case (Mips_relobj<32,_false> *)0x6b:\n      case (Mips_relobj<32,_false> *)0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case (Mips_relobj<32,_false> *)0x2c:\n      case (Mips_relobj<32,_false> *)0x6c:\n      case (Mips_relobj<32,_false> *)0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case (Mips_relobj<32,_false> *)0x2d:\n      case (Mips_relobj<32,_false> *)0x6d:\n      case (Mips_relobj<32,_false> *)0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case (Mips_relobj<32,_false> *)0x2e:\n      case (Mips_relobj<32,_false> *)0x6e:\n      case (Mips_relobj<32,_false> *)0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case (Mips_relobj<32,_false> *)0x2f:\n      case (Mips_relobj<32,_false> *)0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case (Mips_relobj<32,_false> *)0x31:\n      case (Mips_relobj<32,_false> *)0x6f:\n      case (Mips_relobj<32,_false> *)0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case (Mips_relobj<32,_false> *)0x32:\n      case (Mips_relobj<32,_false> *)0x70:\n      case (Mips_relobj<32,_false> *)0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case (Mips_relobj<32,_false> *)0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case (Mips_relobj<32,_false> *)0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case (Mips_relobj<32,_false> *)0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case (Mips_relobj<32,_false> *)0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case (Mips_relobj<32,_false> *)0x40:\n        goto switchD_002c18c9_caseD_40;\n      case (Mips_relobj<32,_false> *)0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case (Mips_relobj<32,_false> *)0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case (Mips_relobj<32,_false> *)0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case (Mips_relobj<32,_false> *)0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case (Mips_relobj<32,_false> *)0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = *(Value *)view;\n        }\n        goto LAB_002c3260;\n      }" switch (parenthesized_expression "(local_98)" ( identifier )) (compound_statement "{\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case (Mips_relobj<32,_false> *)0x1:\n        uVar38 = *(ushort *)view;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          pp_Var43 = (_List_node_base **)(ulong)(uVar38 - 0x10000);\n          local_b0 = (uint)uVar38;\n          if ((short)uVar38 < 0) {\n            local_b0 = uVar38 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case (Mips_relobj<32,_false> *)0x2:\n        goto switchD_002c18c9_caseD_2;\n      case (Mips_relobj<32,_false> *)0x3:\n        goto switchD_002c14fa_caseD_3;\n      case (Mips_relobj<32,_false> *)0x4:\n      case (Mips_relobj<32,_false> *)0x64:\n      case (Mips_relobj<32,_false> *)0x85:\n        bVar21 = (calculate_only ^ 1) & local_cf;\n        pp_Var43 = (_List_node_base **)(ulong)CONCAT31(uVar17,bVar21);\n        local_b0 = local_cc;\n        uVar39 = *(uint *)view;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if ((char)pp_Var43 == '\0') {\nLAB_002c38db:\n            uVar22 = SUB81(target_00,0);\n            bVar67 = gsym == (Sized_symbol<32> *)0x0;\n            if ((local_cf == 1) || (lo16_reloc != 0x85)) goto LAB_002c34d9;\n            if (bVar67) {\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;\n              uVar40 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;\n            uVar40 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar40 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          pp_Var56 = (_List_node_base **)this_00;\n          VVar23 = gold::Symbol_value<32>::value<false>\n                             (psymval,(Sized_relobj_file<32,_false> *)this_00,0);\n          if ((VVar23 & 3) == (uint)(lo16_reloc == 4)) goto LAB_002c38db;\n          pcVar61 = (char *)gettext("JALX to a non-word-aligned address");\n          gold::gold_warning(pcVar61);\nLAB_002c413e:\n          SVar26 = STATUS_BAD_RELOC;\n        }\n        else {\n          if (lo16_reloc == 0x85) {\n            local_b0 = uVar39 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar39 & 0x3ffffff) << 2;\n          if (bVar21 != 0) {\n            local_b8 = (_Bit_type *)(ulong)bVar21;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          uVar22 = SUB81(target_00,0);\n          bVar67 = gsym == (Sized_symbol<32> *)0x0;\n          if (bVar67) {\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;\n            uVar40 = 0xf0000000;\nLAB_002c34f1:\n            bVar67 = true;\n            uVar40 = address + 4 & uVar40 | local_b0;\n          }\n          else {\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;\n            uVar40 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar40 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          pp_Var56 = (_List_node_base **)this_00;\n          VVar23 = gold::Symbol_value<32>::value<false>\n                             (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar40);\n          uVar40 = VVar23 >> (sbyte)in_stack_fffffffffffffee8;\n          pSVar48 = extraout_RDX;\n          if ((((bool)calculate_only == false) && (!bVar67)) &&\n             (pMVar60 = (Mips_relobj<32,_false> *)gsym,\n             bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol),\n             pSVar48 = extraout_RDX_00, !bVar67)) {\n            uVar41 = (int)in_stack_fffffffffffffee8 + 0x1a;\n            pp_Var43 = (_List_node_base **)(ulong)uVar41;\n            uVar45 = uVar40 >> 0x1a;\n            pSVar48 = (Symbol_value<32> *)(ulong)uVar45;\n            if (uVar45 != address + 4 >> ((byte)uVar41 & 0x1f)) goto LAB_002c3567;\n          }\n          uVar40 = uVar39 ^ (uVar40 ^ uVar39) & 0x3ffffff;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (local_cf != 0) {\n            uVar39 = uVar39 >> 0x1a;\n            uVar50 = (undefined7)((ulong)pSVar48 >> 8);\n            if (lo16_reloc == 100) {\n              iVar25 = 7;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 6 < 2);\n            }\n            else if (lo16_reloc == 0x85) {\n              iVar25 = 0x3c;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 0x3c < 2);\n            }\n            else {\n              pSVar48 = (Symbol_value<32> *)\n                        (ulong)((uint)CONCAT71(uVar50,uVar39 == 3) | (uint)(uVar39 == 0x1d));\n              iVar25 = 0x1d;\n            }\n            if (((bool)calculate_only == false) && ((char)pSVar48 == '\0')) {\n              pcVar61 = (char *)gettext(\n                                       "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                                       );\n              gold::gold_error(pcVar61);\n              goto LAB_002c413e;\n            }\n            pp_Var43 = (_List_node_base **)(ulong)(uVar40 & 0x3ffffff | iVar25 << 0x1a);\n          }\n          if (gold::parameters->options_ == (General_options *)0x0) {\nLAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            Mips_relocate_functions<32,_false>::rel26\n                      ((uchar *)pMVar60,(Mips_relobj<32,_false> *)pp_Var56,pSVar48,\n                       (Mips_address)pp_Var43,(bool)uVar22,(Mips_address)puVar63,\n                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8));\n          }\n          if ((bool)calculate_only == false) {\n            SVar26 = STATUS_OKAY;\n            *(Valtype *)view = (Valtype)pp_Var43;\n          }\n          else {\n            SVar26 = STATUS_OKAY;\n            this->calculated_value_ = (Valtype)pp_Var43;\n          }\n        }\n        goto LAB_002c1e60;\n      case (Mips_relobj<32,_false> *)0x5:\n      case (Mips_relobj<32,_false> *)0x68:\n      case (Mips_relobj<32,_false> *)0x86:\n        goto switchD_002c18c9_caseD_5;\n      case (Mips_relobj<32,_false> *)0x6:\n      case (Mips_relobj<32,_false> *)0x69:\n      case (Mips_relobj<32,_false> *)0x87:\n      case (Mips_relobj<32,_false> *)0x9d:\n        local_b0 = local_cc;\n        in_stack_fffffffffffffef8 = *(uint *)view;\n        if ((char)local_b8 != '\0') {\n          uVar40 = in_stack_fffffffffffffef8 & 0xffff;\n          pp_Var56 = (_List_node_base **)(ulong)uVar40;\n          local_b0 = uVar40 - 0x10000;\n          if ((in_stack_fffffffffffffef8 & 0x8000) == 0) {\n            local_b0 = uVar40;\n          }\n        }\n        goto LAB_002c3615;\n      case (Mips_relobj<32,_false> *)0x7:\n      case (Mips_relobj<32,_false> *)0x8:\n      case (Mips_relobj<32,_false> *)0x65:\n      case (Mips_relobj<32,_false> *)0x88:\n      case (Mips_relobj<32,_false> *)0x89:\n      case (Mips_relobj<32,_false> *)0xac:\n        local_b0 = local_cc;\n        pSVar33 = target->gp_;\n        if (pSVar33 != (Sized_symbol<32> *)0x0) goto LAB_002c370d;\n        VVar57 = 0;\nLAB_002c3751:\n        uVar40 = *(uint *)view;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (lo16_reloc == 0xac) {\n            local_b0 = uVar40 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar40 & 0xffff) - 0x10000;\n            if ((uVar40 & 0x8000) == 0) {\n              local_b0 = uVar40 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case (Mips_relobj<32,_false> *)0x9:\n      case (Mips_relobj<32,_false> *)0x66:\n      case (Mips_relobj<32,_false> *)0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case (Mips_relobj<32,_false> *)0xa:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case (Mips_relobj<32,_false> *)0xb:\n      case (Mips_relobj<32,_false> *)0x67:\n      case (Mips_relobj<32,_false> *)0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case (Mips_relobj<32,_false> *)0xc:\n        goto switchD_002c18c9_caseD_c;\n      case (Mips_relobj<32,_false> *)0x12:\n        goto switchD_002c18c9_caseD_12;\n      case (Mips_relobj<32,_false> *)0x13:\n      case (Mips_relobj<32,_false> *)0x91:\n      case (Mips_relobj<32,_false> *)0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case (Mips_relobj<32,_false> *)0x14:\n      case (Mips_relobj<32,_false> *)0x92:\n        goto switchD_002c18c9_caseD_14;\n      case (Mips_relobj<32,_false> *)0x15:\n      case (Mips_relobj<32,_false> *)0x93:\n        goto switchD_002c18c9_caseD_15;\n      case (Mips_relobj<32,_false> *)0x16:\n      case (Mips_relobj<32,_false> *)0x1e:\n      case (Mips_relobj<32,_false> *)0x94:\n      case (Mips_relobj<32,_false> *)0x99:\n        goto switchD_002c18c9_caseD_16;\n      case (Mips_relobj<32,_false> *)0x17:\n      case (Mips_relobj<32,_false> *)0x1f:\n      case (Mips_relobj<32,_false> *)0x95:\n      case (Mips_relobj<32,_false> *)0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case (Mips_relobj<32,_false> *)0x18:\n      case (Mips_relobj<32,_false> *)0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = *(Value *)view;\n        }\n        goto LAB_002c2efa;\n      case (Mips_relobj<32,_false> *)0x1c:\n      case (Mips_relobj<32,_false> *)0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case (Mips_relobj<32,_false> *)0x1d:\n      case (Mips_relobj<32,_false> *)0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case (Mips_relobj<32,_false> *)0x25:\n      case (Mips_relobj<32,_false> *)0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case (Mips_relobj<32,_false> *)0x27:\n      case (Mips_relobj<32,_false> *)0x29:\n        goto switchD_002c18c9_caseD_27;\n      case (Mips_relobj<32,_false> *)0x2a:\n      case (Mips_relobj<32,_false> *)0x6a:\n      case (Mips_relobj<32,_false> *)0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case (Mips_relobj<32,_false> *)0x2b:\n      case (Mips_relobj<32,_false> *)0x6b:\n      case (Mips_relobj<32,_false> *)0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case (Mips_relobj<32,_false> *)0x2c:\n      case (Mips_relobj<32,_false> *)0x6c:\n      case (Mips_relobj<32,_false> *)0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case (Mips_relobj<32,_false> *)0x2d:\n      case (Mips_relobj<32,_false> *)0x6d:\n      case (Mips_relobj<32,_false> *)0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case (Mips_relobj<32,_false> *)0x2e:\n      case (Mips_relobj<32,_false> *)0x6e:\n      case (Mips_relobj<32,_false> *)0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case (Mips_relobj<32,_false> *)0x2f:\n      case (Mips_relobj<32,_false> *)0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case (Mips_relobj<32,_false> *)0x31:\n      case (Mips_relobj<32,_false> *)0x6f:\n      case (Mips_relobj<32,_false> *)0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case (Mips_relobj<32,_false> *)0x32:\n      case (Mips_relobj<32,_false> *)0x70:\n      case (Mips_relobj<32,_false> *)0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case (Mips_relobj<32,_false> *)0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case (Mips_relobj<32,_false> *)0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case (Mips_relobj<32,_false> *)0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case (Mips_relobj<32,_false> *)0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case (Mips_relobj<32,_false> *)0x40:\n        goto switchD_002c18c9_caseD_40;\n      case (Mips_relobj<32,_false> *)0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case (Mips_relobj<32,_false> *)0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case (Mips_relobj<32,_false> *)0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case (Mips_relobj<32,_false> *)0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case (Mips_relobj<32,_false> *)0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = *(Value *)view;\n        }\n        goto LAB_002c3260;\n      }" { (case_statement "default:\n        goto switchD_002c18c9_caseD_0;" default : (goto_statement "goto switchD_002c18c9_caseD_0;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x1:\n        uVar38 = *(ushort *)view;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          pp_Var43 = (_List_node_base **)(ulong)(uVar38 - 0x10000);\n          local_b0 = (uint)uVar38;\n          if ((short)uVar38 < 0) {\n            local_b0 = uVar38 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x1" ( (comma_expression "Mips_relobj<32,_false> *)0x1" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x1" identifier > (pointer_expression "*)0x1" * (ERROR ")" )) number_literal))) )) : (expression_statement "uVar38 = *(ushort *)view;" (assignment_expression "uVar38 = *(ushort *)view" identifier = (pointer_expression "*(ushort *)view" * (cast_expression "(ushort *)view" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          pp_Var43 = (_List_node_base **)(ulong)(uVar38 - 0x10000);\n          local_b0 = (uint)uVar38;\n          if ((short)uVar38 < 0) {\n            local_b0 = uVar38 - 0x10000;\n          }\n        }" if (parenthesized_expression "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }" { (labeled_statement "LAB_002c46aa:\n          local_b0 = local_cc;" statement_identifier : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;)) }) (else_clause "else {\n          pp_Var43 = (_List_node_base **)(ulong)(uVar38 - 0x10000);\n          local_b0 = (uint)uVar38;\n          if ((short)uVar38 < 0) {\n            local_b0 = uVar38 - 0x10000;\n          }\n        }" else (compound_statement "{\n          pp_Var43 = (_List_node_base **)(ulong)(uVar38 - 0x10000);\n          local_b0 = (uint)uVar38;\n          if ((short)uVar38 < 0) {\n            local_b0 = uVar38 - 0x10000;\n          }\n        }" { (expression_statement "pp_Var43 = (_List_node_base **)(ulong)(uVar38 - 0x10000);" (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)(uVar38 - 0x10000)" identifier = (cast_expression "(_List_node_base **)(ulong)(uVar38 - 0x10000)" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(ulong)(uVar38 - 0x10000)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar38 - 0x10000)" ( (binary_expression "uVar38 - 0x10000" identifier - number_literal) ))))) ;) (expression_statement "local_b0 = (uint)uVar38;" (assignment_expression "local_b0 = (uint)uVar38" identifier = (cast_expression "(uint)uVar38" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((short)uVar38 < 0) {\n            local_b0 = uVar38 - 0x10000;\n          }" if (parenthesized_expression "((short)uVar38 < 0)" ( (binary_expression "(short)uVar38 < 0" (cast_expression "(short)uVar38" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) < number_literal) )) (compound_statement "{\n            local_b0 = uVar38 - 0x10000;\n          }" { (expression_statement "local_b0 = uVar38 - 0x10000;" (assignment_expression "local_b0 = uVar38 - 0x10000" identifier = (binary_expression "uVar38 - 0x10000" identifier - number_literal)) ;) })) }))) (goto_statement "goto LAB_002c359b;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x2:\n        goto switchD_002c18c9_caseD_2;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x2" ( (comma_expression "Mips_relobj<32,_false> *)0x2" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x2" identifier > (pointer_expression "*)0x2" * (ERROR ")" )) number_literal))) )) : (goto_statement "goto switchD_002c18c9_caseD_2;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x3:\n        goto switchD_002c14fa_caseD_3;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x3" ( (comma_expression "Mips_relobj<32,_false> *)0x3" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x3" identifier > (pointer_expression "*)0x3" * (ERROR ")" )) number_literal))) )) : (goto_statement "goto switchD_002c14fa_caseD_3;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x4:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x4" ( (comma_expression "Mips_relobj<32,_false> *)0x4" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x4" identifier > (pointer_expression "*)0x4" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x64:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x64" ( (comma_expression "Mips_relobj<32,_false> *)0x64" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x64" identifier > (pointer_expression "*)0x64" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x85:\n        bVar21 = (calculate_only ^ 1) & local_cf;\n        pp_Var43 = (_List_node_base **)(ulong)CONCAT31(uVar17,bVar21);\n        local_b0 = local_cc;\n        uVar39 = *(uint *)view;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if ((char)pp_Var43 == '\0') {\nLAB_002c38db:\n            uVar22 = SUB81(target_00,0);\n            bVar67 = gsym == (Sized_symbol<32> *)0x0;\n            if ((local_cf == 1) || (lo16_reloc != 0x85)) goto LAB_002c34d9;\n            if (bVar67) {\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;\n              uVar40 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;\n            uVar40 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar40 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          pp_Var56 = (_List_node_base **)this_00;\n          VVar23 = gold::Symbol_value<32>::value<false>\n                             (psymval,(Sized_relobj_file<32,_false> *)this_00,0);\n          if ((VVar23 & 3) == (uint)(lo16_reloc == 4)) goto LAB_002c38db;\n          pcVar61 = (char *)gettext("JALX to a non-word-aligned address");\n          gold::gold_warning(pcVar61);\nLAB_002c413e:\n          SVar26 = STATUS_BAD_RELOC;\n        }\n        else {\n          if (lo16_reloc == 0x85) {\n            local_b0 = uVar39 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar39 & 0x3ffffff) << 2;\n          if (bVar21 != 0) {\n            local_b8 = (_Bit_type *)(ulong)bVar21;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          uVar22 = SUB81(target_00,0);\n          bVar67 = gsym == (Sized_symbol<32> *)0x0;\n          if (bVar67) {\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;\n            uVar40 = 0xf0000000;\nLAB_002c34f1:\n            bVar67 = true;\n            uVar40 = address + 4 & uVar40 | local_b0;\n          }\n          else {\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;\n            uVar40 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar40 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          pp_Var56 = (_List_node_base **)this_00;\n          VVar23 = gold::Symbol_value<32>::value<false>\n                             (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar40);\n          uVar40 = VVar23 >> (sbyte)in_stack_fffffffffffffee8;\n          pSVar48 = extraout_RDX;\n          if ((((bool)calculate_only == false) && (!bVar67)) &&\n             (pMVar60 = (Mips_relobj<32,_false> *)gsym,\n             bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol),\n             pSVar48 = extraout_RDX_00, !bVar67)) {\n            uVar41 = (int)in_stack_fffffffffffffee8 + 0x1a;\n            pp_Var43 = (_List_node_base **)(ulong)uVar41;\n            uVar45 = uVar40 >> 0x1a;\n            pSVar48 = (Symbol_value<32> *)(ulong)uVar45;\n            if (uVar45 != address + 4 >> ((byte)uVar41 & 0x1f)) goto LAB_002c3567;\n          }\n          uVar40 = uVar39 ^ (uVar40 ^ uVar39) & 0x3ffffff;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (local_cf != 0) {\n            uVar39 = uVar39 >> 0x1a;\n            uVar50 = (undefined7)((ulong)pSVar48 >> 8);\n            if (lo16_reloc == 100) {\n              iVar25 = 7;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 6 < 2);\n            }\n            else if (lo16_reloc == 0x85) {\n              iVar25 = 0x3c;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 0x3c < 2);\n            }\n            else {\n              pSVar48 = (Symbol_value<32> *)\n                        (ulong)((uint)CONCAT71(uVar50,uVar39 == 3) | (uint)(uVar39 == 0x1d));\n              iVar25 = 0x1d;\n            }\n            if (((bool)calculate_only == false) && ((char)pSVar48 == '\0')) {\n              pcVar61 = (char *)gettext(\n                                       "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                                       );\n              gold::gold_error(pcVar61);\n              goto LAB_002c413e;\n            }\n            pp_Var43 = (_List_node_base **)(ulong)(uVar40 & 0x3ffffff | iVar25 << 0x1a);\n          }\n          if (gold::parameters->options_ == (General_options *)0x0) {\nLAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            Mips_relocate_functions<32,_false>::rel26\n                      ((uchar *)pMVar60,(Mips_relobj<32,_false> *)pp_Var56,pSVar48,\n                       (Mips_address)pp_Var43,(bool)uVar22,(Mips_address)puVar63,\n                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8));\n          }\n          if ((bool)calculate_only == false) {\n            SVar26 = STATUS_OKAY;\n            *(Valtype *)view = (Valtype)pp_Var43;\n          }\n          else {\n            SVar26 = STATUS_OKAY;\n            this->calculated_value_ = (Valtype)pp_Var43;\n          }\n        }\n        goto LAB_002c1e60;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x85" ( (comma_expression "Mips_relobj<32,_false> *)0x85" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x85" identifier > (pointer_expression "*)0x85" * (ERROR ")" )) number_literal))) )) : (expression_statement "bVar21 = (calculate_only ^ 1) & local_cf;" (assignment_expression "bVar21 = (calculate_only ^ 1) & local_cf" identifier = (binary_expression "(calculate_only ^ 1) & local_cf" (parenthesized_expression "(calculate_only ^ 1)" ( (binary_expression "calculate_only ^ 1" identifier ^ number_literal) )) & identifier)) ;) (expression_statement "pp_Var43 = (_List_node_base **)(ulong)CONCAT31(uVar17,bVar21);" (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)CONCAT31(uVar17,bVar21)" identifier = (cast_expression "(_List_node_base **)(ulong)CONCAT31(uVar17,bVar21)" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)CONCAT31(uVar17,bVar21)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CONCAT31(uVar17,bVar21)" identifier (argument_list "(uVar17,bVar21)" ( identifier , identifier )))))) ;) (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (expression_statement "uVar39 = *(uint *)view;" (assignment_expression "uVar39 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if ((char)pp_Var43 == '\0') {\nLAB_002c38db:\n            uVar22 = SUB81(target_00,0);\n            bVar67 = gsym == (Sized_symbol<32> *)0x0;\n            if ((local_cf == 1) || (lo16_reloc != 0x85)) goto LAB_002c34d9;\n            if (bVar67) {\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;\n              uVar40 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;\n            uVar40 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar40 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          pp_Var56 = (_List_node_base **)this_00;\n          VVar23 = gold::Symbol_value<32>::value<false>\n                             (psymval,(Sized_relobj_file<32,_false> *)this_00,0);\n          if ((VVar23 & 3) == (uint)(lo16_reloc == 4)) goto LAB_002c38db;\n          pcVar61 = (char *)gettext("JALX to a non-word-aligned address");\n          gold::gold_warning(pcVar61);\nLAB_002c413e:\n          SVar26 = STATUS_BAD_RELOC;\n        }\n        else {\n          if (lo16_reloc == 0x85) {\n            local_b0 = uVar39 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar39 & 0x3ffffff) << 2;\n          if (bVar21 != 0) {\n            local_b8 = (_Bit_type *)(ulong)bVar21;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          uVar22 = SUB81(target_00,0);\n          bVar67 = gsym == (Sized_symbol<32> *)0x0;\n          if (bVar67) {\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;\n            uVar40 = 0xf0000000;\nLAB_002c34f1:\n            bVar67 = true;\n            uVar40 = address + 4 & uVar40 | local_b0;\n          }\n          else {\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;\n            uVar40 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar40 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          pp_Var56 = (_List_node_base **)this_00;\n          VVar23 = gold::Symbol_value<32>::value<false>\n                             (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar40);\n          uVar40 = VVar23 >> (sbyte)in_stack_fffffffffffffee8;\n          pSVar48 = extraout_RDX;\n          if ((((bool)calculate_only == false) && (!bVar67)) &&\n             (pMVar60 = (Mips_relobj<32,_false> *)gsym,\n             bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol),\n             pSVar48 = extraout_RDX_00, !bVar67)) {\n            uVar41 = (int)in_stack_fffffffffffffee8 + 0x1a;\n            pp_Var43 = (_List_node_base **)(ulong)uVar41;\n            uVar45 = uVar40 >> 0x1a;\n            pSVar48 = (Symbol_value<32> *)(ulong)uVar45;\n            if (uVar45 != address + 4 >> ((byte)uVar41 & 0x1f)) goto LAB_002c3567;\n          }\n          uVar40 = uVar39 ^ (uVar40 ^ uVar39) & 0x3ffffff;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (local_cf != 0) {\n            uVar39 = uVar39 >> 0x1a;\n            uVar50 = (undefined7)((ulong)pSVar48 >> 8);\n            if (lo16_reloc == 100) {\n              iVar25 = 7;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 6 < 2);\n            }\n            else if (lo16_reloc == 0x85) {\n              iVar25 = 0x3c;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 0x3c < 2);\n            }\n            else {\n              pSVar48 = (Symbol_value<32> *)\n                        (ulong)((uint)CONCAT71(uVar50,uVar39 == 3) | (uint)(uVar39 == 0x1d));\n              iVar25 = 0x1d;\n            }\n            if (((bool)calculate_only == false) && ((char)pSVar48 == '\0')) {\n              pcVar61 = (char *)gettext(\n                                       "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                                       );\n              gold::gold_error(pcVar61);\n              goto LAB_002c413e;\n            }\n            pp_Var43 = (_List_node_base **)(ulong)(uVar40 & 0x3ffffff | iVar25 << 0x1a);\n          }\n          if (gold::parameters->options_ == (General_options *)0x0) {\nLAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            Mips_relocate_functions<32,_false>::rel26\n                      ((uchar *)pMVar60,(Mips_relobj<32,_false> *)pp_Var56,pSVar48,\n                       (Mips_address)pp_Var43,(bool)uVar22,(Mips_address)puVar63,\n                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8));\n          }\n          if ((bool)calculate_only == false) {\n            SVar26 = STATUS_OKAY;\n            *(Valtype *)view = (Valtype)pp_Var43;\n          }\n          else {\n            SVar26 = STATUS_OKAY;\n            this->calculated_value_ = (Valtype)pp_Var43;\n          }\n        }" if (parenthesized_expression "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_002c38d3:\n          if ((char)pp_Var43 == '\0') {\nLAB_002c38db:\n            uVar22 = SUB81(target_00,0);\n            bVar67 = gsym == (Sized_symbol<32> *)0x0;\n            if ((local_cf == 1) || (lo16_reloc != 0x85)) goto LAB_002c34d9;\n            if (bVar67) {\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;\n              uVar40 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;\n            uVar40 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar40 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          pp_Var56 = (_List_node_base **)this_00;\n          VVar23 = gold::Symbol_value<32>::value<false>\n                             (psymval,(Sized_relobj_file<32,_false> *)this_00,0);\n          if ((VVar23 & 3) == (uint)(lo16_reloc == 4)) goto LAB_002c38db;\n          pcVar61 = (char *)gettext("JALX to a non-word-aligned address");\n          gold::gold_warning(pcVar61);\nLAB_002c413e:\n          SVar26 = STATUS_BAD_RELOC;\n        }" { (labeled_statement "LAB_002c38d3:\n          if ((char)pp_Var43 == '\0') {\nLAB_002c38db:\n            uVar22 = SUB81(target_00,0);\n            bVar67 = gsym == (Sized_symbol<32> *)0x0;\n            if ((local_cf == 1) || (lo16_reloc != 0x85)) goto LAB_002c34d9;\n            if (bVar67) {\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;\n              uVar40 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;\n            uVar40 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar40 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }" statement_identifier : (if_statement "if ((char)pp_Var43 == '\0') {\nLAB_002c38db:\n            uVar22 = SUB81(target_00,0);\n            bVar67 = gsym == (Sized_symbol<32> *)0x0;\n            if ((local_cf == 1) || (lo16_reloc != 0x85)) goto LAB_002c34d9;\n            if (bVar67) {\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;\n              uVar40 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;\n            uVar40 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar40 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }" if (parenthesized_expression "((char)pp_Var43 == '\0')" ( (binary_expression "(char)pp_Var43 == '\0'" (cast_expression "(char)pp_Var43" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_002c38db:\n            uVar22 = SUB81(target_00,0);\n            bVar67 = gsym == (Sized_symbol<32> *)0x0;\n            if ((local_cf == 1) || (lo16_reloc != 0x85)) goto LAB_002c34d9;\n            if (bVar67) {\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;\n              uVar40 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;\n            uVar40 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar40 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }" { (labeled_statement "LAB_002c38db:\n            uVar22 = SUB81(target_00,0);" statement_identifier : (expression_statement "uVar22 = SUB81(target_00,0);" (assignment_expression "uVar22 = SUB81(target_00,0)" identifier = (call_expression "SUB81(target_00,0)" identifier (argument_list "(target_00,0)" ( identifier , number_literal )))) ;)) (expression_statement "bVar67 = gsym == (Sized_symbol<32> *)0x0;" (assignment_expression "bVar67 = gsym == (Sized_symbol<32> *)0x0" identifier = (binary_expression "gsym == (Sized_symbol<32> *)0x0" identifier == (parenthesized_expression "(Sized_symbol<32> *)0x0" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) )))) ;) (if_statement "if ((local_cf == 1) || (lo16_reloc != 0x85)) goto LAB_002c34d9;" if (parenthesized_expression "((local_cf == 1) || (lo16_reloc != 0x85))" ( (binary_expression "(local_cf == 1) || (lo16_reloc != 0x85)" (parenthesized_expression "(local_cf == 1)" ( (binary_expression "local_cf == 1" identifier == number_literal) )) || (parenthesized_expression "(lo16_reloc != 0x85)" ( (binary_expression "lo16_reloc != 0x85" identifier != number_literal) ))) )) (goto_statement "goto LAB_002c34d9;" goto statement_identifier ;)) (if_statement "if (bVar67) {\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;\n              uVar40 = 0xf8000000;\n              goto LAB_002c34f1;\n            }" if (parenthesized_expression "(bVar67)" ( identifier )) (compound_statement "{\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;\n              uVar40 = 0xf8000000;\n              goto LAB_002c34f1;\n            }" { (expression_statement "in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;" (assignment_expression "in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1" identifier = (parenthesized_expression "(Mips_relobj<32,_false> *)0x1" ( (comma_expression "Mips_relobj<32,_false> *)0x1" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x1" identifier > (pointer_expression "*)0x1" * (ERROR ")" )) number_literal))) ))) ;) (expression_statement "uVar40 = 0xf8000000;" (assignment_expression "uVar40 = 0xf8000000" identifier = number_literal) ;) (goto_statement "goto LAB_002c34f1;" goto statement_identifier ;) })) (expression_statement "in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;" (assignment_expression "in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1" identifier = (parenthesized_expression "(Mips_relobj<32,_false> *)0x1" ( (comma_expression "Mips_relobj<32,_false> *)0x1" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x1" identifier > (pointer_expression "*)0x1" * (ERROR ")" )) number_literal))) ))) ;) (expression_statement "uVar40 = local_b0 & 0x7ffffff;" (assignment_expression "uVar40 = local_b0 & 0x7ffffff" identifier = (binary_expression "local_b0 & 0x7ffffff" identifier & number_literal)) ;) (if_statement "if ((local_b0 & 0x4000000) != 0) {\n              uVar40 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }" if (parenthesized_expression "((local_b0 & 0x4000000) != 0)" ( (binary_expression "(local_b0 & 0x4000000) != 0" (parenthesized_expression "(local_b0 & 0x4000000)" ( (binary_expression "local_b0 & 0x4000000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              uVar40 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }" { (expression_statement "uVar40 = (local_b0 & 0x7ffffff) + 0xf8000000;" (assignment_expression "uVar40 = (local_b0 & 0x7ffffff) + 0xf8000000" identifier = (binary_expression "(local_b0 & 0x7ffffff) + 0xf8000000" (parenthesized_expression "(local_b0 & 0x7ffffff)" ( (binary_expression "local_b0 & 0x7ffffff" identifier & number_literal) )) + number_literal)) ;) })) (goto_statement "goto LAB_002c3505;" goto statement_identifier ;) }))) (labeled_statement "LAB_002c40ff:\n          pp_Var56 = (_List_node_base **)this_00;" statement_identifier : (expression_statement "pp_Var56 = (_List_node_base **)this_00;" (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;)) (expression_statement "VVar23 = gold::Symbol_value<32>::value<false>\n                             (psymval,(Sized_relobj_file<32,_false> *)this_00,0);" (binary_expression "VVar23 = gold::Symbol_value<32>::value<false>\n                             (psymval,(Sized_relobj_file<32,_false> *)this_00,0)" (binary_expression "VVar23 = gold::Symbol_value<32>::value<false" (binary_expression "VVar23 = gold::Symbol_value<32>::value" (binary_expression "VVar23 = gold::Symbol_value<32" (assignment_expression "VVar23 = gold" identifier = identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "::" : :) identifier) < false) > (parenthesized_expression "(psymval,(Sized_relobj_file<32,_false> *)this_00,0)" ( (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , number_literal)) ))) ))) ;) (if_statement "if ((VVar23 & 3) == (uint)(lo16_reloc == 4)) goto LAB_002c38db;" if (parenthesized_expression "((VVar23 & 3) == (uint)(lo16_reloc == 4))" ( (binary_expression "(VVar23 & 3) == (uint)(lo16_reloc == 4)" (parenthesized_expression "(VVar23 & 3)" ( (binary_expression "VVar23 & 3" identifier & number_literal) )) == (call_expression "(uint)(lo16_reloc == 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(lo16_reloc == 4)" ( (binary_expression "lo16_reloc == 4" identifier == number_literal) )))) )) (goto_statement "goto LAB_002c38db;" goto statement_identifier ;)) (expression_statement "pcVar61 = (char *)gettext("JALX to a non-word-aligned address");" (assignment_expression "pcVar61 = (char *)gettext("JALX to a non-word-aligned address")" identifier = (cast_expression "(char *)gettext("JALX to a non-word-aligned address")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("JALX to a non-word-aligned address")" identifier (argument_list "("JALX to a non-word-aligned address")" ( (string_literal ""JALX to a non-word-aligned address"" " string_content ") ))))) ;) (labeled_statement "gold::gold_warning(pcVar61);" statement_identifier : (ERROR ":" :) (expression_statement "gold_warning(pcVar61);" (call_expression "gold_warning(pcVar61)" identifier (argument_list "(pcVar61)" ( identifier ))) ;)) (labeled_statement "LAB_002c413e:\n          SVar26 = STATUS_BAD_RELOC;" statement_identifier : (expression_statement "SVar26 = STATUS_BAD_RELOC;" (assignment_expression "SVar26 = STATUS_BAD_RELOC" identifier = identifier) ;)) }) (else_clause "else {\n          if (lo16_reloc == 0x85) {\n            local_b0 = uVar39 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar39 & 0x3ffffff) << 2;\n          if (bVar21 != 0) {\n            local_b8 = (_Bit_type *)(ulong)bVar21;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          uVar22 = SUB81(target_00,0);\n          bVar67 = gsym == (Sized_symbol<32> *)0x0;\n          if (bVar67) {\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;\n            uVar40 = 0xf0000000;\nLAB_002c34f1:\n            bVar67 = true;\n            uVar40 = address + 4 & uVar40 | local_b0;\n          }\n          else {\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;\n            uVar40 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar40 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          pp_Var56 = (_List_node_base **)this_00;\n          VVar23 = gold::Symbol_value<32>::value<false>\n                             (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar40);\n          uVar40 = VVar23 >> (sbyte)in_stack_fffffffffffffee8;\n          pSVar48 = extraout_RDX;\n          if ((((bool)calculate_only == false) && (!bVar67)) &&\n             (pMVar60 = (Mips_relobj<32,_false> *)gsym,\n             bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol),\n             pSVar48 = extraout_RDX_00, !bVar67)) {\n            uVar41 = (int)in_stack_fffffffffffffee8 + 0x1a;\n            pp_Var43 = (_List_node_base **)(ulong)uVar41;\n            uVar45 = uVar40 >> 0x1a;\n            pSVar48 = (Symbol_value<32> *)(ulong)uVar45;\n            if (uVar45 != address + 4 >> ((byte)uVar41 & 0x1f)) goto LAB_002c3567;\n          }\n          uVar40 = uVar39 ^ (uVar40 ^ uVar39) & 0x3ffffff;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (local_cf != 0) {\n            uVar39 = uVar39 >> 0x1a;\n            uVar50 = (undefined7)((ulong)pSVar48 >> 8);\n            if (lo16_reloc == 100) {\n              iVar25 = 7;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 6 < 2);\n            }\n            else if (lo16_reloc == 0x85) {\n              iVar25 = 0x3c;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 0x3c < 2);\n            }\n            else {\n              pSVar48 = (Symbol_value<32> *)\n                        (ulong)((uint)CONCAT71(uVar50,uVar39 == 3) | (uint)(uVar39 == 0x1d));\n              iVar25 = 0x1d;\n            }\n            if (((bool)calculate_only == false) && ((char)pSVar48 == '\0')) {\n              pcVar61 = (char *)gettext(\n                                       "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                                       );\n              gold::gold_error(pcVar61);\n              goto LAB_002c413e;\n            }\n            pp_Var43 = (_List_node_base **)(ulong)(uVar40 & 0x3ffffff | iVar25 << 0x1a);\n          }\n          if (gold::parameters->options_ == (General_options *)0x0) {\nLAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            Mips_relocate_functions<32,_false>::rel26\n                      ((uchar *)pMVar60,(Mips_relobj<32,_false> *)pp_Var56,pSVar48,\n                       (Mips_address)pp_Var43,(bool)uVar22,(Mips_address)puVar63,\n                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8));\n          }\n          if ((bool)calculate_only == false) {\n            SVar26 = STATUS_OKAY;\n            *(Valtype *)view = (Valtype)pp_Var43;\n          }\n          else {\n            SVar26 = STATUS_OKAY;\n            this->calculated_value_ = (Valtype)pp_Var43;\n          }\n        }" else (compound_statement "{\n          if (lo16_reloc == 0x85) {\n            local_b0 = uVar39 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar39 & 0x3ffffff) << 2;\n          if (bVar21 != 0) {\n            local_b8 = (_Bit_type *)(ulong)bVar21;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          uVar22 = SUB81(target_00,0);\n          bVar67 = gsym == (Sized_symbol<32> *)0x0;\n          if (bVar67) {\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;\n            uVar40 = 0xf0000000;\nLAB_002c34f1:\n            bVar67 = true;\n            uVar40 = address + 4 & uVar40 | local_b0;\n          }\n          else {\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;\n            uVar40 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar40 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          pp_Var56 = (_List_node_base **)this_00;\n          VVar23 = gold::Symbol_value<32>::value<false>\n                             (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar40);\n          uVar40 = VVar23 >> (sbyte)in_stack_fffffffffffffee8;\n          pSVar48 = extraout_RDX;\n          if ((((bool)calculate_only == false) && (!bVar67)) &&\n             (pMVar60 = (Mips_relobj<32,_false> *)gsym,\n             bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol),\n             pSVar48 = extraout_RDX_00, !bVar67)) {\n            uVar41 = (int)in_stack_fffffffffffffee8 + 0x1a;\n            pp_Var43 = (_List_node_base **)(ulong)uVar41;\n            uVar45 = uVar40 >> 0x1a;\n            pSVar48 = (Symbol_value<32> *)(ulong)uVar45;\n            if (uVar45 != address + 4 >> ((byte)uVar41 & 0x1f)) goto LAB_002c3567;\n          }\n          uVar40 = uVar39 ^ (uVar40 ^ uVar39) & 0x3ffffff;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          if (local_cf != 0) {\n            uVar39 = uVar39 >> 0x1a;\n            uVar50 = (undefined7)((ulong)pSVar48 >> 8);\n            if (lo16_reloc == 100) {\n              iVar25 = 7;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 6 < 2);\n            }\n            else if (lo16_reloc == 0x85) {\n              iVar25 = 0x3c;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 0x3c < 2);\n            }\n            else {\n              pSVar48 = (Symbol_value<32> *)\n                        (ulong)((uint)CONCAT71(uVar50,uVar39 == 3) | (uint)(uVar39 == 0x1d));\n              iVar25 = 0x1d;\n            }\n            if (((bool)calculate_only == false) && ((char)pSVar48 == '\0')) {\n              pcVar61 = (char *)gettext(\n                                       "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                                       );\n              gold::gold_error(pcVar61);\n              goto LAB_002c413e;\n            }\n            pp_Var43 = (_List_node_base **)(ulong)(uVar40 & 0x3ffffff | iVar25 << 0x1a);\n          }\n          if (gold::parameters->options_ == (General_options *)0x0) {\nLAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            Mips_relocate_functions<32,_false>::rel26\n                      ((uchar *)pMVar60,(Mips_relobj<32,_false> *)pp_Var56,pSVar48,\n                       (Mips_address)pp_Var43,(bool)uVar22,(Mips_address)puVar63,\n                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8));\n          }\n          if ((bool)calculate_only == false) {\n            SVar26 = STATUS_OKAY;\n            *(Valtype *)view = (Valtype)pp_Var43;\n          }\n          else {\n            SVar26 = STATUS_OKAY;\n            this->calculated_value_ = (Valtype)pp_Var43;\n          }\n        }" { (if_statement "if (lo16_reloc == 0x85) {\n            local_b0 = uVar39 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }" if (parenthesized_expression "(lo16_reloc == 0x85)" ( (binary_expression "lo16_reloc == 0x85" identifier == number_literal) )) (compound_statement "{\n            local_b0 = uVar39 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }" { (expression_statement "local_b0 = uVar39 * 2 & 0x7fffffe;" (assignment_expression "local_b0 = uVar39 * 2 & 0x7fffffe" identifier = (binary_expression "uVar39 * 2 & 0x7fffffe" (binary_expression "uVar39 * 2" identifier * number_literal) & number_literal)) ;) (goto_statement "goto LAB_002c38d3;" goto statement_identifier ;) })) (expression_statement "local_b0 = (uVar39 & 0x3ffffff) << 2;" (assignment_expression "local_b0 = (uVar39 & 0x3ffffff) << 2" identifier = (binary_expression "(uVar39 & 0x3ffffff) << 2" (parenthesized_expression "(uVar39 & 0x3ffffff)" ( (binary_expression "uVar39 & 0x3ffffff" identifier & number_literal) )) << number_literal)) ;) (if_statement "if (bVar21 != 0) {\n            local_b8 = (_Bit_type *)(ulong)bVar21;\n            goto LAB_002c40ff;\n          }" if (parenthesized_expression "(bVar21 != 0)" ( (binary_expression "bVar21 != 0" identifier != number_literal) )) (compound_statement "{\n            local_b8 = (_Bit_type *)(ulong)bVar21;\n            goto LAB_002c40ff;\n          }" { (expression_statement "local_b8 = (_Bit_type *)(ulong)bVar21;" (assignment_expression "local_b8 = (_Bit_type *)(ulong)bVar21" identifier = (cast_expression "(_Bit_type *)(ulong)bVar21" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)bVar21" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (goto_statement "goto LAB_002c40ff;" goto statement_identifier ;) })) (labeled_statement "LAB_002c34d9:\n          uVar22 = SUB81(target_00,0);" statement_identifier : (expression_statement "uVar22 = SUB81(target_00,0);" (assignment_expression "uVar22 = SUB81(target_00,0)" identifier = (call_expression "SUB81(target_00,0)" identifier (argument_list "(target_00,0)" ( identifier , number_literal )))) ;)) (expression_statement "bVar67 = gsym == (Sized_symbol<32> *)0x0;" (assignment_expression "bVar67 = gsym == (Sized_symbol<32> *)0x0" identifier = (binary_expression "gsym == (Sized_symbol<32> *)0x0" identifier == (parenthesized_expression "(Sized_symbol<32> *)0x0" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) )))) ;) (if_statement "if (bVar67) {\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;\n            uVar40 = 0xf0000000;\nLAB_002c34f1:\n            bVar67 = true;\n            uVar40 = address + 4 & uVar40 | local_b0;\n          }\n          else {\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;\n            uVar40 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar40 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }" if (parenthesized_expression "(bVar67)" ( identifier )) (compound_statement "{\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;\n            uVar40 = 0xf0000000;\nLAB_002c34f1:\n            bVar67 = true;\n            uVar40 = address + 4 & uVar40 | local_b0;\n          }" { (expression_statement "in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;" (assignment_expression "in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2" identifier = (parenthesized_expression "(Mips_relobj<32,_false> *)0x2" ( (comma_expression "Mips_relobj<32,_false> *)0x2" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x2" identifier > (pointer_expression "*)0x2" * (ERROR ")" )) number_literal))) ))) ;) (expression_statement "uVar40 = 0xf0000000;" (assignment_expression "uVar40 = 0xf0000000" identifier = number_literal) ;) (labeled_statement "LAB_002c34f1:\n            bVar67 = true;" statement_identifier : (expression_statement "bVar67 = true;" (assignment_expression "bVar67 = true" identifier = true) ;)) (expression_statement "uVar40 = address + 4 & uVar40 | local_b0;" (assignment_expression "uVar40 = address + 4 & uVar40 | local_b0" identifier = (binary_expression "address + 4 & uVar40 | local_b0" (binary_expression "address + 4 & uVar40" (binary_expression "address + 4" identifier + number_literal) & identifier) | identifier)) ;) }) (else_clause "else {\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;\n            uVar40 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar40 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }" else (compound_statement "{\n            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;\n            uVar40 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar40 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }" { (expression_statement "in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;" (assignment_expression "in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2" identifier = (parenthesized_expression "(Mips_relobj<32,_false> *)0x2" ( (comma_expression "Mips_relobj<32,_false> *)0x2" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x2" identifier > (pointer_expression "*)0x2" * (ERROR ")" )) number_literal))) ))) ;) (expression_statement "uVar40 = local_b0 & 0xfffffff;" (assignment_expression "uVar40 = local_b0 & 0xfffffff" identifier = (binary_expression "local_b0 & 0xfffffff" identifier & number_literal)) ;) (if_statement "if ((local_b0 & 0x8000000) != 0) {\n              uVar40 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }" if (parenthesized_expression "((local_b0 & 0x8000000) != 0)" ( (binary_expression "(local_b0 & 0x8000000) != 0" (parenthesized_expression "(local_b0 & 0x8000000)" ( (binary_expression "local_b0 & 0x8000000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              uVar40 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }" { (expression_statement "uVar40 = (local_b0 & 0xfffffff) + 0xf0000000;" (assignment_expression "uVar40 = (local_b0 & 0xfffffff) + 0xf0000000" identifier = (binary_expression "(local_b0 & 0xfffffff) + 0xf0000000" (parenthesized_expression "(local_b0 & 0xfffffff)" ( (binary_expression "local_b0 & 0xfffffff" identifier & number_literal) )) + number_literal)) ;) })) }))) (labeled_statement "LAB_002c3505:\n          pp_Var56 = (_List_node_base **)this_00;" statement_identifier : (expression_statement "pp_Var56 = (_List_node_base **)this_00;" (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;)) (expression_statement "VVar23 = gold::Symbol_value<32>::value<false>\n                             (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar40);" (binary_expression "VVar23 = gold::Symbol_value<32>::value<false>\n                             (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar40)" (binary_expression "VVar23 = gold::Symbol_value<32>::value<false" (binary_expression "VVar23 = gold::Symbol_value<32>::value" (binary_expression "VVar23 = gold::Symbol_value<32" (assignment_expression "VVar23 = gold" identifier = identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "::" : :) identifier) < false) > (parenthesized_expression "(psymval,(Sized_relobj_file<32,_false> *)this_00,uVar40)" ( (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,uVar40)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,uVar40)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,uVar40" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,uVar40" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ))) ;) (expression_statement "uVar40 = VVar23 >> (sbyte)in_stack_fffffffffffffee8;" (assignment_expression "uVar40 = VVar23 >> (sbyte)in_stack_fffffffffffffee8" identifier = (binary_expression "VVar23 >> (sbyte)in_stack_fffffffffffffee8" identifier >> (cast_expression "(sbyte)in_stack_fffffffffffffee8" ( (type_descriptor "sbyte" type_identifier) ) identifier))) ;) (expression_statement "pSVar48 = extraout_RDX;" (assignment_expression "pSVar48 = extraout_RDX" identifier = identifier) ;) (if_statement "if ((((bool)calculate_only == false) && (!bVar67)) &&\n             (pMVar60 = (Mips_relobj<32,_false> *)gsym,\n             bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol),\n             pSVar48 = extraout_RDX_00, !bVar67)) {\n            uVar41 = (int)in_stack_fffffffffffffee8 + 0x1a;\n            pp_Var43 = (_List_node_base **)(ulong)uVar41;\n            uVar45 = uVar40 >> 0x1a;\n            pSVar48 = (Symbol_value<32> *)(ulong)uVar45;\n            if (uVar45 != address + 4 >> ((byte)uVar41 & 0x1f)) goto LAB_002c3567;\n          }" if (parenthesized_expression "((((bool)calculate_only == false) && (!bVar67)) &&\n             (pMVar60 = (Mips_relobj<32,_false> *)gsym,\n             bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol),\n             pSVar48 = extraout_RDX_00, !bVar67))" ( (binary_expression "(((bool)calculate_only == false) && (!bVar67)) &&\n             (pMVar60 = (Mips_relobj<32,_false> *)gsym,\n             bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol),\n             pSVar48 = extraout_RDX_00, !bVar67))" (parenthesized_expression "(((bool)calculate_only == false) && (!bVar67))" ( (binary_expression "((bool)calculate_only == false) && (!bVar67)" (parenthesized_expression "((bool)calculate_only == false)" ( (binary_expression "(bool)calculate_only == false" (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier) == false) )) && (parenthesized_expression "(!bVar67)" ( (unary_expression "!bVar67" ! identifier) ))) )) && (parenthesized_expression "(pMVar60 = (Mips_relobj<32,_false> *)gsym,\n             bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol),\n             pSVar48 = extraout_RDX_00, !bVar67))" ( (assignment_expression "pMVar60 = (Mips_relobj<32,_false> *)gsym,\n             bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol),\n             pSVar48 = extraout_RDX_00, !bVar67)" identifier = (parenthesized_expression "(Mips_relobj<32,_false> *)gsym,\n             bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol),\n             pSVar48 = extraout_RDX_00, !bVar67)" ( (ERROR "Mips_relobj<32,_false> *)gsym,\n             bVar67 = gold::Symbol::" (comma_expression "Mips_relobj<32,_false> *)gsym,\n             bVar67 = gold" (binary_expression "Mips_relobj<32" identifier < number_literal) , (comma_expression "_false> *)gsym,\n             bVar67 = gold" (binary_expression "_false> *)gsym" identifier > (pointer_expression "*)gsym" * (ERROR ")" )) identifier)) , (assignment_expression "bVar67 = gold" identifier = identifier))) : : identifier : :) (comma_expression "is_weak_undefined(&gsym->super_Symbol),\n             pSVar48 = extraout_RDX_00, !bVar67" (call_expression "is_weak_undefined(&gsym->super_Symbol)" identifier (argument_list "(&gsym->super_Symbol)" ( (pointer_expression "&gsym->super_Symbol" & (field_expression "gsym->super_Symbol" identifier -> field_identifier)) ))) , (comma_expression "pSVar48 = extraout_RDX_00, !bVar67" (assignment_expression "pSVar48 = extraout_RDX_00" identifier = identifier) , (unary_expression "!bVar67" ! identifier))) ))) ))) )) (compound_statement "{\n            uVar41 = (int)in_stack_fffffffffffffee8 + 0x1a;\n            pp_Var43 = (_List_node_base **)(ulong)uVar41;\n            uVar45 = uVar40 >> 0x1a;\n            pSVar48 = (Symbol_value<32> *)(ulong)uVar45;\n            if (uVar45 != address + 4 >> ((byte)uVar41 & 0x1f)) goto LAB_002c3567;\n          }" { (expression_statement "uVar41 = (int)in_stack_fffffffffffffee8 + 0x1a;" (assignment_expression "uVar41 = (int)in_stack_fffffffffffffee8 + 0x1a" identifier = (binary_expression "(int)in_stack_fffffffffffffee8 + 0x1a" (cast_expression "(int)in_stack_fffffffffffffee8" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "pp_Var43 = (_List_node_base **)(ulong)uVar41;" (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)uVar41" identifier = (cast_expression "(_List_node_base **)(ulong)uVar41" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)uVar41" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "uVar45 = uVar40 >> 0x1a;" (assignment_expression "uVar45 = uVar40 >> 0x1a" identifier = (binary_expression "uVar40 >> 0x1a" identifier >> number_literal)) ;) (expression_statement "pSVar48 = (Symbol_value<32> *)(ulong)uVar45;" (assignment_expression "pSVar48 = (Symbol_value<32> *)(ulong)" identifier = (call_expression "(Symbol_value<32> *)(ulong)" (parenthesized_expression "(Symbol_value<32> *)" ( (binary_expression "Symbol_value<32> *" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "(ulong)" ( identifier )))) (ERROR "uVar45" identifier) ;) (if_statement "if (uVar45 != address + 4 >> ((byte)uVar41 & 0x1f)) goto LAB_002c3567;" if (parenthesized_expression "(uVar45 != address + 4 >> ((byte)uVar41 & 0x1f))" ( (binary_expression "uVar45 != address + 4 >> ((byte)uVar41 & 0x1f)" identifier != (binary_expression "address + 4 >> ((byte)uVar41 & 0x1f)" (binary_expression "address + 4" identifier + number_literal) >> (parenthesized_expression "((byte)uVar41 & 0x1f)" ( (binary_expression "(byte)uVar41 & 0x1f" (cast_expression "(byte)uVar41" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) )) (goto_statement "goto LAB_002c3567;" goto statement_identifier ;)) })) (expression_statement "uVar40 = uVar39 ^ (uVar40 ^ uVar39) & 0x3ffffff;" (assignment_expression "uVar40 = uVar39 ^ (uVar40 ^ uVar39) & 0x3ffffff" identifier = (binary_expression "uVar39 ^ (uVar40 ^ uVar39) & 0x3ffffff" identifier ^ (binary_expression "(uVar40 ^ uVar39) & 0x3ffffff" (parenthesized_expression "(uVar40 ^ uVar39)" ( (binary_expression "uVar40 ^ uVar39" identifier ^ identifier) )) & number_literal))) ;) (expression_statement "pp_Var43 = (_List_node_base **)(ulong)uVar40;" (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)uVar40" identifier = (cast_expression "(_List_node_base **)(ulong)uVar40" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)uVar40" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (if_statement "if (local_cf != 0) {\n            uVar39 = uVar39 >> 0x1a;\n            uVar50 = (undefined7)((ulong)pSVar48 >> 8);\n            if (lo16_reloc == 100) {\n              iVar25 = 7;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 6 < 2);\n            }\n            else if (lo16_reloc == 0x85) {\n              iVar25 = 0x3c;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 0x3c < 2);\n            }\n            else {\n              pSVar48 = (Symbol_value<32> *)\n                        (ulong)((uint)CONCAT71(uVar50,uVar39 == 3) | (uint)(uVar39 == 0x1d));\n              iVar25 = 0x1d;\n            }\n            if (((bool)calculate_only == false) && ((char)pSVar48 == '\0')) {\n              pcVar61 = (char *)gettext(\n                                       "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                                       );\n              gold::gold_error(pcVar61);\n              goto LAB_002c413e;\n            }\n            pp_Var43 = (_List_node_base **)(ulong)(uVar40 & 0x3ffffff | iVar25 << 0x1a);\n          }" if (parenthesized_expression "(local_cf != 0)" ( (binary_expression "local_cf != 0" identifier != number_literal) )) (compound_statement "{\n            uVar39 = uVar39 >> 0x1a;\n            uVar50 = (undefined7)((ulong)pSVar48 >> 8);\n            if (lo16_reloc == 100) {\n              iVar25 = 7;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 6 < 2);\n            }\n            else if (lo16_reloc == 0x85) {\n              iVar25 = 0x3c;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 0x3c < 2);\n            }\n            else {\n              pSVar48 = (Symbol_value<32> *)\n                        (ulong)((uint)CONCAT71(uVar50,uVar39 == 3) | (uint)(uVar39 == 0x1d));\n              iVar25 = 0x1d;\n            }\n            if (((bool)calculate_only == false) && ((char)pSVar48 == '\0')) {\n              pcVar61 = (char *)gettext(\n                                       "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                                       );\n              gold::gold_error(pcVar61);\n              goto LAB_002c413e;\n            }\n            pp_Var43 = (_List_node_base **)(ulong)(uVar40 & 0x3ffffff | iVar25 << 0x1a);\n          }" { (expression_statement "uVar39 = uVar39 >> 0x1a;" (assignment_expression "uVar39 = uVar39 >> 0x1a" identifier = (binary_expression "uVar39 >> 0x1a" identifier >> number_literal)) ;) (expression_statement "uVar50 = (undefined7)((ulong)pSVar48 >> 8);" (assignment_expression "uVar50 = (undefined7)((ulong)pSVar48 >> 8)" identifier = (call_expression "(undefined7)((ulong)pSVar48 >> 8)" (parenthesized_expression "(undefined7)" ( identifier )) (argument_list "((ulong)pSVar48 >> 8)" ( (binary_expression "(ulong)pSVar48 >> 8" (cast_expression "(ulong)pSVar48" ( (type_descriptor "ulong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (lo16_reloc == 100) {\n              iVar25 = 7;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 6 < 2);\n            }\n            else if (lo16_reloc == 0x85) {\n              iVar25 = 0x3c;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 0x3c < 2);\n            }\n            else {\n              pSVar48 = (Symbol_value<32> *)\n                        (ulong)((uint)CONCAT71(uVar50,uVar39 == 3) | (uint)(uVar39 == 0x1d));\n              iVar25 = 0x1d;\n            }" if (parenthesized_expression "(lo16_reloc == 100)" ( (binary_expression "lo16_reloc == 100" identifier == number_literal) )) (compound_statement "{\n              iVar25 = 7;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 6 < 2);\n            }" { (expression_statement "iVar25 = 7;" (assignment_expression "iVar25 = 7" identifier = number_literal) ;) (expression_statement "pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 6 < 2);" (assignment_expression "pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 6 < 2)" identifier = (parenthesized_expression "(Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 6 < 2)" ( (binary_expression "Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 6 < 2)" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)CONCAT71(uVar50,uVar39 - 6 < 2)" * (ERROR ")" )) (call_expression "CONCAT71(uVar50,uVar39 - 6 < 2)" identifier (argument_list "(uVar50,uVar39 - 6 < 2)" ( identifier , (binary_expression "uVar39 - 6 < 2" (binary_expression "uVar39 - 6" identifier - number_literal) < number_literal) ))))) ))) ;) }) (else_clause "else if (lo16_reloc == 0x85) {\n              iVar25 = 0x3c;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 0x3c < 2);\n            }\n            else {\n              pSVar48 = (Symbol_value<32> *)\n                        (ulong)((uint)CONCAT71(uVar50,uVar39 == 3) | (uint)(uVar39 == 0x1d));\n              iVar25 = 0x1d;\n            }" else (if_statement "if (lo16_reloc == 0x85) {\n              iVar25 = 0x3c;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 0x3c < 2);\n            }\n            else {\n              pSVar48 = (Symbol_value<32> *)\n                        (ulong)((uint)CONCAT71(uVar50,uVar39 == 3) | (uint)(uVar39 == 0x1d));\n              iVar25 = 0x1d;\n            }" if (parenthesized_expression "(lo16_reloc == 0x85)" ( (binary_expression "lo16_reloc == 0x85" identifier == number_literal) )) (compound_statement "{\n              iVar25 = 0x3c;\n              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 0x3c < 2);\n            }" { (expression_statement "iVar25 = 0x3c;" (assignment_expression "iVar25 = 0x3c" identifier = number_literal) ;) (expression_statement "pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 0x3c < 2);" (assignment_expression "pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 0x3c < 2)" identifier = (parenthesized_expression "(Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 0x3c < 2)" ( (binary_expression "Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 0x3c < 2)" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)CONCAT71(uVar50,uVar39 - 0x3c < 2)" * (ERROR ")" )) (call_expression "CONCAT71(uVar50,uVar39 - 0x3c < 2)" identifier (argument_list "(uVar50,uVar39 - 0x3c < 2)" ( identifier , (binary_expression "uVar39 - 0x3c < 2" (binary_expression "uVar39 - 0x3c" identifier - number_literal) < number_literal) ))))) ))) ;) }) (else_clause "else {\n              pSVar48 = (Symbol_value<32> *)\n                        (ulong)((uint)CONCAT71(uVar50,uVar39 == 3) | (uint)(uVar39 == 0x1d));\n              iVar25 = 0x1d;\n            }" else (compound_statement "{\n              pSVar48 = (Symbol_value<32> *)\n                        (ulong)((uint)CONCAT71(uVar50,uVar39 == 3) | (uint)(uVar39 == 0x1d));\n              iVar25 = 0x1d;\n            }" { (expression_statement "pSVar48 = (Symbol_value<32> *)\n                        (ulong)((uint)CONCAT71(uVar50,uVar39 == 3) | (uint)(uVar39 == 0x1d));" (assignment_expression "pSVar48 = (Symbol_value<32> *)\n                        (ulong)((uint)CONCAT71(uVar50,uVar39 == 3) | (uint)(uVar39 == 0x1d))" identifier = (call_expression "(Symbol_value<32> *)\n                        (ulong)((uint)CONCAT71(uVar50,uVar39 == 3) | (uint)(uVar39 == 0x1d))" (call_expression "(Symbol_value<32> *)\n                        (ulong)" (parenthesized_expression "(Symbol_value<32> *)" ( (binary_expression "Symbol_value<32> *" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "(ulong)" ( identifier ))) (argument_list "((uint)CONCAT71(uVar50,uVar39 == 3) | (uint)(uVar39 == 0x1d))" ( (binary_expression "(uint)CONCAT71(uVar50,uVar39 == 3) | (uint)(uVar39 == 0x1d)" (cast_expression "(uint)CONCAT71(uVar50,uVar39 == 3)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CONCAT71(uVar50,uVar39 == 3)" identifier (argument_list "(uVar50,uVar39 == 3)" ( identifier , (binary_expression "uVar39 == 3" identifier == number_literal) )))) | (call_expression "(uint)(uVar39 == 0x1d)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar39 == 0x1d)" ( (binary_expression "uVar39 == 0x1d" identifier == number_literal) )))) )))) ;) (expression_statement "iVar25 = 0x1d;" (assignment_expression "iVar25 = 0x1d" identifier = number_literal) ;) }))))) (if_statement "if (((bool)calculate_only == false) && ((char)pSVar48 == '\0')) {\n              pcVar61 = (char *)gettext(\n                                       "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                                       );\n              gold::gold_error(pcVar61);\n              goto LAB_002c413e;\n            }" if (parenthesized_expression "(((bool)calculate_only == false) && ((char)pSVar48 == '\0'))" ( (binary_expression "((bool)calculate_only == false) && ((char)pSVar48 == '\0')" (parenthesized_expression "((bool)calculate_only == false)" ( (binary_expression "(bool)calculate_only == false" (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier) == false) )) && (parenthesized_expression "((char)pSVar48 == '\0')" ( (binary_expression "(char)pSVar48 == '\0'" (cast_expression "(char)pSVar48" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n              pcVar61 = (char *)gettext(\n                                       "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                                       );\n              gold::gold_error(pcVar61);\n              goto LAB_002c413e;\n            }" { (expression_statement "pcVar61 = (char *)gettext(\n                                       "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                                       );" (assignment_expression "pcVar61 = (char *)gettext(\n                                       "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                                       )" identifier = (cast_expression "(char *)gettext(\n                                       "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                                       )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(\n                                       "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                                       )" identifier (argument_list "(\n                                       "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                                       )" ( (string_literal ""Unsupported jump between ISA modes; consider recompiling with interlinking enabled."" " string_content ") ))))) ;) (labeled_statement "gold::gold_error(pcVar61);" statement_identifier : (ERROR ":" :) (expression_statement "gold_error(pcVar61);" (call_expression "gold_error(pcVar61)" identifier (argument_list "(pcVar61)" ( identifier ))) ;)) (goto_statement "goto LAB_002c413e;" goto statement_identifier ;) })) (expression_statement "pp_Var43 = (_List_node_base **)(ulong)(uVar40 & 0x3ffffff | iVar25 << 0x1a);" (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)(uVar40 & 0x3ffffff | iVar25 << 0x1a)" identifier = (cast_expression "(_List_node_base **)(ulong)(uVar40 & 0x3ffffff | iVar25 << 0x1a)" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(ulong)(uVar40 & 0x3ffffff | iVar25 << 0x1a)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar40 & 0x3ffffff | iVar25 << 0x1a)" ( (binary_expression "uVar40 & 0x3ffffff | iVar25 << 0x1a" (binary_expression "uVar40 & 0x3ffffff" identifier & number_literal) | (binary_expression "iVar25 << 0x1a" identifier << number_literal)) ))))) ;) })) (if_statement "if (gold::parameters->options_ == (General_options *)0x0) {\nLAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            Mips_relocate_functions<32,_false>::rel26\n                      ((uchar *)pMVar60,(Mips_relobj<32,_false> *)pp_Var56,pSVar48,\n                       (Mips_address)pp_Var43,(bool)uVar22,(Mips_address)puVar63,\n                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8));\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 "{\nLAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            Mips_relocate_functions<32,_false>::rel26\n                      ((uchar *)pMVar60,(Mips_relobj<32,_false> *)pp_Var56,pSVar48,\n                       (Mips_address)pp_Var43,(bool)uVar22,(Mips_address)puVar63,\n                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8));\n          }" { (labeled_statement "LAB_002c4770:\n                    /* WARNING: Subroutine does not return */\n            Mips_relocate_functions<32,_false>::rel26\n                      ((uchar *)pMVar60,(Mips_relobj<32,_false> *)pp_Var56,pSVar48,\n                       (Mips_address)pp_Var43,(bool)uVar22,(Mips_address)puVar63,\n                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8));" statement_identifier : comment (expression_statement "Mips_relocate_functions<32,_false>::rel26\n                      ((uchar *)pMVar60,(Mips_relobj<32,_false> *)pp_Var56,pSVar48,\n                       (Mips_address)pp_Var43,(bool)uVar22,(Mips_address)puVar63,\n                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8));" (comma_expression "Mips_relocate_functions<32,_false>::rel26\n                      ((uchar *)pMVar60,(Mips_relobj<32,_false> *)pp_Var56,pSVar48,\n                       (Mips_address)pp_Var43,(bool)uVar22,(Mips_address)puVar63,\n                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8))" (binary_expression "Mips_relocate_functions<32" identifier < number_literal) , (binary_expression "_false>::rel26\n                      ((uchar *)pMVar60,(Mips_relobj<32,_false> *)pp_Var56,pSVar48,\n                       (Mips_address)pp_Var43,(bool)uVar22,(Mips_address)puVar63,\n                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8))" identifier > (ERROR "::" : :) (call_expression "rel26\n                      ((uchar *)pMVar60,(Mips_relobj<32,_false> *)pp_Var56,pSVar48,\n                       (Mips_address)pp_Var43,(bool)uVar22,(Mips_address)puVar63,\n                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8))" identifier (argument_list "((uchar *)pMVar60,(Mips_relobj<32,_false> *)pp_Var56,pSVar48,\n                       (Mips_address)pp_Var43,(bool)uVar22,(Mips_address)puVar63,\n                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8))" ( (cast_expression "(uchar *)pMVar60" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (parenthesized_expression "(Mips_relobj<32,_false> *)pp_Var56,pSVar48,\n                       (Mips_address)pp_Var43,(bool)uVar22,(Mips_address)puVar63,\n                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8))" ( (comma_expression "Mips_relobj<32,_false> *)pp_Var56,pSVar48,\n                       (Mips_address)pp_Var43,(bool)uVar22,(Mips_address)puVar63,\n                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8)" (binary_expression "Mips_relobj<32" identifier < number_literal) , (comma_expression "_false> *)pp_Var56,pSVar48,\n                       (Mips_address)pp_Var43,(bool)uVar22,(Mips_address)puVar63,\n                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8)" (binary_expression "_false> *)pp_Var56" identifier > (pointer_expression "*)pp_Var56" * (ERROR ")" )) identifier)) , (comma_expression "pSVar48,\n                       (Mips_address)pp_Var43,(bool)uVar22,(Mips_address)puVar63,\n                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8)" identifier , (comma_expression "(Mips_address)pp_Var43,(bool)uVar22,(Mips_address)puVar63,\n                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8)" (cast_expression "(Mips_address)pp_Var43" ( (type_descriptor "Mips_address" type_identifier) ) identifier) , (comma_expression "(bool)uVar22,(Mips_address)puVar63,\n                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8)" (cast_expression "(bool)uVar22" ( (type_descriptor "bool" primitive_type) ) identifier) , (comma_expression "(Mips_address)puVar63,\n                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8)" (cast_expression "(Mips_address)puVar63" ( (type_descriptor "Mips_address" type_identifier) ) identifier) , (comma_expression "(bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8)" (cast_expression "(bool)in_stack_fffffffffffffec8" ( (type_descriptor "bool" primitive_type) ) identifier) , (comma_expression "in_stack_fffffffffffffed0,\n                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8)" identifier , (comma_expression "SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8)" (call_expression "SUB41(in_stack_fffffffffffffed8,0)" identifier (argument_list "(in_stack_fffffffffffffed8,0)" ( identifier , number_literal ))) , (comma_expression "(uint)in_stack_fffffffffffffee0,\n                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8)" (cast_expression "(uint)in_stack_fffffffffffffee0" ( (type_descriptor "uint" type_identifier) ) identifier) , (comma_expression "SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8)" (call_expression "SUB81(in_stack_fffffffffffffee8,0)" identifier (argument_list "(in_stack_fffffffffffffee8,0)" ( identifier , number_literal ))) , (comma_expression "SUB81(output_section,0),\n                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8)" (call_expression "SUB81(output_section,0)" identifier (argument_list "(output_section,0)" ( identifier , number_literal ))) , (cast_expression "(Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8)" ( (type_descriptor "Valtype *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8)" identifier (argument_list "(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8)" ( identifier , identifier )))))))))))))))) )) ))))) ;)) })) (if_statement "if ((bool)calculate_only == false) {\n            SVar26 = STATUS_OKAY;\n            *(Valtype *)view = (Valtype)pp_Var43;\n          }\n          else {\n            SVar26 = STATUS_OKAY;\n            this->calculated_value_ = (Valtype)pp_Var43;\n          }" if (parenthesized_expression "((bool)calculate_only == false)" ( (binary_expression "(bool)calculate_only == false" (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier) == false) )) (compound_statement "{\n            SVar26 = STATUS_OKAY;\n            *(Valtype *)view = (Valtype)pp_Var43;\n          }" { (expression_statement "SVar26 = STATUS_OKAY;" (assignment_expression "SVar26 = STATUS_OKAY" identifier = identifier) ;) (expression_statement "*(Valtype *)view = (Valtype)pp_Var43;" (assignment_expression "*(Valtype *)view = (Valtype)pp_Var43" (pointer_expression "*(Valtype *)view" * (cast_expression "(Valtype *)view" ( (type_descriptor "Valtype *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(Valtype)pp_Var43" ( (type_descriptor "Valtype" type_identifier) ) identifier)) ;) }) (else_clause "else {\n            SVar26 = STATUS_OKAY;\n            this->calculated_value_ = (Valtype)pp_Var43;\n          }" else (compound_statement "{\n            SVar26 = STATUS_OKAY;\n            this->calculated_value_ = (Valtype)pp_Var43;\n          }" { (expression_statement "SVar26 = STATUS_OKAY;" (assignment_expression "SVar26 = STATUS_OKAY" identifier = identifier) ;) (expression_statement "this->calculated_value_ = (Valtype)pp_Var43;" (assignment_expression "this->calculated_value_ = (Valtype)pp_Var43" (field_expression "this->calculated_value_" identifier -> field_identifier) = (cast_expression "(Valtype)pp_Var43" ( (type_descriptor "Valtype" type_identifier) ) identifier)) ;) }))) }))) (goto_statement "goto LAB_002c1e60;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x5:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x5" ( (comma_expression "Mips_relobj<32,_false> *)0x5" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x5" identifier > (pointer_expression "*)0x5" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x68:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x68" ( (comma_expression "Mips_relobj<32,_false> *)0x68" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x68" identifier > (pointer_expression "*)0x68" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x86:\n        goto switchD_002c18c9_caseD_5;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x86" ( (comma_expression "Mips_relobj<32,_false> *)0x86" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x86" identifier > (pointer_expression "*)0x86" * (ERROR ")" )) number_literal))) )) : (goto_statement "goto switchD_002c18c9_caseD_5;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x6:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x6" ( (comma_expression "Mips_relobj<32,_false> *)0x6" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x6" identifier > (pointer_expression "*)0x6" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x69:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x69" ( (comma_expression "Mips_relobj<32,_false> *)0x69" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x69" identifier > (pointer_expression "*)0x69" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x87:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x87" ( (comma_expression "Mips_relobj<32,_false> *)0x87" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x87" identifier > (pointer_expression "*)0x87" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x9d:\n        local_b0 = local_cc;\n        in_stack_fffffffffffffef8 = *(uint *)view;\n        if ((char)local_b8 != '\0') {\n          uVar40 = in_stack_fffffffffffffef8 & 0xffff;\n          pp_Var56 = (_List_node_base **)(ulong)uVar40;\n          local_b0 = uVar40 - 0x10000;\n          if ((in_stack_fffffffffffffef8 & 0x8000) == 0) {\n            local_b0 = uVar40;\n          }\n        }\n        goto LAB_002c3615;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x9d" ( (comma_expression "Mips_relobj<32,_false> *)0x9d" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x9d" identifier > (pointer_expression "*)0x9d" * (ERROR ")" )) number_literal))) )) : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (expression_statement "in_stack_fffffffffffffef8 = *(uint *)view;" (assignment_expression "in_stack_fffffffffffffef8 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((char)local_b8 != '\0') {\n          uVar40 = in_stack_fffffffffffffef8 & 0xffff;\n          pp_Var56 = (_List_node_base **)(ulong)uVar40;\n          local_b0 = uVar40 - 0x10000;\n          if ((in_stack_fffffffffffffef8 & 0x8000) == 0) {\n            local_b0 = uVar40;\n          }\n        }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar40 = in_stack_fffffffffffffef8 & 0xffff;\n          pp_Var56 = (_List_node_base **)(ulong)uVar40;\n          local_b0 = uVar40 - 0x10000;\n          if ((in_stack_fffffffffffffef8 & 0x8000) == 0) {\n            local_b0 = uVar40;\n          }\n        }" { (expression_statement "uVar40 = in_stack_fffffffffffffef8 & 0xffff;" (assignment_expression "uVar40 = in_stack_fffffffffffffef8 & 0xffff" identifier = (binary_expression "in_stack_fffffffffffffef8 & 0xffff" identifier & number_literal)) ;) (expression_statement "pp_Var56 = (_List_node_base **)(ulong)uVar40;" (assignment_expression "pp_Var56 = (_List_node_base **)(ulong)uVar40" identifier = (cast_expression "(_List_node_base **)(ulong)uVar40" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)uVar40" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "local_b0 = uVar40 - 0x10000;" (assignment_expression "local_b0 = uVar40 - 0x10000" identifier = (binary_expression "uVar40 - 0x10000" identifier - number_literal)) ;) (if_statement "if ((in_stack_fffffffffffffef8 & 0x8000) == 0) {\n            local_b0 = uVar40;\n          }" if (parenthesized_expression "((in_stack_fffffffffffffef8 & 0x8000) == 0)" ( (binary_expression "(in_stack_fffffffffffffef8 & 0x8000) == 0" (parenthesized_expression "(in_stack_fffffffffffffef8 & 0x8000)" ( (binary_expression "in_stack_fffffffffffffef8 & 0x8000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            local_b0 = uVar40;\n          }" { (expression_statement "local_b0 = uVar40;" (assignment_expression "local_b0 = uVar40" identifier = identifier) ;) })) })) (goto_statement "goto LAB_002c3615;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x7:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x7" ( (comma_expression "Mips_relobj<32,_false> *)0x7" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x7" identifier > (pointer_expression "*)0x7" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x8:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x8" ( (comma_expression "Mips_relobj<32,_false> *)0x8" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x8" identifier > (pointer_expression "*)0x8" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x65:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x65" ( (comma_expression "Mips_relobj<32,_false> *)0x65" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x65" identifier > (pointer_expression "*)0x65" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x88:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x88" ( (comma_expression "Mips_relobj<32,_false> *)0x88" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x88" identifier > (pointer_expression "*)0x88" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x89:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x89" ( (comma_expression "Mips_relobj<32,_false> *)0x89" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x89" identifier > (pointer_expression "*)0x89" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0xac:\n        local_b0 = local_cc;\n        pSVar33 = target->gp_;\n        if (pSVar33 != (Sized_symbol<32> *)0x0) goto LAB_002c370d;\n        VVar57 = 0;\nLAB_002c3751:\n        uVar40 = *(uint *)view;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (lo16_reloc == 0xac) {\n            local_b0 = uVar40 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar40 & 0xffff) - 0x10000;\n            if ((uVar40 & 0x8000) == 0) {\n              local_b0 = uVar40 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0xac" ( (comma_expression "Mips_relobj<32,_false> *)0xac" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0xac" identifier > (pointer_expression "*)0xac" * (ERROR ")" )) number_literal))) )) : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (expression_statement "pSVar33 = target->gp_;" (assignment_expression "pSVar33 = target->gp_" identifier = (field_expression "target->gp_" identifier -> field_identifier)) ;) (if_statement "if (pSVar33 != (Sized_symbol<32> *)0x0) goto LAB_002c370d;" if (parenthesized_expression "(pSVar33 != (Sized_symbol<32> *)0x0)" ( (binary_expression "pSVar33 != (Sized_symbol<32> *)0x0)" identifier != (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) )) (goto_statement "goto LAB_002c370d;" goto statement_identifier ;)) (expression_statement "VVar57 = 0;" (assignment_expression "VVar57 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c3751:\n        uVar40 = *(uint *)view;" statement_identifier : (expression_statement "uVar40 = *(uint *)view;" (assignment_expression "uVar40 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" identifier = identifier) ;) (if_statement "if ((char)local_b8 != '\0') {\n          if (lo16_reloc == 0xac) {\n            local_b0 = uVar40 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar40 & 0xffff) - 0x10000;\n            if ((uVar40 & 0x8000) == 0) {\n              local_b0 = uVar40 & 0xffff;\n            }\n          }\n        }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (lo16_reloc == 0xac) {\n            local_b0 = uVar40 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar40 & 0xffff) - 0x10000;\n            if ((uVar40 & 0x8000) == 0) {\n              local_b0 = uVar40 & 0xffff;\n            }\n          }\n        }" { (if_statement "if (lo16_reloc == 0xac) {\n            local_b0 = uVar40 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar40 & 0xffff) - 0x10000;\n            if ((uVar40 & 0x8000) == 0) {\n              local_b0 = uVar40 & 0xffff;\n            }\n          }" if (parenthesized_expression "(lo16_reloc == 0xac)" ( (binary_expression "lo16_reloc == 0xac" identifier == number_literal) )) (compound_statement "{\n            local_b0 = uVar40 * 4 & 0x1fc;\n          }" { (expression_statement "local_b0 = uVar40 * 4 & 0x1fc;" (assignment_expression "local_b0 = uVar40 * 4 & 0x1fc" identifier = (binary_expression "uVar40 * 4 & 0x1fc" (binary_expression "uVar40 * 4" identifier * number_literal) & number_literal)) ;) }) (else_clause "else {\n            local_b0 = (uVar40 & 0xffff) - 0x10000;\n            if ((uVar40 & 0x8000) == 0) {\n              local_b0 = uVar40 & 0xffff;\n            }\n          }" else (compound_statement "{\n            local_b0 = (uVar40 & 0xffff) - 0x10000;\n            if ((uVar40 & 0x8000) == 0) {\n              local_b0 = uVar40 & 0xffff;\n            }\n          }" { (expression_statement "local_b0 = (uVar40 & 0xffff) - 0x10000;" (assignment_expression "local_b0 = (uVar40 & 0xffff) - 0x10000" identifier = (binary_expression "(uVar40 & 0xffff) - 0x10000" (parenthesized_expression "(uVar40 & 0xffff)" ( (binary_expression "uVar40 & 0xffff" identifier & number_literal) )) - number_literal)) ;) (if_statement "if ((uVar40 & 0x8000) == 0) {\n              local_b0 = uVar40 & 0xffff;\n            }" if (parenthesized_expression "((uVar40 & 0x8000) == 0)" ( (binary_expression "(uVar40 & 0x8000) == 0" (parenthesized_expression "(uVar40 & 0x8000)" ( (binary_expression "uVar40 & 0x8000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              local_b0 = uVar40 & 0xffff;\n            }" { (expression_statement "local_b0 = uVar40 & 0xffff;" (assignment_expression "local_b0 = uVar40 & 0xffff" identifier = (binary_expression "uVar40 & 0xffff" identifier & number_literal)) ;) })) }))) })) (goto_statement "goto LAB_002c378b;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x9:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x9" ( (comma_expression "Mips_relobj<32,_false> *)0x9" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x9" identifier > (pointer_expression "*)0x9" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x66:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x66" ( (comma_expression "Mips_relobj<32,_false> *)0x66" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x66" identifier > (pointer_expression "*)0x66" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x8a:\n        goto switchD_002c18c9_caseD_9;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x8a" ( (comma_expression "Mips_relobj<32,_false> *)0x8a" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x8a" identifier > (pointer_expression "*)0x8a" * (ERROR ")" )) number_literal))) )) : (goto_statement "goto switchD_002c18c9_caseD_9;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0xa:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0xa" ( (comma_expression "Mips_relobj<32,_false> *)0xa" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0xa" identifier > (pointer_expression "*)0xa" * (ERROR ")" )) number_literal))) )) : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c2e45;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0xb:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0xb" ( (comma_expression "Mips_relobj<32,_false> *)0xb" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0xb" identifier > (pointer_expression "*)0xb" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x67:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x67" ( (comma_expression "Mips_relobj<32,_false> *)0x67" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x67" identifier > (pointer_expression "*)0x67" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x8e:\n        goto switchD_002c18c9_caseD_b;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x8e" ( (comma_expression "Mips_relobj<32,_false> *)0x8e" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x8e" identifier > (pointer_expression "*)0x8e" * (ERROR ")" )) number_literal))) )) : (goto_statement "goto switchD_002c18c9_caseD_b;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0xc:\n        goto switchD_002c18c9_caseD_c;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0xc" ( (comma_expression "Mips_relobj<32,_false> *)0xc" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0xc" identifier > (pointer_expression "*)0xc" * (ERROR ")" )) number_literal))) )) : (goto_statement "goto switchD_002c18c9_caseD_c;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x12:\n        goto switchD_002c18c9_caseD_12;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x12" ( (comma_expression "Mips_relobj<32,_false> *)0x12" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x12" identifier > (pointer_expression "*)0x12" * (ERROR ")" )) number_literal))) )) : (goto_statement "goto switchD_002c18c9_caseD_12;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x13:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x13" ( (comma_expression "Mips_relobj<32,_false> *)0x13" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x13" identifier > (pointer_expression "*)0x13" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x91:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x91" ( (comma_expression "Mips_relobj<32,_false> *)0x91" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x91" identifier > (pointer_expression "*)0x91" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0xf9:\n        goto switchD_002c18c9_caseD_13;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0xf9" ( (comma_expression "Mips_relobj<32,_false> *)0xf9" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0xf9" identifier > (pointer_expression "*)0xf9" * (ERROR ")" )) number_literal))) )) : (goto_statement "goto switchD_002c18c9_caseD_13;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x14:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x14" ( (comma_expression "Mips_relobj<32,_false> *)0x14" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x14" identifier > (pointer_expression "*)0x14" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x92:\n        goto switchD_002c18c9_caseD_14;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x92" ( (comma_expression "Mips_relobj<32,_false> *)0x92" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x92" identifier > (pointer_expression "*)0x92" * (ERROR ")" )) number_literal))) )) : (goto_statement "goto switchD_002c18c9_caseD_14;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x15:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x15" ( (comma_expression "Mips_relobj<32,_false> *)0x15" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x15" identifier > (pointer_expression "*)0x15" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x93:\n        goto switchD_002c18c9_caseD_15;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x93" ( (comma_expression "Mips_relobj<32,_false> *)0x93" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x93" identifier > (pointer_expression "*)0x93" * (ERROR ")" )) number_literal))) )) : (goto_statement "goto switchD_002c18c9_caseD_15;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x16:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x16" ( (comma_expression "Mips_relobj<32,_false> *)0x16" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x16" identifier > (pointer_expression "*)0x16" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x1e:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x1e" ( (comma_expression "Mips_relobj<32,_false> *)0x1e" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x1e" identifier > (pointer_expression "*)0x1e" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x94:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x94" ( (comma_expression "Mips_relobj<32,_false> *)0x94" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x94" identifier > (pointer_expression "*)0x94" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x99:\n        goto switchD_002c18c9_caseD_16;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x99" ( (comma_expression "Mips_relobj<32,_false> *)0x99" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x99" identifier > (pointer_expression "*)0x99" * (ERROR ")" )) number_literal))) )) : (goto_statement "goto switchD_002c18c9_caseD_16;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x17:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x17" ( (comma_expression "Mips_relobj<32,_false> *)0x17" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x17" identifier > (pointer_expression "*)0x17" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x1f:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x1f" ( (comma_expression "Mips_relobj<32,_false> *)0x1f" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x1f" identifier > (pointer_expression "*)0x1f" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x95:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x95" ( (comma_expression "Mips_relobj<32,_false> *)0x95" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x95" identifier > (pointer_expression "*)0x95" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x9a:\n        goto switchD_002c18c9_caseD_17;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x9a" ( (comma_expression "Mips_relobj<32,_false> *)0x9a" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x9a" identifier > (pointer_expression "*)0x9a" * (ERROR ")" )) number_literal))) )) : (goto_statement "goto switchD_002c18c9_caseD_17;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x18:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x18" ( (comma_expression "Mips_relobj<32,_false> *)0x18" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x18" identifier > (pointer_expression "*)0x18" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = *(Value *)view;\n        }\n        goto LAB_002c2efa;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x96" ( (comma_expression "Mips_relobj<32,_false> *)0x96" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x96" identifier > (pointer_expression "*)0x96" * (ERROR ")" )) number_literal))) )) : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (if_statement "if ((char)local_b8 != '\0') {\n          local_b0 = *(Value *)view;\n        }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_b0 = *(Value *)view;\n        }" { (expression_statement "local_b0 = *(Value *)view;" (assignment_expression "local_b0 = *(Value *)view" identifier = (pointer_expression "*(Value *)view" * (cast_expression "(Value *)view" ( (type_descriptor "Value *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (goto_statement "goto LAB_002c2efa;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x1c:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x1c" ( (comma_expression "Mips_relobj<32,_false> *)0x1c" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x1c" identifier > (pointer_expression "*)0x1c" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x97" ( (comma_expression "Mips_relobj<32,_false> *)0x97" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x97" identifier > (pointer_expression "*)0x97" * (ERROR ")" )) number_literal))) )) : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c1ed8;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x1d:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x1d" ( (comma_expression "Mips_relobj<32,_false> *)0x1d" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x1d" identifier > (pointer_expression "*)0x1d" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x98" ( (comma_expression "Mips_relobj<32,_false> *)0x98" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x98" identifier > (pointer_expression "*)0x98" * (ERROR ")" )) number_literal))) )) : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c2f32;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x25:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x25" ( (comma_expression "Mips_relobj<32,_false> *)0x25" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x25" identifier > (pointer_expression "*)0x25" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x9c:\n        goto switchD_002c18c9_caseD_25;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x9c" ( (comma_expression "Mips_relobj<32,_false> *)0x9c" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x9c" identifier > (pointer_expression "*)0x9c" * (ERROR ")" )) number_literal))) )) : (goto_statement "goto switchD_002c18c9_caseD_25;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x27:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x27" ( (comma_expression "Mips_relobj<32,_false> *)0x27" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x27" identifier > (pointer_expression "*)0x27" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x29:\n        goto switchD_002c18c9_caseD_27;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x29" ( (comma_expression "Mips_relobj<32,_false> *)0x29" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x29" identifier > (pointer_expression "*)0x29" * (ERROR ")" )) number_literal))) )) : (goto_statement "goto switchD_002c18c9_caseD_27;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x2a:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x2a" ( (comma_expression "Mips_relobj<32,_false> *)0x2a" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x2a" identifier > (pointer_expression "*)0x2a" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x6a:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x6a" ( (comma_expression "Mips_relobj<32,_false> *)0x6a" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x6a" identifier > (pointer_expression "*)0x6a" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0xa2:\n        goto switchD_002c18c9_caseD_2a;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0xa2" ( (comma_expression "Mips_relobj<32,_false> *)0xa2" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0xa2" identifier > (pointer_expression "*)0xa2" * (ERROR ")" )) number_literal))) )) : (goto_statement "goto switchD_002c18c9_caseD_2a;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x2b:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x2b" ( (comma_expression "Mips_relobj<32,_false> *)0x2b" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x2b" identifier > (pointer_expression "*)0x2b" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x6b:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x6b" ( (comma_expression "Mips_relobj<32,_false> *)0x6b" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x6b" identifier > (pointer_expression "*)0x6b" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0xa3:\n        goto switchD_002c18c9_caseD_2b;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0xa3" ( (comma_expression "Mips_relobj<32,_false> *)0xa3" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0xa3" identifier > (pointer_expression "*)0xa3" * (ERROR ")" )) number_literal))) )) : (goto_statement "goto switchD_002c18c9_caseD_2b;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x2c:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x2c" ( (comma_expression "Mips_relobj<32,_false> *)0x2c" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x2c" identifier > (pointer_expression "*)0x2c" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x6c:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x6c" ( (comma_expression "Mips_relobj<32,_false> *)0x6c" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x6c" identifier > (pointer_expression "*)0x6c" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0xa4:\n        goto switchD_002c18c9_caseD_2c;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0xa4" ( (comma_expression "Mips_relobj<32,_false> *)0xa4" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0xa4" identifier > (pointer_expression "*)0xa4" * (ERROR ")" )) number_literal))) )) : (goto_statement "goto switchD_002c18c9_caseD_2c;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x2d:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x2d" ( (comma_expression "Mips_relobj<32,_false> *)0x2d" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x2d" identifier > (pointer_expression "*)0x2d" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x6d:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x6d" ( (comma_expression "Mips_relobj<32,_false> *)0x6d" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x6d" identifier > (pointer_expression "*)0x6d" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0xa5:\n        goto switchD_002c18c9_caseD_2d;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0xa5" ( (comma_expression "Mips_relobj<32,_false> *)0xa5" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0xa5" identifier > (pointer_expression "*)0xa5" * (ERROR ")" )) number_literal))) )) : (goto_statement "goto switchD_002c18c9_caseD_2d;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x2e:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x2e" ( (comma_expression "Mips_relobj<32,_false> *)0x2e" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x2e" identifier > (pointer_expression "*)0x2e" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x6e:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x6e" ( (comma_expression "Mips_relobj<32,_false> *)0x6e" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x6e" identifier > (pointer_expression "*)0x6e" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0xa6:\n        goto switchD_002c18c9_caseD_2e;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0xa6" ( (comma_expression "Mips_relobj<32,_false> *)0xa6" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0xa6" identifier > (pointer_expression "*)0xa6" * (ERROR ")" )) number_literal))) )) : (goto_statement "goto switchD_002c18c9_caseD_2e;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x2f:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x2f" ( (comma_expression "Mips_relobj<32,_false> *)0x2f" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x2f" identifier > (pointer_expression "*)0x2f" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x30:\n        goto switchD_002c18c9_caseD_2f;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x30" ( (comma_expression "Mips_relobj<32,_false> *)0x30" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x30" identifier > (pointer_expression "*)0x30" * (ERROR ")" )) number_literal))) )) : (goto_statement "goto switchD_002c18c9_caseD_2f;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x31:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x31" ( (comma_expression "Mips_relobj<32,_false> *)0x31" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x31" identifier > (pointer_expression "*)0x31" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x6f:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x6f" ( (comma_expression "Mips_relobj<32,_false> *)0x6f" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x6f" identifier > (pointer_expression "*)0x6f" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0xa9:\n        goto switchD_002c18c9_caseD_31;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0xa9" ( (comma_expression "Mips_relobj<32,_false> *)0xa9" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0xa9" identifier > (pointer_expression "*)0xa9" * (ERROR ")" )) number_literal))) )) : (goto_statement "goto switchD_002c18c9_caseD_31;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x32:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x32" ( (comma_expression "Mips_relobj<32,_false> *)0x32" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x32" identifier > (pointer_expression "*)0x32" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0x70:" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x70" ( (comma_expression "Mips_relobj<32,_false> *)0x70" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x70" identifier > (pointer_expression "*)0x70" * (ERROR ")" )) number_literal))) )) :) (case_statement "case (Mips_relobj<32,_false> *)0xaa:\n        goto switchD_002c18c9_caseD_32;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0xaa" ( (comma_expression "Mips_relobj<32,_false> *)0xaa" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0xaa" identifier > (pointer_expression "*)0xaa" * (ERROR ")" )) number_literal))) )) : (goto_statement "goto switchD_002c18c9_caseD_32;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x3c" ( (comma_expression "Mips_relobj<32,_false> *)0x3c" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x3c" identifier > (pointer_expression "*)0x3c" * (ERROR ")" )) number_literal))) )) : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c2f96;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x3d" ( (comma_expression "Mips_relobj<32,_false> *)0x3d" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x3d" identifier > (pointer_expression "*)0x3d" * (ERROR ")" )) number_literal))) )) : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c304d;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x3e" ( (comma_expression "Mips_relobj<32,_false> *)0x3e" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x3e" identifier > (pointer_expression "*)0x3e" * (ERROR ")" )) number_literal))) )) : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c3104;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x3f" ( (comma_expression "Mips_relobj<32,_false> *)0x3f" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x3f" identifier > (pointer_expression "*)0x3f" * (ERROR ")" )) number_literal))) )) : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c31c0;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x40:\n        goto switchD_002c18c9_caseD_40;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x40" ( (comma_expression "Mips_relobj<32,_false> *)0x40" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x40" identifier > (pointer_expression "*)0x40" * (ERROR ")" )) number_literal))) )) : (goto_statement "goto switchD_002c18c9_caseD_40;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x41" ( (comma_expression "Mips_relobj<32,_false> *)0x41" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x41" identifier > (pointer_expression "*)0x41" * (ERROR ")" )) number_literal))) )) : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c330f;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x8b" ( (comma_expression "Mips_relobj<32,_false> *)0x8b" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x8b" identifier > (pointer_expression "*)0x8b" * (ERROR ")" )) number_literal))) )) : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c3385;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x8c" ( (comma_expression "Mips_relobj<32,_false> *)0x8c" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x8c" identifier > (pointer_expression "*)0x8c" * (ERROR ")" )) number_literal))) )) : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c328d;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x8d" ( (comma_expression "Mips_relobj<32,_false> *)0x8d" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x8d" identifier > (pointer_expression "*)0x8d" * (ERROR ")" )) number_literal))) )) : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c33fc;" goto statement_identifier ;)) (case_statement "case (Mips_relobj<32,_false> *)0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = *(Value *)view;\n        }\n        goto LAB_002c3260;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0xf8" ( (comma_expression "Mips_relobj<32,_false> *)0xf8" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0xf8" identifier > (pointer_expression "*)0xf8" * (ERROR ")" )) number_literal))) )) : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (if_statement "if ((char)local_b8 != '\0') {\n          local_b0 = *(Value *)view;\n        }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_b0 = *(Value *)view;\n        }" { (expression_statement "local_b0 = *(Value *)view;" (assignment_expression "local_b0 = *(Value *)view" identifier = (pointer_expression "*(Value *)view" * (cast_expression "(Value *)view" ( (type_descriptor "Value *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (goto_statement "goto LAB_002c3260;" goto statement_identifier ;)) })) })) (expression_statement "local_cc = this->calculated_value_;" (assignment_expression "local_cc = this->calculated_value_" identifier = (field_expression "this->calculated_value_" identifier -> field_identifier)) ;) (expression_statement "this->calculate_only_ = (bool)calculate_only;" (assignment_expression "this->calculate_only_ = (bool)calculate_only" (field_expression "this->calculate_only_" identifier -> field_identifier) = (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier)) ;) (expression_statement "puVar44 = &switchD_002c14fa::switchdataD_0055d438;" (assignment_expression "puVar44 = &switchD_002c14fa" identifier = (pointer_expression "&switchD_002c14fa" & identifier)) (ERROR "::switchdataD_0055d438" : : identifier) ;) (expression_statement "pp_Var43 = (_List_node_base **)puVar44;" (assignment_expression "pp_Var43 = (_List_node_base **)puVar44" identifier = (cast_expression "(_List_node_base **)puVar44" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) switch (parenthesized_expression "(local_98)" ( identifier )) { (case_statement "default:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_0:\n      pp_Var43 = (_List_node_base **)gettext("unsupported reloc %u");\n      pp_Var56 = (_List_node_base **)relnum;\n      gold::gold_error_at_location<32,_false>(relinfo,relnum,(ulong)uVar7,(char *)pp_Var43,local_98)\n      ;\n      break;" default : (expression_statement "local_b8 = (_Bit_type *)0x0;" (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "switchD_002c18c9_caseD_0:\n      pp_Var43 = (_List_node_base **)gettext("unsupported reloc %u");" statement_identifier : (expression_statement "pp_Var43 = (_List_node_base **)gettext("unsupported reloc %u");" (assignment_expression "pp_Var43 = (_List_node_base **)gettext("unsupported reloc %u")" identifier = (cast_expression "(_List_node_base **)gettext("unsupported reloc %u")" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "gettext("unsupported reloc %u")" identifier (argument_list "("unsupported reloc %u")" ( (string_literal ""unsupported reloc %u"" " string_content ") ))))) ;)) (expression_statement "pp_Var56 = (_List_node_base **)relnum;" (assignment_expression "pp_Var56 = (_List_node_base **)relnum" identifier = (cast_expression "(_List_node_base **)relnum" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (labeled_statement "gold::gold_error_at_location<32,_false>(relinfo,relnum,(ulong)uVar7,(char *)pp_Var43,local_98)\n      ;" statement_identifier : (ERROR ":" :) (expression_statement "gold_error_at_location<32,_false>(relinfo,relnum,(ulong)uVar7,(char *)pp_Var43,local_98)\n      ;" (comma_expression "gold_error_at_location<32,_false>(relinfo,relnum,(ulong)uVar7,(char *)pp_Var43,local_98)" (binary_expression "gold_error_at_location<32" identifier < number_literal) , (binary_expression "_false>(relinfo,relnum,(ulong)uVar7,(char *)pp_Var43,local_98)" identifier > (parenthesized_expression "(relinfo,relnum,(ulong)uVar7,(char *)pp_Var43,local_98)" ( (comma_expression "relinfo,relnum,(ulong)uVar7,(char *)pp_Var43,local_98" identifier , (comma_expression "relnum,(ulong)uVar7,(char *)pp_Var43,local_98" identifier , (comma_expression "(ulong)uVar7,(char *)pp_Var43,local_98" (cast_expression "(ulong)uVar7" ( (type_descriptor "ulong" type_identifier) ) identifier) , (comma_expression "(char *)pp_Var43,local_98" (cast_expression "(char *)pp_Var43" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier)))) )))) ;)) (break_statement "break;" break ;)) (case_statement "case (Mips_relobj<32,_false> *)0x1:\n      local_b8 = (_Bit_type *)0x0;\n      local_b0 = local_cc;\nLAB_002c359b:\n      pp_Var56 = (_List_node_base **)this_00;\n      uVar39 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      if (calculate_only != 0) goto LAB_002c1f30;\n      *(short *)view = (short)uVar39;\n      SVar26 = (Status)(0xffff < uVar39 + 0x8000);\n      break;" case (parenthesized_expression "(Mips_relobj<32,_false> *)0x1" ( (comma_expression "Mips_relobj<32,_false> *)0x1" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x1" identifier > (pointer_expression "*)0x1" * (ERROR ")" )) number_literal))) )) : (expression_statement "local_b8 = (_Bit_type *)0x0;" (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (labeled_statement "LAB_002c359b:\n      pp_Var56 = (_List_node_base **)this_00;" statement_identifier : (expression_statement "pp_Var56 = (_List_node_base **)this_00;" (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;)) (expression_statement "uVar39 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);" (binary_expression "uVar39 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" (binary_expression "uVar39 = gold::Symbol_value<32>::value<false" (binary_expression "uVar39 = gold::Symbol_value<32>::value" (binary_expression "uVar39 = gold::Symbol_value<32" (assignment_expression "uVar39 = gold" identifier = identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "::" : :) identifier) < false) > (parenthesized_expression "(psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" ( (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,local_b0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,local_b0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,local_b0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ))) ;) (if_statement "if (calculate_only != 0) goto LAB_002c1f30;" if (parenthesized_expression "(calculate_only != 0)" ( (binary_expression "calculate_only != 0" identifier != number_literal) )) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (expression_statement "*(short *)view = (short)uVar39;" (assignment_expression "*(short *)view = (short)uVar39" (pointer_expression "*(short *)view" * (cast_expression "(short *)view" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(short)uVar39" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) (expression_statement "SVar26 = (Status)(0xffff < uVar39 + 0x8000);" (assignment_expression "SVar26 = (Status)(0xffff < uVar39 + 0x8000)" identifier = (call_expression "(Status)(0xffff < uVar39 + 0x8000)" (parenthesized_expression "(Status)" ( identifier )) (argument_list "(0xffff < uVar39 + 0x8000)" ( (binary_expression "0xffff < uVar39 + 0x8000" number_literal < (binary_expression "uVar39 + 0x8000" identifier + number_literal)) )))) ;) (break_statement "break;" break ;)) case (parenthesized_expression "(Mips_relobj<32,_false> *)0x2" ( (comma_expression "Mips_relobj<32,_false> *)0x2" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x2" identifier > (pointer_expression "*)0x2" * (ERROR ")" )) number_literal))) )) : (expression_statement "local_b8 = (_Bit_type *)0x0;" (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "switchD_002c18c9_caseD_2:\n      pp_Var56 = (_List_node_base **)0x2;" statement_identifier : (expression_statement "pp_Var56 = (_List_node_base **)0x2;" (assignment_expression "pp_Var56 = (_List_node_base **)0x2" identifier = (cast_expression "(_List_node_base **)0x2" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;)) (expression_statement "pp_Var43 = (_List_node_base **)target;" (assignment_expression "pp_Var43 = (_List_node_base **)target" identifier = (cast_expression "(_List_node_base **)target" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "bVar67 = should_apply_static_reloc\n                         ((Relocate *)gsym,(Mips_symbol<32> *)0x2,(uint)output_section,\n                          (Output_section *)target,target_00);" (assignment_expression "bVar67 = should_apply_static_reloc\n                         ((Relocate *)gsym,(Mips_symbol<32> *)0x2,(uint)output_section,\n                          (Output_section *)target,target_00)" identifier = (call_expression "should_apply_static_reloc\n                         ((Relocate *)gsym,(Mips_symbol<32> *)0x2,(uint)output_section,\n                          (Output_section *)target,target_00)" identifier (argument_list "((Relocate *)gsym,(Mips_symbol<32> *)0x2,(uint)output_section,\n                          (Output_section *)target,target_00)" ( (cast_expression "(Relocate *)gsym" ( (type_descriptor "Relocate *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (parenthesized_expression "(Mips_symbol<32> *)0x2,(uint)output_section,\n                          (Output_section *)target,target_00)" ( (comma_expression "Mips_symbol<32> *)0x2,(uint)output_section,\n                          (Output_section *)target,target_00" (binary_expression "Mips_symbol<32> *)0x2" (binary_expression "Mips_symbol<32" identifier < number_literal) > (pointer_expression "*)0x2" * (ERROR ")" )) number_literal)) , (comma_expression "(uint)output_section,\n                          (Output_section *)target,target_00" (cast_expression "(uint)output_section" ( (type_descriptor "uint" type_identifier) ) identifier) , (comma_expression "(Output_section *)target,target_00" (cast_expression "(Output_section *)target" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier))) )) )))) ;) (if_statement "if (bVar67) {\n        bVar67 = this->calculate_only_;\n        VVar23 = local_cc;\n        if ((char)local_b8 != '\0') {\n          VVar23 = *(Value *)view;\n        }\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n        if (bVar67 == false) {\n          SVar26 = STATUS_OKAY;\n          *(Value *)view = VVar23;\n        }\n        else {\n          SVar26 = STATUS_OKAY;\n          this->calculated_value_ = VVar23;\n        }\n      }" if (parenthesized_expression "(bVar67)" ( identifier )) (compound_statement "{\n        bVar67 = this->calculate_only_;\n        VVar23 = local_cc;\n        if ((char)local_b8 != '\0') {\n          VVar23 = *(Value *)view;\n        }\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n        if (bVar67 == false) {\n          SVar26 = STATUS_OKAY;\n          *(Value *)view = VVar23;\n        }\n        else {\n          SVar26 = STATUS_OKAY;\n          this->calculated_value_ = VVar23;\n        }\n      }" { (expression_statement "bVar67 = this->calculate_only_;" (assignment_expression "bVar67 = this->calculate_only_" identifier = (field_expression "this->calculate_only_" identifier -> field_identifier)) ;) (expression_statement "VVar23 = local_cc;" (assignment_expression "VVar23 = local_cc" identifier = identifier) ;) (if_statement "if ((char)local_b8 != '\0') {\n          VVar23 = *(Value *)view;\n        }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          VVar23 = *(Value *)view;\n        }" { (expression_statement "VVar23 = *(Value *)view;" (assignment_expression "VVar23 = *(Value *)view" identifier = (pointer_expression "*(Value *)view" * (cast_expression "(Value *)view" ( (type_descriptor "Value *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (expression_statement "pp_Var56 = (_List_node_base **)this_00;" (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);" (binary_expression "VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23)" (binary_expression "VVar23 = gold::Symbol_value<32>::value<false" (binary_expression "VVar23 = gold::Symbol_value<32>::value" (binary_expression "VVar23 = gold::Symbol_value<32" (assignment_expression "VVar23 = gold" identifier = identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "::" : :) identifier) < false) > (parenthesized_expression "(psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23)" ( (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,VVar23)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,VVar23" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,VVar23" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ))) ;) (if_statement "if (bVar67 == false) {\n          SVar26 = STATUS_OKAY;\n          *(Value *)view = VVar23;\n        }\n        else {\n          SVar26 = STATUS_OKAY;\n          this->calculated_value_ = VVar23;\n        }" if (parenthesized_expression "(bVar67 == false)" ( (binary_expression "bVar67 == false" identifier == false) )) (compound_statement "{\n          SVar26 = STATUS_OKAY;\n          *(Value *)view = VVar23;\n        }" { (expression_statement "SVar26 = STATUS_OKAY;" (assignment_expression "SVar26 = STATUS_OKAY" identifier = identifier) ;) (expression_statement "*(Value *)view = VVar23;" (assignment_expression "*(Value *)view = VVar23" (pointer_expression "*(Value *)view" * (cast_expression "(Value *)view" ( (type_descriptor "Value *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (else_clause "else {\n          SVar26 = STATUS_OKAY;\n          this->calculated_value_ = VVar23;\n        }" else (compound_statement "{\n          SVar26 = STATUS_OKAY;\n          this->calculated_value_ = VVar23;\n        }" { (expression_statement "SVar26 = STATUS_OKAY;" (assignment_expression "SVar26 = STATUS_OKAY" identifier = identifier) ;) (expression_statement "this->calculated_value_ = VVar23;" (assignment_expression "this->calculated_value_ = VVar23" (field_expression "this->calculated_value_" identifier -> field_identifier) = identifier) ;) }))) })) if (parenthesized_expression "(((gsym != (Sized_symbol<32> *)0x0) &&\n          ((bVar21 = (byte)(gsym->super_Symbol).field_0x39 >> 2, (bVar21 & 0x3c) == 0x3c ||\n           ((bVar21 & 0x30) == 0x20)))) && (*(int *)((long)&gsym[1].super_Symbol.u1_ + 4) == 1))" ( (parenthesized_expression "((gsym != (Sized_symbol<32> *)0x0) &&\n          ((bVar21 = (byte)(gsym->super_Symbol).field_0x39 >> 2, (bVar21 & 0x3c) == 0x3c ||\n           ((bVar21 & 0x30) == 0x20)))) && (*(int *)((long)&gsym[1].super_Symbol.u1_ + 4) == 1))" ( (binary_expression "(gsym != (Sized_symbol<32> *)0x0) &&\n          ((bVar21 = (byte)(gsym->super_Symbol).field_0x39 >> 2, (bVar21 & 0x3c) == 0x3c ||\n           ((bVar21 & 0x30) == 0x20)))) && (*(int *)((long)&gsym[1].super_Symbol.u1_ + 4) == 1)" (parenthesized_expression "(gsym != (Sized_symbol<32> *)0x0) &&\n          ((bVar21 = (byte)(gsym->super_Symbol).field_0x39 >> 2, (bVar21 & 0x3c) == 0x3c ||\n           ((bVar21 & 0x30) == 0x20))))" ( (binary_expression "gsym != (Sized_symbol<32> *)0x0) &&\n          ((bVar21 = (byte)(gsym->super_Symbol).field_0x39 >> 2, (bVar21 & 0x3c) == 0x3c ||\n           ((bVar21 & 0x30) == 0x20)))" (binary_expression "gsym != (Sized_symbol<32> *)0x0)" identifier != (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) && (parenthesized_expression "((bVar21 = (byte)(gsym->super_Symbol).field_0x39 >> 2, (bVar21 & 0x3c) == 0x3c ||\n           ((bVar21 & 0x30) == 0x20)))" ( (parenthesized_expression "(bVar21 = (byte)(gsym->super_Symbol).field_0x39 >> 2, (bVar21 & 0x3c) == 0x3c ||\n           ((bVar21 & 0x30) == 0x20))" ( (comma_expression "bVar21 = (byte)(gsym->super_Symbol).field_0x39 >> 2, (bVar21 & 0x3c) == 0x3c ||\n           ((bVar21 & 0x30) == 0x20)" (assignment_expression "bVar21 = (byte)(gsym->super_Symbol).field_0x39 >> 2" identifier = (binary_expression "(byte)(gsym->super_Symbol).field_0x39 >> 2" (field_expression "(byte)(gsym->super_Symbol).field_0x39" (call_expression "(byte)(gsym->super_Symbol)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(gsym->super_Symbol)" ( (field_expression "gsym->super_Symbol" identifier -> field_identifier) ))) . field_identifier) >> number_literal)) , (binary_expression "(bVar21 & 0x3c) == 0x3c ||\n           ((bVar21 & 0x30) == 0x20)" (binary_expression "(bVar21 & 0x3c) == 0x3c" (parenthesized_expression "(bVar21 & 0x3c)" ( (binary_expression "bVar21 & 0x3c" identifier & number_literal) )) == number_literal) || (parenthesized_expression "((bVar21 & 0x30) == 0x20)" ( (binary_expression "(bVar21 & 0x30) == 0x20" (parenthesized_expression "(bVar21 & 0x30)" ( (binary_expression "bVar21 & 0x30" identifier & number_literal) )) == number_literal) )))) )) ))) )) && (parenthesized_expression "(*(int *)((long)&gsym[1].super_Symbol.u1_ + 4) == 1)" ( (binary_expression "*(int *)((long)&gsym[1].super_Symbol.u1_ + 4) == 1" (pointer_expression "*(int *)((long)&gsym[1].super_Symbol.u1_ + 4)" * (cast_expression "(int *)((long)&gsym[1].super_Symbol.u1_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&gsym[1].super_Symbol.u1_ + 4)" ( (binary_expression "(long)&gsym[1].super_Symbol.u1_ + 4" (cast_expression "(long)&gsym[1].super_Symbol.u1_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&gsym[1].super_Symbol.u1_" & (field_expression "gsym[1].super_Symbol.u1_" (field_expression "gsym[1].super_Symbol" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) == number_literal) ))) )) )) { (expression_statement "pMVar60 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.got_offsets_;" (assignment_expression "pMVar60 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.got_offsets_" identifier = (binary_expression "*(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.got_offsets_" (pointer_expression "*(Mips_relobj<32,_false> **)" * (parenthesized_expression "(Mips_relobj<32,_false> **)" ( (comma_expression "Mips_relobj<32,_false> **" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> **" identifier > (pointer_expression "**" * (pointer_expression "*" * identifier)))) ))) & (field_expression "gsym[1].super_Symbol.got_offsets_" (field_expression "gsym[1].super_Symbol" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) ;) if (parenthesized_expression "(pMVar60 != (Mips_relobj<32,_false> *)0x0)" ( (binary_expression "pMVar60 != (Mips_relobj<32,_false> *)0x0)" identifier != (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) { (if_statement "if (*(char *)&gsym[1].super_Symbol.name_ == '\0') goto LAB_002c473f;" if (parenthesized_expression "(*(char *)&gsym[1].super_Symbol.name_ == '\0')" ( (binary_expression "*(char *)&gsym[1].super_Symbol.name_ == '\0'" (pointer_expression "*(char *)&gsym[1].super_Symbol.name_" * (cast_expression "(char *)&gsym[1].super_Symbol.name_" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&gsym[1].super_Symbol.name_" & (field_expression "gsym[1].super_Symbol.name_" (field_expression "gsym[1].super_Symbol" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002c473f;" goto statement_identifier ;)) (expression_statement "pp_Var56 = (_List_node_base **)\n                     &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                      super_Relobj.super_Object.name_;" (comma_expression "pp_Var56 = (_List_node_base **)\n                     &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                      super_Relobj.super_Object.name_" (assignment_expression "pp_Var56 = (_List_node_base **)\n                     &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" identifier = (binary_expression "(_List_node_base **)\n                     &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" (cast_expression "(_List_node_base **)\n                     &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj" & (field_expression "(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj" (parenthesized_expression "(pMVar60->super_Sized_relobj_file<32,_false>)" ( (comma_expression "pMVar60->super_Sized_relobj_file<32,_false" (binary_expression "pMVar60->super_Sized_relobj_file<32" (field_expression "pMVar60->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier))) < number_literal)) , (field_expression "_false>.\n                      super_Relobj.super_Object.name_" (field_expression "_false>.\n                      super_Relobj.super_Object" (field_expression "_false>.\n                      super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier)) ;) (assignment_expression "symval.u_.value =\n               Mips16_stub_section<32" (field_expression "symval.u_.value" (field_expression "symval.u_" identifier . field_identifier) . field_identifier) = (binary_expression "Mips16_stub_section<32" identifier < number_literal)) , identifier > (ERROR "::" : :) identifier ( ( (ERROR "Mips16_stub_section<32,_false> *)pMVar60,\n                          (Mips16_stub_section<32,_false> *)pp_Var56);" (comma_expression "Mips16_stub_section<32,_false> *)pMVar60,\n                          (Mips16_stub_section<32,_false> *)pp_Var56)" (binary_expression "Mips16_stub_section<32" identifier < number_literal) , (comma_expression "_false> *)pMVar60,\n                          (Mips16_stub_section<32,_false> *)pp_Var56)" (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier)) , (parenthesized_expression "(Mips16_stub_section<32,_false> *)pp_Var56)" ( (comma_expression "Mips16_stub_section<32,_false> *)pp_Var56" (binary_expression "Mips16_stub_section<32" identifier < number_literal) , (binary_expression "_false> *)pp_Var56" identifier > (pointer_expression "*)pp_Var56" * (ERROR ")" )) identifier))) )))) ;) identifier = ( (ERROR "Symbol_value<32> *)local_c8;\n        }\n        local_e4 = gsym[1].super_Symbol.u2_.shndx;" (binary_expression "Symbol_value<32> *)local_c8" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)local_c8" * (ERROR ")" )) identifier)) ; } (assignment_expression "local_e4 = gsym[1].super_Symbol.u2_.shndx" identifier = (field_expression "gsym[1].super_Symbol.u2_.shndx" (field_expression "gsym[1].super_Symbol.u2_" (field_expression "gsym[1].super_Symbol" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier)) ;) (binary_expression "pMVar53 = target->got_;\n        if (pMVar53 == (Mips_output_data_got<32,_false> *)0x0) {\n          do {\n            pMVar31 = Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n            uVar39 = (uint)pMVar31;\nLAB_002c2940:\n            *(uint *)&(pMVar53->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      _vptr_Output_data = uVar39;\n            SVar26 = STATUS_OKAY;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            pMVar53 = target->got_;\n          } while (pMVar53 == (Mips_output_data_got<32,_false> *)0x0);\n          if (gsym != (Sized_symbol<32> *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if ((char)gsym[1].value_ != '\0') {\n            pp_Var56 = (_List_node_base **)this_00;\n            this_01 = (Symbol *)psymval;\n            VVar23 = gold::Symbol_value<32>::value<false>\n                               (psymval,(Sized_relobj_file<32,_false> *)this_00,0);\n            if (*(int *)((long)&gsym[1].super_Symbol.u1_ + 4) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            pMVar58 = pMVar53->primary_got_;\n            if (pMVar58 == (Mips_got_info<32,_false> *)0x0) {\n              iVar25 = pMVar53->master_got_info_->page_gotno_ +\n                       pMVar53->master_got_info_->local_gotno_;\n            }\n            else {\n              iVar25 = pMVar58->page_gotno_ + pMVar58->local_gotno_;\n            }\n            uVar39 = (gsym->super_Symbol).dynsym_index_;\n            if (uVar39 == 0) {\n              gold::Symbol::dynsym_index(this_01);\n              goto LAB_002c461d;\n            }\n            pp_Var43 = (_List_node_base **)pMVar53->got_view_;\n            *(Value *)((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                              super_Relobj.super_Object._vptr_Object +\n                      (ulong)(((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *\n                              0x20 >> 3)) = VVar23;\n            break;\n          }\n        }\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold::Symbol_value<32>::value<false" (binary_expression "pMVar53 = target->got_;\n        if (pMVar53 == (Mips_output_data_got<32,_false> *)0x0) {\n          do {\n            pMVar31 = Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n            uVar39 = (uint)pMVar31;\nLAB_002c2940:\n            *(uint *)&(pMVar53->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      _vptr_Output_data = uVar39;\n            SVar26 = STATUS_OKAY;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            pMVar53 = target->got_;\n          } while (pMVar53 == (Mips_output_data_got<32,_false> *)0x0);\n          if (gsym != (Sized_symbol<32> *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if ((char)gsym[1].value_ != '\0') {\n            pp_Var56 = (_List_node_base **)this_00;\n            this_01 = (Symbol *)psymval;\n            VVar23 = gold::Symbol_value<32>::value<false>\n                               (psymval,(Sized_relobj_file<32,_false> *)this_00,0);\n            if (*(int *)((long)&gsym[1].super_Symbol.u1_ + 4) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            pMVar58 = pMVar53->primary_got_;\n            if (pMVar58 == (Mips_got_info<32,_false> *)0x0) {\n              iVar25 = pMVar53->master_got_info_->page_gotno_ +\n                       pMVar53->master_got_info_->local_gotno_;\n            }\n            else {\n              iVar25 = pMVar58->page_gotno_ + pMVar58->local_gotno_;\n            }\n            uVar39 = (gsym->super_Symbol).dynsym_index_;\n            if (uVar39 == 0) {\n              gold::Symbol::dynsym_index(this_01);\n              goto LAB_002c461d;\n            }\n            pp_Var43 = (_List_node_base **)pMVar53->got_view_;\n            *(Value *)((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                              super_Relobj.super_Object._vptr_Object +\n                      (ulong)(((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *\n                              0x20 >> 3)) = VVar23;\n            break;\n          }\n        }\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold::Symbol_value<32>::value" (binary_expression "pMVar53 = target->got_;\n        if (pMVar53 == (Mips_output_data_got<32,_false> *)0x0) {\n          do {\n            pMVar31 = Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n            uVar39 = (uint)pMVar31;\nLAB_002c2940:\n            *(uint *)&(pMVar53->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      _vptr_Output_data = uVar39;\n            SVar26 = STATUS_OKAY;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            pMVar53 = target->got_;\n          } while (pMVar53 == (Mips_output_data_got<32,_false> *)0x0);\n          if (gsym != (Sized_symbol<32> *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if ((char)gsym[1].value_ != '\0') {\n            pp_Var56 = (_List_node_base **)this_00;\n            this_01 = (Symbol *)psymval;\n            VVar23 = gold::Symbol_value<32>::value<false>\n                               (psymval,(Sized_relobj_file<32,_false> *)this_00,0);\n            if (*(int *)((long)&gsym[1].super_Symbol.u1_ + 4) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            pMVar58 = pMVar53->primary_got_;\n            if (pMVar58 == (Mips_got_info<32,_false> *)0x0) {\n              iVar25 = pMVar53->master_got_info_->page_gotno_ +\n                       pMVar53->master_got_info_->local_gotno_;\n            }\n            else {\n              iVar25 = pMVar58->page_gotno_ + pMVar58->local_gotno_;\n            }\n            uVar39 = (gsym->super_Symbol).dynsym_index_;\n            if (uVar39 == 0) {\n              gold::Symbol::dynsym_index(this_01);\n              goto LAB_002c461d;\n            }\n            pp_Var43 = (_List_node_base **)pMVar53->got_view_;\n            *(Value *)((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                              super_Relobj.super_Object._vptr_Object +\n                      (ulong)(((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *\n                              0x20 >> 3)) = VVar23;\n            break;\n          }\n        }\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold::Symbol_value<32" (assignment_expression "pMVar53 = target->got_;\n        if (pMVar53 == (Mips_output_data_got<32,_false> *)0x0) {\n          do {\n            pMVar31 = Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n            uVar39 = (uint)pMVar31;\nLAB_002c2940:\n            *(uint *)&(pMVar53->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      _vptr_Output_data = uVar39;\n            SVar26 = STATUS_OKAY;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            pMVar53 = target->got_;\n          } while (pMVar53 == (Mips_output_data_got<32,_false> *)0x0);\n          if (gsym != (Sized_symbol<32> *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if ((char)gsym[1].value_ != '\0') {\n            pp_Var56 = (_List_node_base **)this_00;\n            this_01 = (Symbol *)psymval;\n            VVar23 = gold::Symbol_value<32>::value<false>\n                               (psymval,(Sized_relobj_file<32,_false> *)this_00,0);\n            if (*(int *)((long)&gsym[1].super_Symbol.u1_ + 4) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            pMVar58 = pMVar53->primary_got_;\n            if (pMVar58 == (Mips_got_info<32,_false> *)0x0) {\n              iVar25 = pMVar53->master_got_info_->page_gotno_ +\n                       pMVar53->master_got_info_->local_gotno_;\n            }\n            else {\n              iVar25 = pMVar58->page_gotno_ + pMVar58->local_gotno_;\n            }\n            uVar39 = (gsym->super_Symbol).dynsym_index_;\n            if (uVar39 == 0) {\n              gold::Symbol::dynsym_index(this_01);\n              goto LAB_002c461d;\n            }\n            pp_Var43 = (_List_node_base **)pMVar53->got_view_;\n            *(Value *)((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                              super_Relobj.super_Object._vptr_Object +\n                      (ulong)(((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *\n                              0x20 >> 3)) = VVar23;\n            break;\n          }\n        }\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold" (call_expression "pMVar53 = target->got_;\n        if (pMVar53 == (Mips_output_data_got<32,_false> *)0x0) {\n          do {\n            pMVar31 = Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n            uVar39 = (uint)pMVar31;\nLAB_002c2940:\n            *(uint *)&(pMVar53->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      _vptr_Output_data = uVar39;\n            SVar26 = STATUS_OKAY;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            pMVar53 = target->got_;\n          } while (pMVar53 == (Mips_output_data_got<32,_false> *)0x0);\n          if (gsym != (Sized_symbol<32> *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if ((char)gsym[1].value_ != '\0') {\n            pp_Var56 = (_List_node_base **)this_00;\n            this_01 = (Symbol *)psymval;\n            VVar23 = gold::Symbol_value<32>::value<false>\n                               (psymval,(Sized_relobj_file<32,_false> *)this_00,0);\n            if (*(int *)((long)&gsym[1].super_Symbol.u1_ + 4) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            pMVar58 = pMVar53->primary_got_;\n            if (pMVar58 == (Mips_got_info<32,_false> *)0x0) {\n              iVar25 = pMVar53->master_got_info_->page_gotno_ +\n                       pMVar53->master_got_info_->local_gotno_;\n            }\n            else {\n              iVar25 = pMVar58->page_gotno_ + pMVar58->local_gotno_;\n            }\n            uVar39 = (gsym->super_Symbol).dynsym_index_;\n            if (uVar39 == 0) {\n              gold::Symbol::dynsym_index(this_01);\n              goto LAB_002c461d;\n            }\n            pp_Var43 = (_List_node_base **)pMVar53->got_view_;\n            *(Value *)((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                              super_Relobj.super_Object._vptr_Object +\n                      (ulong)(((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *\n                              0x20 >> 3)) = VVar23;\n            break;\n          }\n        }\n        pp_Var56 = (_List_node_base **)" (assignment_expression "pMVar53 = target->got_" identifier = (field_expression "target->got_" identifier -> field_identifier)) (ERROR ";\n        if" ; if) (argument_list "(pMVar53 == (Mips_output_data_got<32,_false> *)0x0) {\n          do {\n            pMVar31 = Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n            uVar39 = (uint)pMVar31;\nLAB_002c2940:\n            *(uint *)&(pMVar53->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      _vptr_Output_data = uVar39;\n            SVar26 = STATUS_OKAY;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            pMVar53 = target->got_;\n          } while (pMVar53 == (Mips_output_data_got<32,_false> *)0x0);\n          if (gsym != (Sized_symbol<32> *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if ((char)gsym[1].value_ != '\0') {\n            pp_Var56 = (_List_node_base **)this_00;\n            this_01 = (Symbol *)psymval;\n            VVar23 = gold::Symbol_value<32>::value<false>\n                               (psymval,(Sized_relobj_file<32,_false> *)this_00,0);\n            if (*(int *)((long)&gsym[1].super_Symbol.u1_ + 4) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            pMVar58 = pMVar53->primary_got_;\n            if (pMVar58 == (Mips_got_info<32,_false> *)0x0) {\n              iVar25 = pMVar53->master_got_info_->page_gotno_ +\n                       pMVar53->master_got_info_->local_gotno_;\n            }\n            else {\n              iVar25 = pMVar58->page_gotno_ + pMVar58->local_gotno_;\n            }\n            uVar39 = (gsym->super_Symbol).dynsym_index_;\n            if (uVar39 == 0) {\n              gold::Symbol::dynsym_index(this_01);\n              goto LAB_002c461d;\n            }\n            pp_Var43 = (_List_node_base **)pMVar53->got_view_;\n            *(Value *)((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                              super_Relobj.super_Object._vptr_Object +\n                      (ulong)(((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *\n                              0x20 >> 3)) = VVar23;\n            break;\n          }\n        }\n        pp_Var56 = (_List_node_base **)" ( (ERROR "pMVar53 == (Mips_output_data_got<32,_false> *)0x0) {\n          do {\n            pMVar31 = Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n            uVar39 = (uint)pMVar31;\nLAB_002c2940:\n            *(uint *)&(pMVar53->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      _vptr_Output_data = uVar39;\n            SVar26 = STATUS_OKAY;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            pMVar53 = target->got_;\n          } while (pMVar53 == (Mips_output_data_got<32,_false> *)0x0);\n          if (gsym != (Sized_symbol<32> *)0x0) goto LAB_002c2967;\n        }\n        else" (binary_expression "pMVar53 == (Mips_output_data_got<32,_false> *)0x0)" identifier == (parenthesized_expression "(Mips_output_data_got<32,_false> *)0x0)" ( (comma_expression "Mips_output_data_got<32,_false> *)0x0" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) (compound_statement "{\n          do {\n            pMVar31 = Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n            uVar39 = (uint)pMVar31;\nLAB_002c2940:\n            *(uint *)&(pMVar53->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      _vptr_Output_data = uVar39;\n            SVar26 = STATUS_OKAY;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            pMVar53 = target->got_;\n          } while (pMVar53 == (Mips_output_data_got<32,_false> *)0x0);\n          if (gsym != (Sized_symbol<32> *)0x0) goto LAB_002c2967;\n        }" { (do_statement "do {\n            pMVar31 = Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n            uVar39 = (uint)pMVar31;\nLAB_002c2940:\n            *(uint *)&(pMVar53->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      _vptr_Output_data = uVar39;\n            SVar26 = STATUS_OKAY;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            pMVar53 = target->got_;\n          } while (pMVar53 == (Mips_output_data_got<32,_false> *)0x0);" do (compound_statement "{\n            pMVar31 = Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n            uVar39 = (uint)pMVar31;\nLAB_002c2940:\n            *(uint *)&(pMVar53->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      _vptr_Output_data = uVar39;\n            SVar26 = STATUS_OKAY;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            pMVar53 = target->got_;\n          }" { (expression_statement "pMVar31 = Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);" (comma_expression "pMVar31 = Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60)" (assignment_expression "pMVar31 = Target_mips<32" identifier = (binary_expression "Target_mips<32" identifier < number_literal)) , (binary_expression "_false>::got_section((Target_mips<32,_false> *)pMVar60)" identifier > (ERROR "::" : :) (call_expression "got_section((Target_mips<32,_false> *)pMVar60)" identifier (argument_list "((Target_mips<32,_false> *)pMVar60)" ( (parenthesized_expression "(Target_mips<32,_false> *)pMVar60)" ( (comma_expression "Target_mips<32,_false> *)pMVar60" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier))) )) ))))) ;) (expression_statement "uVar39 = (uint)pMVar31;" (assignment_expression "uVar39 = (uint)pMVar31" identifier = (cast_expression "(uint)pMVar31" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (labeled_statement "LAB_002c2940:\n            *(uint *)&(pMVar53->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      _vptr_Output_data = uVar39;" statement_identifier : (expression_statement "*(uint *)&(pMVar53->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      _vptr_Output_data = uVar39;" (assignment_expression "*(uint *)&(pMVar53->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      _vptr_Output_data = uVar39" (pointer_expression "*(uint *)&(pMVar53->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      _vptr_Output_data" * (cast_expression "(uint *)&(pMVar53->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      _vptr_Output_data" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pMVar53->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      _vptr_Output_data" & (field_expression "(pMVar53->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data.\n                      _vptr_Output_data" (field_expression "(pMVar53->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data.super_Output_data" (field_expression "(pMVar53->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build.super_Output_section_data" (field_expression "(pMVar53->super_Output_data_got<32,_false>).super_Output_data_got_base.\n                      super_Output_section_data_build" (field_expression "(pMVar53->super_Output_data_got<32,_false>).super_Output_data_got_base" (parenthesized_expression "(pMVar53->super_Output_data_got<32,_false>)" ( (comma_expression "pMVar53->super_Output_data_got<32,_false" (binary_expression "pMVar53->super_Output_data_got<32" (field_expression "pMVar53->super_Output_data_got" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)))) = identifier) ;)) (expression_statement "SVar26 = STATUS_OKAY;" (assignment_expression "SVar26 = STATUS_OKAY" identifier = identifier) ;) (labeled_statement "LAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;" statement_identifier : (if_statement "if (local_cd == false) goto LAB_002c1e60;" if (parenthesized_expression "(local_cd == false)" ( (binary_expression "local_cd == false" identifier == false) )) (goto_statement "goto LAB_002c1e60;" goto statement_identifier ;))) (expression_statement "pMVar53 = target->got_;" (assignment_expression "pMVar53 = target->got_" identifier = (field_expression "target->got_" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(pMVar53 == (Mips_output_data_got<32,_false> *)0x0)" ( (binary_expression "pMVar53 == (Mips_output_data_got<32,_false> *)0x0)" identifier == (parenthesized_expression "(Mips_output_data_got<32,_false> *)0x0)" ( (comma_expression "Mips_output_data_got<32,_false> *)0x0" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) ;) (if_statement "if (gsym != (Sized_symbol<32> *)0x0) goto LAB_002c2967;" if (parenthesized_expression "(gsym != (Sized_symbol<32> *)0x0)" ( (binary_expression "gsym != (Sized_symbol<32> *)0x0)" identifier != (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) )) (goto_statement "goto LAB_002c2967;" goto statement_identifier ;)) }) else) (compound_statement "{\nLAB_002c2967:\n          if ((char)gsym[1].value_ != '\0') {\n            pp_Var56 = (_List_node_base **)this_00;\n            this_01 = (Symbol *)psymval;\n            VVar23 = gold::Symbol_value<32>::value<false>\n                               (psymval,(Sized_relobj_file<32,_false> *)this_00,0);\n            if (*(int *)((long)&gsym[1].super_Symbol.u1_ + 4) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            pMVar58 = pMVar53->primary_got_;\n            if (pMVar58 == (Mips_got_info<32,_false> *)0x0) {\n              iVar25 = pMVar53->master_got_info_->page_gotno_ +\n                       pMVar53->master_got_info_->local_gotno_;\n            }\n            else {\n              iVar25 = pMVar58->page_gotno_ + pMVar58->local_gotno_;\n            }\n            uVar39 = (gsym->super_Symbol).dynsym_index_;\n            if (uVar39 == 0) {\n              gold::Symbol::dynsym_index(this_01);\n              goto LAB_002c461d;\n            }\n            pp_Var43 = (_List_node_base **)pMVar53->got_view_;\n            *(Value *)((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                              super_Relobj.super_Object._vptr_Object +\n                      (ulong)(((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *\n                              0x20 >> 3)) = VVar23;\n            break;\n          }\n        }" { (labeled_statement "LAB_002c2967:\n          if ((char)gsym[1].value_ != '\0') {\n            pp_Var56 = (_List_node_base **)this_00;\n            this_01 = (Symbol *)psymval;\n            VVar23 = gold::Symbol_value<32>::value<false>\n                               (psymval,(Sized_relobj_file<32,_false> *)this_00,0);\n            if (*(int *)((long)&gsym[1].super_Symbol.u1_ + 4) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            pMVar58 = pMVar53->primary_got_;\n            if (pMVar58 == (Mips_got_info<32,_false> *)0x0) {\n              iVar25 = pMVar53->master_got_info_->page_gotno_ +\n                       pMVar53->master_got_info_->local_gotno_;\n            }\n            else {\n              iVar25 = pMVar58->page_gotno_ + pMVar58->local_gotno_;\n            }\n            uVar39 = (gsym->super_Symbol).dynsym_index_;\n            if (uVar39 == 0) {\n              gold::Symbol::dynsym_index(this_01);\n              goto LAB_002c461d;\n            }\n            pp_Var43 = (_List_node_base **)pMVar53->got_view_;\n            *(Value *)((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                              super_Relobj.super_Object._vptr_Object +\n                      (ulong)(((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *\n                              0x20 >> 3)) = VVar23;\n            break;\n          }" statement_identifier : (if_statement "if ((char)gsym[1].value_ != '\0') {\n            pp_Var56 = (_List_node_base **)this_00;\n            this_01 = (Symbol *)psymval;\n            VVar23 = gold::Symbol_value<32>::value<false>\n                               (psymval,(Sized_relobj_file<32,_false> *)this_00,0);\n            if (*(int *)((long)&gsym[1].super_Symbol.u1_ + 4) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            pMVar58 = pMVar53->primary_got_;\n            if (pMVar58 == (Mips_got_info<32,_false> *)0x0) {\n              iVar25 = pMVar53->master_got_info_->page_gotno_ +\n                       pMVar53->master_got_info_->local_gotno_;\n            }\n            else {\n              iVar25 = pMVar58->page_gotno_ + pMVar58->local_gotno_;\n            }\n            uVar39 = (gsym->super_Symbol).dynsym_index_;\n            if (uVar39 == 0) {\n              gold::Symbol::dynsym_index(this_01);\n              goto LAB_002c461d;\n            }\n            pp_Var43 = (_List_node_base **)pMVar53->got_view_;\n            *(Value *)((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                              super_Relobj.super_Object._vptr_Object +\n                      (ulong)(((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *\n                              0x20 >> 3)) = VVar23;\n            break;\n          }" if (parenthesized_expression "((char)gsym[1].value_ != '\0')" ( (binary_expression "(char)gsym[1].value_ != '\0'" (cast_expression "(char)gsym[1].value_" ( (type_descriptor "char" primitive_type) ) (field_expression "gsym[1].value_" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier)) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            pp_Var56 = (_List_node_base **)this_00;\n            this_01 = (Symbol *)psymval;\n            VVar23 = gold::Symbol_value<32>::value<false>\n                               (psymval,(Sized_relobj_file<32,_false> *)this_00,0);\n            if (*(int *)((long)&gsym[1].super_Symbol.u1_ + 4) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            pMVar58 = pMVar53->primary_got_;\n            if (pMVar58 == (Mips_got_info<32,_false> *)0x0) {\n              iVar25 = pMVar53->master_got_info_->page_gotno_ +\n                       pMVar53->master_got_info_->local_gotno_;\n            }\n            else {\n              iVar25 = pMVar58->page_gotno_ + pMVar58->local_gotno_;\n            }\n            uVar39 = (gsym->super_Symbol).dynsym_index_;\n            if (uVar39 == 0) {\n              gold::Symbol::dynsym_index(this_01);\n              goto LAB_002c461d;\n            }\n            pp_Var43 = (_List_node_base **)pMVar53->got_view_;\n            *(Value *)((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                              super_Relobj.super_Object._vptr_Object +\n                      (ulong)(((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *\n                              0x20 >> 3)) = VVar23;\n            break;\n          }" { (expression_statement "pp_Var56 = (_List_node_base **)this_00;" (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "this_01 = (Symbol *)psymval;" (assignment_expression "this_01 = (Symbol *)psymval" identifier = (cast_expression "(Symbol *)psymval" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "VVar23 = gold::Symbol_value<32>::value<false>\n                               (psymval,(Sized_relobj_file<32,_false> *)this_00,0);" (binary_expression "VVar23 = gold::Symbol_value<32>::value<false>\n                               (psymval,(Sized_relobj_file<32,_false> *)this_00,0)" (binary_expression "VVar23 = gold::Symbol_value<32>::value<false" (binary_expression "VVar23 = gold::Symbol_value<32>::value" (binary_expression "VVar23 = gold::Symbol_value<32" (assignment_expression "VVar23 = gold" identifier = identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "::" : :) identifier) < false) > (parenthesized_expression "(psymval,(Sized_relobj_file<32,_false> *)this_00,0)" ( (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , number_literal)) ))) ))) ;) (if_statement "if (*(int *)((long)&gsym[1].super_Symbol.u1_ + 4) == 2) {\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }" if (parenthesized_expression "(*(int *)((long)&gsym[1].super_Symbol.u1_ + 4) == 2)" ( (binary_expression "*(int *)((long)&gsym[1].super_Symbol.u1_ + 4) == 2" (pointer_expression "*(int *)((long)&gsym[1].super_Symbol.u1_ + 4)" * (cast_expression "(int *)((long)&gsym[1].super_Symbol.u1_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&gsym[1].super_Symbol.u1_ + 4)" ( (binary_expression "(long)&gsym[1].super_Symbol.u1_ + 4" (cast_expression "(long)&gsym[1].super_Symbol.u1_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&gsym[1].super_Symbol.u1_" & (field_expression "gsym[1].super_Symbol.u1_" (field_expression "gsym[1].super_Symbol" (subscript_expression "gsym[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }" { (labeled_statement "LAB_002c461d:\n                    /* WARNING: Subroutine does not return */\n              gold::do_gold_unreachable("../../gold/mips.cc",0x895,"get_primary_got_offset");" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable("../../gold/mips.cc",0x895,"get_primary_got_offset");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/mips.cc",0x895,"get_primary_got_offset");" (call_expression "do_gold_unreachable("../../gold/mips.cc",0x895,"get_primary_got_offset")" identifier (argument_list "("../../gold/mips.cc",0x895,"get_primary_got_offset")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""get_primary_got_offset"" " string_content ") ))) ;))) })) (expression_statement "pMVar58 = pMVar53->primary_got_;" (assignment_expression "pMVar58 = pMVar53->primary_got_" identifier = (field_expression "pMVar53->primary_got_" identifier -> field_identifier)) ;) (if_statement "if (pMVar58 == (Mips_got_info<32,_false> *)0x0) {\n              iVar25 = pMVar53->master_got_info_->page_gotno_ +\n                       pMVar53->master_got_info_->local_gotno_;\n            }\n            else {\n              iVar25 = pMVar58->page_gotno_ + pMVar58->local_gotno_;\n            }" if (parenthesized_expression "(pMVar58 == (Mips_got_info<32,_false> *)0x0)" ( (binary_expression "pMVar58 == (Mips_got_info<32,_false> *)0x0)" identifier == (parenthesized_expression "(Mips_got_info<32,_false> *)0x0)" ( (comma_expression "Mips_got_info<32,_false> *)0x0" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n              iVar25 = pMVar53->master_got_info_->page_gotno_ +\n                       pMVar53->master_got_info_->local_gotno_;\n            }" { (expression_statement "iVar25 = pMVar53->master_got_info_->page_gotno_ +\n                       pMVar53->master_got_info_->local_gotno_;" (assignment_expression "iVar25 = pMVar53->master_got_info_->page_gotno_ +\n                       pMVar53->master_got_info_->local_gotno_" identifier = (binary_expression "pMVar53->master_got_info_->page_gotno_ +\n                       pMVar53->master_got_info_->local_gotno_" (field_expression "pMVar53->master_got_info_->page_gotno_" (field_expression "pMVar53->master_got_info_" identifier -> field_identifier) -> field_identifier) + (field_expression "pMVar53->master_got_info_->local_gotno_" (field_expression "pMVar53->master_got_info_" identifier -> field_identifier) -> field_identifier))) ;) }) (else_clause "else {\n              iVar25 = pMVar58->page_gotno_ + pMVar58->local_gotno_;\n            }" else (compound_statement "{\n              iVar25 = pMVar58->page_gotno_ + pMVar58->local_gotno_;\n            }" { (expression_statement "iVar25 = pMVar58->page_gotno_ + pMVar58->local_gotno_;" (assignment_expression "iVar25 = pMVar58->page_gotno_ + pMVar58->local_gotno_" identifier = (binary_expression "pMVar58->page_gotno_ + pMVar58->local_gotno_" (field_expression "pMVar58->page_gotno_" identifier -> field_identifier) + (field_expression "pMVar58->local_gotno_" identifier -> field_identifier))) ;) }))) (expression_statement "uVar39 = (gsym->super_Symbol).dynsym_index_;" (assignment_expression "uVar39 = (gsym->super_Symbol).dynsym_index_" identifier = (field_expression "(gsym->super_Symbol).dynsym_index_" (parenthesized_expression "(gsym->super_Symbol)" ( (field_expression "gsym->super_Symbol" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (uVar39 == 0) {\n              gold::Symbol::dynsym_index(this_01);\n              goto LAB_002c461d;\n            }" if (parenthesized_expression "(uVar39 == 0)" ( (binary_expression "uVar39 == 0" identifier == number_literal) )) (compound_statement "{\n              gold::Symbol::dynsym_index(this_01);\n              goto LAB_002c461d;\n            }" { (labeled_statement "gold::Symbol::dynsym_index(this_01);" statement_identifier : (ERROR ":" :) (labeled_statement "Symbol::dynsym_index(this_01);" statement_identifier : (ERROR ":" :) (expression_statement "dynsym_index(this_01);" (call_expression "dynsym_index(this_01)" identifier (argument_list "(this_01)" ( identifier ))) ;))) (goto_statement "goto LAB_002c461d;" goto statement_identifier ;) })) (expression_statement "pp_Var43 = (_List_node_base **)pMVar53->got_view_;" (assignment_expression "pp_Var43 = (_List_node_base **)pMVar53->got_view_" identifier = (cast_expression "(_List_node_base **)pMVar53->got_view_" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "pMVar53->got_view_" identifier -> field_identifier))) ;) (expression_statement "*(Value *)((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                              super_Relobj.super_Object._vptr_Object +\n                      (ulong)(((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *\n                              0x20 >> 3)) = VVar23;" (pointer_expression "*(Value *)((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                              super_Relobj.super_Object._vptr_Object +\n                      (ulong)(((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *\n                              0x20 >> 3)) = VVar23" * (cast_expression "(Value *)((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                              super_Relobj.super_Object._vptr_Object +\n                      (ulong)(((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *\n                              0x20 >> 3)) = VVar23" ( (type_descriptor "Value *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                              super_Relobj.super_Object._vptr_Object +\n                      (ulong)(((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *\n                              0x20 >> 3)) = VVar23" ( (cast_expression "(long)&(((Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                              super_Relobj.super_Object._vptr_Object +\n                      (ulong)(((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *\n                              0x20 >> 3)) = VVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (assignment_expression "&(((Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                              super_Relobj.super_Object._vptr_Object +\n                      (ulong)(((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *\n                              0x20 >> 3)) = VVar23" (pointer_expression "&(((Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                              super_Relobj.super_Object._vptr_Object +\n                      (ulong)(((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *\n                              0x20 >> 3))" & (parenthesized_expression "(((Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                              super_Relobj.super_Object._vptr_Object +\n                      (ulong)(((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *\n                              0x20 >> 3))" ( (comma_expression "((Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                              super_Relobj.super_Object._vptr_Object +\n                      (ulong)(((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *\n                              0x20 >> 3)" (binary_expression "((Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" (field_expression "((Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file<32,_false>).super_Sized_relobj" (parenthesized_expression "((Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file<32,_false>)" ( (comma_expression "(Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file<32,_false" (binary_expression "(Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file<32" (field_expression "(Mips_relobj<32,_false> *)pp_Var43)->\n                              super_Sized_relobj_file" (parenthesized_expression "(Mips_relobj<32,_false> *)pp_Var43)" ( (comma_expression "Mips_relobj<32,_false> *)pp_Var43" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)pp_Var43" identifier > (pointer_expression "*)pp_Var43" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (binary_expression "_false>.\n                              super_Relobj.super_Object._vptr_Object +\n                      (ulong)(((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *\n                              0x20 >> 3)" (field_expression "_false>.\n                              super_Relobj.super_Object._vptr_Object" (field_expression "_false>.\n                              super_Relobj.super_Object" (field_expression "_false>.\n                              super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) + (call_expression "(ulong)(((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *\n                              0x20 >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *\n                              0x20 >> 3)" ( (binary_expression "((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *\n                              0x20 >> 3" (binary_expression "((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *\n                              0x20" (parenthesized_expression "((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2)" ( (binary_expression "(uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2" (binary_expression "(uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25" (parenthesized_expression "(uVar39 - pMVar53->first_global_got_dynsym_index_)" ( (binary_expression "uVar39 - pMVar53->first_global_got_dynsym_index_" identifier - (field_expression "pMVar53->first_global_got_dynsym_index_" identifier -> field_identifier)) )) + identifier) + number_literal) )) * number_literal) >> number_literal) ))))) ))) = identifier)) )))) ;) (break_statement "break;" break ;) }))) }) (ERROR "pp_Var56 = (_List_node_base **" identifier = ( identifier * *) ))) (ERROR "this_00;\n        VVar23" identifier ; identifier) = identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,0);" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , number_literal)) ))) ;) (assignment_expression "pp_Var43 = (_List_node_base **)pMVar53->got_view_" identifier = (cast_expression "(_List_node_base **)pMVar53->got_view_" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "pMVar53->got_view_" identifier -> field_identifier))) (ERROR ";" ;) * ( (type_descriptor "Value *" type_identifier (abstract_pointer_declarator "*" *)) ) ( (cast_expression "(long)&(((Mips_relobj<32,_false> *)pp_Var43)->super_Sized_relobj_file<32,_false>)\n                          .super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object +\n                  (ulong)local_e4) = VVar23" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (assignment_expression "&(((Mips_relobj<32,_false> *)pp_Var43)->super_Sized_relobj_file<32,_false>)\n                          .super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object +\n                  (ulong)local_e4) = VVar23" (pointer_expression "&(((Mips_relobj<32,_false> *)pp_Var43)->super_Sized_relobj_file<32,_false>)\n                          .super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object +\n                  (ulong)local_e4)" & (parenthesized_expression "(((Mips_relobj<32,_false> *)pp_Var43)->super_Sized_relobj_file<32,_false>)\n                          .super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object +\n                  (ulong)local_e4)" ( (comma_expression "((Mips_relobj<32,_false> *)pp_Var43)->super_Sized_relobj_file<32,_false>)\n                          .super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object +\n                  (ulong)local_e4" (binary_expression "((Mips_relobj<32,_false> *)pp_Var43)->super_Sized_relobj_file<32,_false>)\n                          .super_Sized_relobj<32" (field_expression "((Mips_relobj<32,_false> *)pp_Var43)->super_Sized_relobj_file<32,_false>)\n                          .super_Sized_relobj" (parenthesized_expression "((Mips_relobj<32,_false> *)pp_Var43)->super_Sized_relobj_file<32,_false>)" ( (comma_expression "(Mips_relobj<32,_false> *)pp_Var43)->super_Sized_relobj_file<32,_false" (binary_expression "(Mips_relobj<32,_false> *)pp_Var43)->super_Sized_relobj_file<32" (field_expression "(Mips_relobj<32,_false> *)pp_Var43)->super_Sized_relobj_file" (parenthesized_expression "(Mips_relobj<32,_false> *)pp_Var43)" ( (comma_expression "Mips_relobj<32,_false> *)pp_Var43" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)pp_Var43" identifier > (pointer_expression "*)pp_Var43" * (ERROR ")" )) identifier))) )) -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (binary_expression "_false>.super_Relobj.super_Object._vptr_Object +\n                  (ulong)local_e4" (field_expression "_false>.super_Relobj.super_Object._vptr_Object" (field_expression "_false>.super_Relobj.super_Object" (field_expression "_false>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) + (cast_expression "(ulong)local_e4" ( (type_descriptor "ulong" type_identifier) ) identifier))) ))) = identifier)) (ERROR ";\n      }\n      break;\n    case" ; } break ; case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (ERROR "_false> *)0x3:\nswitchD_002c14fa_caseD_3:" (binary_expression "_false> *)0x3" identifier > (pointer_expression "*)0x3" * (ERROR ")" )) number_literal)) : identifier :) comment (ERROR "gold::" identifier : :) (call_expression "do_gold_unreachable("../../gold/mips.cc",0x2e62,"relocate")" identifier (argument_list "("../../gold/mips.cc",0x2e62,"relocate")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""relocate"" " string_content ") ))) (ERROR ";\n    case" ; case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x4" identifier > (pointer_expression "*)0x4" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x64" identifier > (pointer_expression "*)0x64" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (ERROR "_false> *)0x85:\n      local_b8 = (_Bit_type *)0x0;\n      pp_Var43 = (_List_node_base **)(ulong)CONCAT31(uVar17,(calculate_only ^ 1) & local_cf);\n      uVar39 = *(uint *)view;\n      goto" (binary_expression "_false> *)0x85" identifier > (pointer_expression "*)0x85" * (ERROR ")" )) number_literal)) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)CONCAT31(uVar17,(calculate_only ^ 1) & local_cf)" identifier = (cast_expression "(_List_node_base **)(ulong)CONCAT31(uVar17,(calculate_only ^ 1) & local_cf)" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)CONCAT31(uVar17,(calculate_only ^ 1) & local_cf)" ( (type_descriptor "ulong" type_identifier) ) (call_expression "CONCAT31(uVar17,(calculate_only ^ 1) & local_cf)" identifier (argument_list "(uVar17,(calculate_only ^ 1) & local_cf)" ( identifier , (binary_expression "(calculate_only ^ 1) & local_cf" (parenthesized_expression "(calculate_only ^ 1)" ( (binary_expression "calculate_only ^ 1" identifier ^ number_literal) )) & identifier) )))))) ; (assignment_expression "uVar39 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ; goto) identifier (ERROR ";\n    case" ; case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x5" identifier > (pointer_expression "*)0x5" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x68:\n    case (Mips_relobj<32,_false> *)0x86:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_5:\n      if (rel_type == 4) {\n        pp_Var43 = (_List_node_base **)(ulong)local_cc;\n        puVar63 = (uchar *)(ulong)(in_stack_fffffffffffffefc & 1);\n        pp_Var56 = (_List_node_base **)this_00;\n        SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                           (view,this_00,psymval,local_cc,address,\n                            SUB41(in_stack_fffffffffffffefc & 1,0),lo16_reloc,(bool)(char)local_b8,0\n                            ,target,(bool)calculate_only,&this->calculated_value_);\n      }\n      else {\n        if (rel_type != 9) goto LAB_002c46ec;\n        p_Var30 = (_List_node_base *)operator_new(0x40);\n        pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32" (binary_expression "_false> *)0x68:\n    case (Mips_relobj<32,_false> *)0x86:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_5:\n      if (rel_type == 4) {\n        pp_Var43 = (_List_node_base **)(ulong)local_cc;\n        puVar63 = (uchar *)(ulong)(in_stack_fffffffffffffefc & 1);\n        pp_Var56 = (_List_node_base **)this_00;\n        SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                           (view,this_00,psymval,local_cc,address,\n                            SUB41(in_stack_fffffffffffffefc & 1,0),lo16_reloc,(bool)(char)local_b8,0\n                            ,target,(bool)calculate_only,&this->calculated_value_);\n      }\n      else {\n        if (rel_type != 9) goto LAB_002c46ec;\n        p_Var30 = (_List_node_base *)operator_new(0x40);\n        pp_Var56 = &(anonymous_namespace)" (assignment_expression "_false> *)0x68:\n    case (Mips_relobj<32,_false> *)0x86:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_5:\n      if (rel_type == 4) {\n        pp_Var43 = (_List_node_base **)(ulong)local_cc;\n        puVar63 = (uchar *)(ulong)(in_stack_fffffffffffffefc & 1);\n        pp_Var56 = (_List_node_base **)this_00;\n        SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                           (view,this_00,psymval,local_cc,address,\n                            SUB41(in_stack_fffffffffffffefc & 1,0),lo16_reloc,(bool)(char)local_b8,0\n                            ,target,(bool)calculate_only,&this->calculated_value_);\n      }\n      else {\n        if (rel_type != 9) goto LAB_002c46ec;\n        p_Var30 = (_List_node_base *)operator_new(0x40)" (call_expression "_false> *)0x68:\n    case (Mips_relobj<32,_false> *)0x86:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_5:\n      if (rel_type == 4) {\n        pp_Var43 = (_List_node_base **)(ulong)local_cc;\n        puVar63 = (uchar *)(ulong)(in_stack_fffffffffffffefc & 1);\n        pp_Var56 = (_List_node_base **)this_00;\n        SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                           (view,this_00,psymval,local_cc,address,\n                            SUB41(in_stack_fffffffffffffefc & 1,0),lo16_reloc,(bool)(char)local_b8,0\n                            ,target,(bool)calculate_only,&this->calculated_value_);\n      }\n      else {\n        if (rel_type != 9)" (binary_expression "_false> *)0x68" identifier > (pointer_expression "*)0x68" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) (argument_list "(Mips_relobj<32,_false> *)0x86:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_5:\n      if (rel_type == 4) {\n        pp_Var43 = (_List_node_base **)(ulong)local_cc;\n        puVar63 = (uchar *)(ulong)(in_stack_fffffffffffffefc & 1);\n        pp_Var56 = (_List_node_base **)this_00;\n        SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                           (view,this_00,psymval,local_cc,address,\n                            SUB41(in_stack_fffffffffffffefc & 1,0),lo16_reloc,(bool)(char)local_b8,0\n                            ,target,(bool)calculate_only,&this->calculated_value_);\n      }\n      else {\n        if (rel_type != 9)" ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (ERROR "_false> *)0x86:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_5:\n      if (rel_type == 4)" (binary_expression "_false> *)0x86" identifier > (pointer_expression "*)0x86" * (ERROR ")" )) number_literal)) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (call_expression "switchD_002c18c9_caseD_5:\n      if (rel_type == 4)" identifier (ERROR ":\n      if" : if) (argument_list "(rel_type == 4)" ( (binary_expression "rel_type == 4" identifier == number_literal) )))) (compound_statement "{\n        pp_Var43 = (_List_node_base **)(ulong)local_cc;\n        puVar63 = (uchar *)(ulong)(in_stack_fffffffffffffefc & 1);\n        pp_Var56 = (_List_node_base **)this_00;\n        SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                           (view,this_00,psymval,local_cc,address,\n                            SUB41(in_stack_fffffffffffffefc & 1,0),lo16_reloc,(bool)(char)local_b8,0\n                            ,target,(bool)calculate_only,&this->calculated_value_);\n      }" { (expression_statement "pp_Var43 = (_List_node_base **)(ulong)local_cc;" (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)local_cc" identifier = (cast_expression "(_List_node_base **)(ulong)local_cc" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)local_cc" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "puVar63 = (uchar *)(ulong)(in_stack_fffffffffffffefc & 1);" (assignment_expression "puVar63 = (uchar *)(ulong)(in_stack_fffffffffffffefc & 1)" identifier = (cast_expression "(uchar *)(ulong)(in_stack_fffffffffffffefc & 1)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(ulong)(in_stack_fffffffffffffefc & 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(in_stack_fffffffffffffefc & 1)" ( (binary_expression "in_stack_fffffffffffffefc & 1" identifier & number_literal) ))))) ;) (expression_statement "pp_Var56 = (_List_node_base **)this_00;" (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                           (view,this_00,psymval,local_cc,address,\n                            SUB41(in_stack_fffffffffffffefc & 1,0),lo16_reloc,(bool)(char)local_b8,0\n                            ,target,(bool)calculate_only,&this->calculated_value_);" (comma_expression "SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                           (view,this_00,psymval,local_cc,address,\n                            SUB41(in_stack_fffffffffffffefc & 1,0),lo16_reloc,(bool)(char)local_b8,0\n                            ,target,(bool)calculate_only,&this->calculated_value_)" (assignment_expression "SVar26 = Mips_relocate_functions<32" identifier = (binary_expression "Mips_relocate_functions<32" identifier < number_literal)) , (binary_expression "_false>::do_relhi16\n                           (view,this_00,psymval,local_cc,address,\n                            SUB41(in_stack_fffffffffffffefc & 1,0),lo16_reloc,(bool)(char)local_b8,0\n                            ,target,(bool)calculate_only,&this->calculated_value_)" identifier > (ERROR "::" : :) (call_expression "do_relhi16\n                           (view,this_00,psymval,local_cc,address,\n                            SUB41(in_stack_fffffffffffffefc & 1,0),lo16_reloc,(bool)(char)local_b8,0\n                            ,target,(bool)calculate_only,&this->calculated_value_)" identifier (argument_list "(view,this_00,psymval,local_cc,address,\n                            SUB41(in_stack_fffffffffffffefc & 1,0),lo16_reloc,(bool)(char)local_b8,0\n                            ,target,(bool)calculate_only,&this->calculated_value_)" ( identifier , identifier , identifier , identifier , identifier , (call_expression "SUB41(in_stack_fffffffffffffefc & 1,0)" identifier (argument_list "(in_stack_fffffffffffffefc & 1,0)" ( (binary_expression "in_stack_fffffffffffffefc & 1" identifier & number_literal) , number_literal ))) , identifier , (cast_expression "(bool)(char)local_b8" ( (type_descriptor "bool" primitive_type) ) (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier)) , number_literal , identifier , (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier) , (pointer_expression "&this->calculated_value_" & (field_expression "this->calculated_value_" identifier -> field_identifier)) ))))) ;) }) (ERROR "else {\n        if (rel_type != 9" else { if ( identifier != number_literal) ))) (ERROR "goto LAB_002c46ec;\n        p_Var30" identifier identifier ; identifier) = (cast_expression "(_List_node_base *)operator_new(0x40)" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x40)" identifier (argument_list "(0x40)" ( number_literal ))))) (ERROR ";\n        pp_Var56 =" ; identifier =) & (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Mips_relocate_functions" : : identifier) < number_literal) , (ERROR "false>::hi16_relocs;\n        SVar26 = STATUS_OKAY;\n        p_Var30[1]._M_next = (_List_node_base *)view;\n        p_Var30[1]._M_prev = (_List_node_base *)this_00;" (binary_expression "false>::hi16_relocs" false > (ERROR "::" : :) identifier) ; (assignment_expression "SVar26 = STATUS_OKAY" identifier = identifier) ; (assignment_expression "p_Var30[1]._M_next = (_List_node_base *)view" (field_expression "p_Var30[1]._M_next" (subscript_expression "p_Var30[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_List_node_base *)view" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ; (assignment_expression "p_Var30[1]._M_prev = (_List_node_base *)this_00" (field_expression "p_Var30[1]._M_prev" (subscript_expression "p_Var30[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_List_node_base *)this_00" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (binary_expression "p_Var30[2]._M_next = (_List_node_base *)psymval;\n        *(Value *)&p_Var30[2]._M_prev = local_cc;\n        *(_Rb_tree_color *)((long)&p_Var30[2]._M_prev + 4) = lo16_reloc;\n        *(_Rb_tree_color *)&p_Var30[3]._M_next = _Var51;\n        *(char *)((long)&p_Var30[3]._M_next + 4) = (char)local_b8;\n        *(Mips_address *)&p_Var30[3]._M_prev = address;\n        *(char *)((long)&p_Var30[3]._M_prev + 4) = (char)in_stack_fffffffffffffefc;\n        std::__detail::_List_node_base::_M_hook\n                  (p_Var30,(_List_node_base *)\n                           &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1" (call_expression "p_Var30[2]._M_next = (_List_node_base *)psymval;\n        *(Value *)&p_Var30[2]._M_prev = local_cc;\n        *(_Rb_tree_color *)((long)&p_Var30[2]._M_prev + 4) = lo16_reloc;\n        *(_Rb_tree_color *)&p_Var30[3]._M_next = _Var51;\n        *(char *)((long)&p_Var30[3]._M_next + 4) = (char)local_b8;\n        *(Mips_address *)&p_Var30[3]._M_prev = address;\n        *(char *)((long)&p_Var30[3]._M_prev + 4) = (char)in_stack_fffffffffffffefc;\n        std::__detail::_List_node_base::_M_hook\n                  (p_Var30,(_List_node_base *)\n                           &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs)" (binary_expression "p_Var30[2]._M_next = (_List_node_base *)psymval;\n        *(Value *)&p_Var30[2]._M_prev = local_cc;\n        *(_Rb_tree_color *)((long)&p_Var30[2]._M_prev + 4) = lo16_reloc;\n        *(_Rb_tree_color *)&p_Var30[3]._M_next = _Var51;\n        *(char *)((long)&p_Var30[3]._M_next + 4) = (char)local_b8;\n        *(Mips_address *)&p_Var30[3]._M_prev = address;\n        *(char *)((long)&p_Var30[3]._M_prev + 4) = (char)in_stack_fffffffffffffefc" (binary_expression "p_Var30[2]._M_next = (_List_node_base *)psymval;\n        *(Value *)&p_Var30[2]._M_prev = local_cc;\n        *(_Rb_tree_color *)((long)&p_Var30[2]._M_prev + 4) = lo16_reloc;\n        *(_Rb_tree_color *)&p_Var30[3]._M_next = _Var51;\n        *(char *)((long)&p_Var30[3]._M_next + 4) = (char)local_b8;\n        *(Mips_address *)&p_Var30[3]._M_prev = address" (binary_expression "p_Var30[2]._M_next = (_List_node_base *)psymval;\n        *(Value *)&p_Var30[2]._M_prev = local_cc;\n        *(_Rb_tree_color *)((long)&p_Var30[2]._M_prev + 4) = lo16_reloc;\n        *(_Rb_tree_color *)&p_Var30[3]._M_next = _Var51;\n        *(char *)((long)&p_Var30[3]._M_next + 4) = (char)local_b8" (binary_expression "p_Var30[2]._M_next = (_List_node_base *)psymval;\n        *(Value *)&p_Var30[2]._M_prev = local_cc;\n        *(_Rb_tree_color *)((long)&p_Var30[2]._M_prev + 4) = lo16_reloc;\n        *(_Rb_tree_color *)&p_Var30[3]._M_next = _Var51" (binary_expression "p_Var30[2]._M_next = (_List_node_base *)psymval;\n        *(Value *)&p_Var30[2]._M_prev = local_cc;\n        *(_Rb_tree_color *)((long)&p_Var30[2]._M_prev + 4) = lo16_reloc" (binary_expression "p_Var30[2]._M_next = (_List_node_base *)psymval;\n        *(Value *)&p_Var30[2]._M_prev = local_cc" (assignment_expression "p_Var30[2]._M_next = (_List_node_base *)psymval" (field_expression "p_Var30[2]._M_next" (subscript_expression "p_Var30[2]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_List_node_base *)psymval" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) (ERROR ";" ;) * (cast_expression "(Value *)&p_Var30[2]._M_prev = local_cc" ( (type_descriptor "Value *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "&p_Var30[2]._M_prev = local_cc" (pointer_expression "&p_Var30[2]._M_prev" & (field_expression "p_Var30[2]._M_prev" (subscript_expression "p_Var30[2]" identifier [ number_literal ]) . field_identifier)) = identifier))) (ERROR ";" ;) * (cast_expression "(_Rb_tree_color *)((long)&p_Var30[2]._M_prev + 4) = lo16_reloc" ( (type_descriptor "_Rb_tree_color *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "((long)&p_Var30[2]._M_prev + 4) = lo16_reloc" (parenthesized_expression "((long)&p_Var30[2]._M_prev + 4)" ( (binary_expression "(long)&p_Var30[2]._M_prev + 4" (cast_expression "(long)&p_Var30[2]._M_prev" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var30[2]._M_prev" & (field_expression "p_Var30[2]._M_prev" (subscript_expression "p_Var30[2]" identifier [ number_literal ]) . field_identifier))) + number_literal) )) = identifier))) (ERROR ";" ;) * (cast_expression "(_Rb_tree_color *)&p_Var30[3]._M_next = _Var51" ( (type_descriptor "_Rb_tree_color *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "&p_Var30[3]._M_next = _Var51" (pointer_expression "&p_Var30[3]._M_next" & (field_expression "p_Var30[3]._M_next" (subscript_expression "p_Var30[3]" identifier [ number_literal ]) . field_identifier)) = identifier))) (ERROR ";" ;) * (cast_expression "(char *)((long)&p_Var30[3]._M_next + 4) = (char)local_b8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (assignment_expression "((long)&p_Var30[3]._M_next + 4) = (char)local_b8" (parenthesized_expression "((long)&p_Var30[3]._M_next + 4)" ( (binary_expression "(long)&p_Var30[3]._M_next + 4" (cast_expression "(long)&p_Var30[3]._M_next" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var30[3]._M_next" & (field_expression "p_Var30[3]._M_next" (subscript_expression "p_Var30[3]" identifier [ number_literal ]) . field_identifier))) + number_literal) )) = (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier)))) (ERROR ";" ;) * (cast_expression "(Mips_address *)&p_Var30[3]._M_prev = address" ( (type_descriptor "Mips_address *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "&p_Var30[3]._M_prev = address" (pointer_expression "&p_Var30[3]._M_prev" & (field_expression "p_Var30[3]._M_prev" (subscript_expression "p_Var30[3]" identifier [ number_literal ]) . field_identifier)) = identifier))) (ERROR ";" ;) * (cast_expression "(char *)((long)&p_Var30[3]._M_prev + 4) = (char)in_stack_fffffffffffffefc" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (assignment_expression "((long)&p_Var30[3]._M_prev + 4) = (char)in_stack_fffffffffffffefc" (parenthesized_expression "((long)&p_Var30[3]._M_prev + 4)" ( (binary_expression "(long)&p_Var30[3]._M_prev + 4" (cast_expression "(long)&p_Var30[3]._M_prev" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var30[3]._M_prev" & (field_expression "p_Var30[3]._M_prev" (subscript_expression "p_Var30[3]" identifier [ number_literal ]) . field_identifier))) + number_literal) )) = (cast_expression "(char)in_stack_fffffffffffffefc" ( (type_descriptor "char" primitive_type) ) identifier)))) (ERROR ";\n        std::__detail::_List_node_base::_M_hook" ; identifier : : identifier : : identifier : : identifier) (argument_list "(p_Var30,(_List_node_base *)\n                           &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs)" ( identifier , (binary_expression "(_List_node_base *)\n                           &(anonymous_namespace)::Mips_relocate_functions<32" (cast_expression "(_List_node_base *)\n                           &(anonymous_namespace)" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(anonymous_namespace)" & (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Mips_relocate_functions" : : identifier) < number_literal) , (binary_expression "false>::hi16_relocs" false > (ERROR "::" : :) identifier) ))) (ERROR ";\n        _DAT_0067daf0 = _DAT_0067daf0" ; identifier = identifier) + number_literal) (ERROR ";\n      }\n      break;\n    case" ; } break ; case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x6" identifier > (pointer_expression "*)0x6" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x69:\n    case (Mips_relobj<32,_false> *)0x87:\n    case (Mips_relobj<32,_false> *)0x9d:\n      local_b8 = (_Bit_type *)0x0;\n      in_stack_fffffffffffffef8 = *(uint *)view;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (rel_type == 9) {\n        in_stack_fffffffffffffedc = uVar39 & 0xff;\n        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs;\n        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs) {\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c3ec8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed0 = (Symbol *)local_100[2]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              address_00 = *(Mips_address *)&local_100[3]._M_prev;\n              puVar63 = (uchar *)(ulong)*(byte *)((long)&local_100[3]._M_prev + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,\n                         SUB81(in_stack_fffffffffffffed0,0));\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,\n                                  (Symbol_value<32> *)in_stack_fffffffffffffed0,\n                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = local_100->_M_next;\n            }\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs);\n        }\n        pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs) {\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c41a8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              pSVar48 = (Symbol_value<32> *)local_100[2]._M_next;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,jal_shuffle);\n              puVar63 = (uchar *)(ulong)local_b0;\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,pSVar48,\n                                  in_stack_fffffffffffffed8,(bool)uVar22,local_b0,target,\n                                  SUB41(in_stack_fffffffffffffedc,0),&this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = local_100->_M_next;\n            }\n            pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);\n        }\n      }\n      if ((char)in_stack_fffffffffffffefc == '\0') {\n        pp_Var56 = (_List_node_base **)this_00;\n        uVar39 = gold::Symbol_value<32>::value<false" (binary_expression "_false> *)0x69:\n    case (Mips_relobj<32,_false> *)0x87:\n    case (Mips_relobj<32,_false> *)0x9d:\n      local_b8 = (_Bit_type *)0x0;\n      in_stack_fffffffffffffef8 = *(uint *)view;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (rel_type == 9) {\n        in_stack_fffffffffffffedc = uVar39 & 0xff;\n        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs;\n        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs) {\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c3ec8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed0 = (Symbol *)local_100[2]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              address_00 = *(Mips_address *)&local_100[3]._M_prev;\n              puVar63 = (uchar *)(ulong)*(byte *)((long)&local_100[3]._M_prev + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,\n                         SUB81(in_stack_fffffffffffffed0,0));\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,\n                                  (Symbol_value<32> *)in_stack_fffffffffffffed0,\n                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = local_100->_M_next;\n            }\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs);\n        }\n        pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs) {\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c41a8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              pSVar48 = (Symbol_value<32> *)local_100[2]._M_next;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,jal_shuffle);\n              puVar63 = (uchar *)(ulong)local_b0;\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,pSVar48,\n                                  in_stack_fffffffffffffed8,(bool)uVar22,local_b0,target,\n                                  SUB41(in_stack_fffffffffffffedc,0),&this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = local_100->_M_next;\n            }\n            pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);\n        }\n      }\n      if ((char)in_stack_fffffffffffffefc == '\0') {\n        pp_Var56 = (_List_node_base **)this_00;\n        uVar39 = gold::Symbol_value<32>::value" (binary_expression "_false> *)0x69:\n    case (Mips_relobj<32,_false> *)0x87:\n    case (Mips_relobj<32,_false> *)0x9d:\n      local_b8 = (_Bit_type *)0x0;\n      in_stack_fffffffffffffef8 = *(uint *)view;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (rel_type == 9) {\n        in_stack_fffffffffffffedc = uVar39 & 0xff;\n        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs;\n        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs) {\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c3ec8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed0 = (Symbol *)local_100[2]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              address_00 = *(Mips_address *)&local_100[3]._M_prev;\n              puVar63 = (uchar *)(ulong)*(byte *)((long)&local_100[3]._M_prev + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,\n                         SUB81(in_stack_fffffffffffffed0,0));\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,\n                                  (Symbol_value<32> *)in_stack_fffffffffffffed0,\n                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = local_100->_M_next;\n            }\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs);\n        }\n        pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs) {\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c41a8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              pSVar48 = (Symbol_value<32> *)local_100[2]._M_next;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,jal_shuffle);\n              puVar63 = (uchar *)(ulong)local_b0;\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,pSVar48,\n                                  in_stack_fffffffffffffed8,(bool)uVar22,local_b0,target,\n                                  SUB41(in_stack_fffffffffffffedc,0),&this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = local_100->_M_next;\n            }\n            pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);\n        }\n      }\n      if ((char)in_stack_fffffffffffffefc == '\0') {\n        pp_Var56 = (_List_node_base **)this_00;\n        uVar39 = gold::Symbol_value<32" (assignment_expression "_false> *)0x69:\n    case (Mips_relobj<32,_false> *)0x87:\n    case (Mips_relobj<32,_false> *)0x9d:\n      local_b8 = (_Bit_type *)0x0;\n      in_stack_fffffffffffffef8 = *(uint *)view;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (rel_type == 9) {\n        in_stack_fffffffffffffedc = uVar39 & 0xff;\n        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs;\n        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs) {\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c3ec8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed0 = (Symbol *)local_100[2]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              address_00 = *(Mips_address *)&local_100[3]._M_prev;\n              puVar63 = (uchar *)(ulong)*(byte *)((long)&local_100[3]._M_prev + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,\n                         SUB81(in_stack_fffffffffffffed0,0));\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,\n                                  (Symbol_value<32> *)in_stack_fffffffffffffed0,\n                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = local_100->_M_next;\n            }\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs);\n        }\n        pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs) {\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c41a8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              pSVar48 = (Symbol_value<32> *)local_100[2]._M_next;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,jal_shuffle);\n              puVar63 = (uchar *)(ulong)local_b0;\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,pSVar48,\n                                  in_stack_fffffffffffffed8,(bool)uVar22,local_b0,target,\n                                  SUB41(in_stack_fffffffffffffedc,0),&this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = local_100->_M_next;\n            }\n            pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);\n        }\n      }\n      if ((char)in_stack_fffffffffffffefc == '\0') {\n        pp_Var56 = (_List_node_base **)this_00" (call_expression "_false> *)0x69:\n    case (Mips_relobj<32,_false> *)0x87:\n    case (Mips_relobj<32,_false> *)0x9d:\n      local_b8 = (_Bit_type *)0x0;\n      in_stack_fffffffffffffef8 = *(uint *)view;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (rel_type == 9) {\n        in_stack_fffffffffffffedc = uVar39 & 0xff;\n        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs;\n        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs) {\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c3ec8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed0 = (Symbol *)local_100[2]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              address_00 = *(Mips_address *)&local_100[3]._M_prev;\n              puVar63 = (uchar *)(ulong)*(byte *)((long)&local_100[3]._M_prev + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,\n                         SUB81(in_stack_fffffffffffffed0,0));\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,\n                                  (Symbol_value<32> *)in_stack_fffffffffffffed0,\n                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = local_100->_M_next;\n            }\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs);\n        }\n        pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs) {\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c41a8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              pSVar48 = (Symbol_value<32> *)local_100[2]._M_next;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,jal_shuffle);\n              puVar63 = (uchar *)(ulong)local_b0;\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,pSVar48,\n                                  in_stack_fffffffffffffed8,(bool)uVar22,local_b0,target,\n                                  SUB41(in_stack_fffffffffffffedc,0),&this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = local_100->_M_next;\n            }\n            pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);\n        }\n      }\n      if ((char)in_stack_fffffffffffffefc == '\0')" (binary_expression "_false> *)0x69" identifier > (pointer_expression "*)0x69" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) (argument_list "(Mips_relobj<32,_false> *)0x87:\n    case (Mips_relobj<32,_false> *)0x9d:\n      local_b8 = (_Bit_type *)0x0;\n      in_stack_fffffffffffffef8 = *(uint *)view;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (rel_type == 9) {\n        in_stack_fffffffffffffedc = uVar39 & 0xff;\n        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs;\n        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs) {\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c3ec8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed0 = (Symbol *)local_100[2]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              address_00 = *(Mips_address *)&local_100[3]._M_prev;\n              puVar63 = (uchar *)(ulong)*(byte *)((long)&local_100[3]._M_prev + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,\n                         SUB81(in_stack_fffffffffffffed0,0));\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,\n                                  (Symbol_value<32> *)in_stack_fffffffffffffed0,\n                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = local_100->_M_next;\n            }\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs);\n        }\n        pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs) {\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c41a8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              pSVar48 = (Symbol_value<32> *)local_100[2]._M_next;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,jal_shuffle);\n              puVar63 = (uchar *)(ulong)local_b0;\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,pSVar48,\n                                  in_stack_fffffffffffffed8,(bool)uVar22,local_b0,target,\n                                  SUB41(in_stack_fffffffffffffedc,0),&this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = local_100->_M_next;\n            }\n            pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);\n        }\n      }\n      if ((char)in_stack_fffffffffffffefc == '\0')" ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x87:\n    case (Mips_relobj<32,_false> *)0x9d:\n      local_b8 = (_Bit_type *)0x0;\n      in_stack_fffffffffffffef8 = *(uint *)view;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (rel_type == 9) {\n        in_stack_fffffffffffffedc = uVar39 & 0xff;\n        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs;\n        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs) {\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c3ec8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed0 = (Symbol *)local_100[2]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              address_00 = *(Mips_address *)&local_100[3]._M_prev;\n              puVar63 = (uchar *)(ulong)*(byte *)((long)&local_100[3]._M_prev + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,\n                         SUB81(in_stack_fffffffffffffed0,0));\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,\n                                  (Symbol_value<32> *)in_stack_fffffffffffffed0,\n                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = local_100->_M_next;\n            }\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs);\n        }\n        pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs) {\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c41a8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              pSVar48 = (Symbol_value<32> *)local_100[2]._M_next;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,jal_shuffle);\n              puVar63 = (uchar *)(ulong)local_b0;\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,pSVar48,\n                                  in_stack_fffffffffffffed8,(bool)uVar22,local_b0,target,\n                                  SUB41(in_stack_fffffffffffffedc,0),&this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = local_100->_M_next;\n            }\n            pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);\n        }\n      }\n      if ((char)in_stack_fffffffffffffefc == '\0'" (call_expression "_false> *)0x87:\n    case (Mips_relobj<32,_false> *)0x9d:\n      local_b8 = (_Bit_type *)0x0;\n      in_stack_fffffffffffffef8 = *(uint *)view;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (rel_type == 9) {\n        in_stack_fffffffffffffedc = uVar39 & 0xff;\n        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs;\n        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs) {\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c3ec8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed0 = (Symbol *)local_100[2]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              address_00 = *(Mips_address *)&local_100[3]._M_prev;\n              puVar63 = (uchar *)(ulong)*(byte *)((long)&local_100[3]._M_prev + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,\n                         SUB81(in_stack_fffffffffffffed0,0));\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,\n                                  (Symbol_value<32> *)in_stack_fffffffffffffed0,\n                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = local_100->_M_next;\n            }\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs);\n        }\n        pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs) {\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c41a8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              pSVar48 = (Symbol_value<32> *)local_100[2]._M_next;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,jal_shuffle);\n              puVar63 = (uchar *)(ulong)local_b0;\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,pSVar48,\n                                  in_stack_fffffffffffffed8,(bool)uVar22,local_b0,target,\n                                  SUB41(in_stack_fffffffffffffedc,0),&this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = local_100->_M_next;\n            }\n            pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);\n        }\n      }\n      if ((char)" (binary_expression "_false> *)0x87" identifier > (pointer_expression "*)0x87" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) (argument_list "(Mips_relobj<32,_false> *)0x9d:\n      local_b8 = (_Bit_type *)0x0;\n      in_stack_fffffffffffffef8 = *(uint *)view;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (rel_type == 9) {\n        in_stack_fffffffffffffedc = uVar39 & 0xff;\n        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs;\n        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs) {\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c3ec8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed0 = (Symbol *)local_100[2]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              address_00 = *(Mips_address *)&local_100[3]._M_prev;\n              puVar63 = (uchar *)(ulong)*(byte *)((long)&local_100[3]._M_prev + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,\n                         SUB81(in_stack_fffffffffffffed0,0));\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,\n                                  (Symbol_value<32> *)in_stack_fffffffffffffed0,\n                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = local_100->_M_next;\n            }\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs);\n        }\n        pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs) {\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c41a8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              pSVar48 = (Symbol_value<32> *)local_100[2]._M_next;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,jal_shuffle);\n              puVar63 = (uchar *)(ulong)local_b0;\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,pSVar48,\n                                  in_stack_fffffffffffffed8,(bool)uVar22,local_b0,target,\n                                  SUB41(in_stack_fffffffffffffedc,0),&this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = local_100->_M_next;\n            }\n            pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);\n        }\n      }\n      if ((char)" ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (ERROR "_false> *)0x9d:\n      local_b8 = (_Bit_type *)0x0;\n      in_stack_fffffffffffffef8 = *(uint *)view;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (rel_type == 9)" (binary_expression "_false> *)0x9d" identifier > (pointer_expression "*)0x9d" * (ERROR ")" )) number_literal)) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "in_stack_fffffffffffffef8 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ; (assignment_expression "local_b0 = local_cc" identifier = identifier) ; (call_expression "LAB_002c3615:\n      if (rel_type == 9)" identifier (ERROR ":\n      if" : if) (argument_list "(rel_type == 9)" ( (binary_expression "rel_type == 9" identifier == number_literal) )))) (compound_statement "{\n        in_stack_fffffffffffffedc = uVar39 & 0xff;\n        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs;\n        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs) {\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c3ec8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed0 = (Symbol *)local_100[2]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              address_00 = *(Mips_address *)&local_100[3]._M_prev;\n              puVar63 = (uchar *)(ulong)*(byte *)((long)&local_100[3]._M_prev + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,\n                         SUB81(in_stack_fffffffffffffed0,0));\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,\n                                  (Symbol_value<32> *)in_stack_fffffffffffffed0,\n                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = local_100->_M_next;\n            }\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs);\n        }\n        pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs) {\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c41a8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              pSVar48 = (Symbol_value<32> *)local_100[2]._M_next;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,jal_shuffle);\n              puVar63 = (uchar *)(ulong)local_b0;\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,pSVar48,\n                                  in_stack_fffffffffffffed8,(bool)uVar22,local_b0,target,\n                                  SUB41(in_stack_fffffffffffffedc,0),&this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = local_100->_M_next;\n            }\n            pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);\n        }\n      }" { (expression_statement "in_stack_fffffffffffffedc = uVar39 & 0xff;" (assignment_expression "in_stack_fffffffffffffedc = uVar39 & 0xff" identifier = (binary_expression "uVar39 & 0xff" identifier & number_literal)) ;) (expression_statement "local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs;" (comma_expression "local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs" (binary_expression "local_100 = (anonymous_namespace)::Mips_relocate_functions<32" (assignment_expression "local_100 = (anonymous_namespace)" identifier = (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Mips_relocate_functions" : : identifier) < number_literal) , (binary_expression "false>::hi16_relocs" false > (ERROR "::" : :) identifier)) ;) (if_statement "if ((anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs) {\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c3ec8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed0 = (Symbol *)local_100[2]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              address_00 = *(Mips_address *)&local_100[3]._M_prev;\n              puVar63 = (uchar *)(ulong)*(byte *)((long)&local_100[3]._M_prev + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,\n                         SUB81(in_stack_fffffffffffffed0,0));\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,\n                                  (Symbol_value<32> *)in_stack_fffffffffffffed0,\n                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = local_100->_M_next;\n            }\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs);\n        }" if (parenthesized_expression "((anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs)" ( (ERROR "(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::" (parenthesized_expression "(anonymous_namespace)" ( identifier )) : : (comma_expression "Mips_relocate_functions<32,false>::hi16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)" (binary_expression "Mips_relocate_functions<32" identifier < number_literal) , (binary_expression "false>::hi16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)" (binary_expression "false>::hi16_relocs" false > (ERROR "::" : :) identifier) != (cast_expression "(_List_node_base *)\n            &(anonymous_namespace)" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(anonymous_namespace)" & (parenthesized_expression "(anonymous_namespace)" ( identifier )))))) : :) (comma_expression "Mips_relocate_functions<32,false>::hi16_relocs" (binary_expression "Mips_relocate_functions<32" identifier < number_literal) , (binary_expression "false>::hi16_relocs" false > (ERROR "::" : :) identifier)) )) (compound_statement "{\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c3ec8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed0 = (Symbol *)local_100[2]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              address_00 = *(Mips_address *)&local_100[3]._M_prev;\n              puVar63 = (uchar *)(ulong)*(byte *)((long)&local_100[3]._M_prev + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,\n                         SUB81(in_stack_fffffffffffffed0,0));\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,\n                                  (Symbol_value<32> *)in_stack_fffffffffffffed0,\n                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = local_100->_M_next;\n            }\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs);\n        }" { (do_statement "do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c3ec8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed0 = (Symbol *)local_100[2]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              address_00 = *(Mips_address *)&local_100[3]._M_prev;\n              puVar63 = (uchar *)(ulong)*(byte *)((long)&local_100[3]._M_prev + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,\n                         SUB81(in_stack_fffffffffffffed0,0));\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,\n                                  (Symbol_value<32> *)in_stack_fffffffffffffed0,\n                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = local_100->_M_next;\n            }\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs);" do (compound_statement "{\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c3ec8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed0 = (Symbol *)local_100[2]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              address_00 = *(Mips_address *)&local_100[3]._M_prev;\n              puVar63 = (uchar *)(ulong)*(byte *)((long)&local_100[3]._M_prev + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,\n                         SUB81(in_stack_fffffffffffffed0,0));\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,\n                                  (Symbol_value<32> *)in_stack_fffffffffffffed0,\n                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = local_100->_M_next;\n            }\n          }" { (if_statement "if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c3ec8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed0 = (Symbol *)local_100[2]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              address_00 = *(Mips_address *)&local_100[3]._M_prev;\n              puVar63 = (uchar *)(ulong)*(byte *)((long)&local_100[3]._M_prev + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,\n                         SUB81(in_stack_fffffffffffffed0,0));\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,\n                                  (Symbol_value<32> *)in_stack_fffffffffffffed0,\n                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = local_100->_M_next;\n            }" if (parenthesized_expression "(_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next)" ( (binary_expression "_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next" identifier == (pointer_expression "*(_Rb_tree_color *)&local_100[3]._M_next" * (cast_expression "(_Rb_tree_color *)&local_100[3]._M_next" ( (type_descriptor "_Rb_tree_color *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_100[3]._M_next" & (field_expression "local_100[3]._M_next" (subscript_expression "local_100[3]" identifier [ number_literal ]) . field_identifier))))) )) (compound_statement "{\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c3ec8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed0 = (Symbol *)local_100[2]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              address_00 = *(Mips_address *)&local_100[3]._M_prev;\n              puVar63 = (uchar *)(ulong)*(byte *)((long)&local_100[3]._M_prev + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,\n                         SUB81(in_stack_fffffffffffffed0,0));\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,\n                                  (Symbol_value<32> *)in_stack_fffffffffffffed0,\n                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }" { (expression_statement "uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);" (assignment_expression "uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4)" identifier = (pointer_expression "*(uint *)((long)&local_100[2]._M_prev + 4)" * (cast_expression "(uint *)((long)&local_100[2]._M_prev + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&local_100[2]._M_prev + 4)" ( (binary_expression "(long)&local_100[2]._M_prev + 4" (cast_expression "(long)&local_100[2]._M_prev" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&local_100[2]._M_prev" & (field_expression "local_100[2]._M_prev" (subscript_expression "local_100[2]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ;) (expression_statement "in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;" (assignment_expression "in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)" identifier = (call_expression "(Mips_relobj<32,_false> *)(ulong)" (parenthesized_expression "(Mips_relobj<32,_false> *)" ( (comma_expression "Mips_relobj<32,_false> *" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(ulong)" ( identifier )))) (ERROR "uVar39" identifier) ;) (expression_statement "pp_Var56 = (_List_node_base **)local_98;" (assignment_expression "pp_Var56 = (_List_node_base **)local_98" identifier = (cast_expression "(_List_node_base **)local_98" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);" (assignment_expression "bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc)" identifier = (call_expression "is_matching_lo16_reloc(uVar39,lo16_reloc)" identifier (argument_list "(uVar39,lo16_reloc)" ( identifier , identifier )))) ;) (if_statement "if (!bVar67) goto LAB_002c3ec8;" if (parenthesized_expression "(!bVar67)" ( (unary_expression "!bVar67" ! identifier) )) (goto_statement "goto LAB_002c3ec8;" goto statement_identifier ;)) (expression_statement "in_stack_fffffffffffffee0 = local_100[1]._M_next;" (assignment_expression "in_stack_fffffffffffffee0 = local_100[1]._M_next" identifier = (field_expression "local_100[1]._M_next" (subscript_expression "local_100[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "in_stack_fffffffffffffed0 = (Symbol *)local_100[2]._M_next;" (assignment_expression "in_stack_fffffffffffffed0 = (Symbol *)local_100[2]._M_next" identifier = (cast_expression "(Symbol *)local_100[2]._M_next" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_100[2]._M_next" (subscript_expression "local_100[2]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;" (assignment_expression "in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev" identifier = (pointer_expression "*(uint *)&local_100[2]._M_prev" * (cast_expression "(uint *)&local_100[2]._M_prev" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_100[2]._M_prev" & (field_expression "local_100[2]._M_prev" (subscript_expression "local_100[2]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;" (assignment_expression "pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev" identifier = (parenthesized_expression "(Mips_relobj<32,_false> *)local_100[1]._M_prev" ( (comma_expression "Mips_relobj<32,_false> *)local_100[1]._M_prev" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)local_100[1]._M_prev" identifier > (pointer_expression "*)local_100[1]._M_prev" * (ERROR ")" )) (field_expression "local_100[1]._M_prev" (subscript_expression "local_100[1]" identifier [ number_literal ]) . field_identifier)))) ))) ;) (expression_statement "uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);" (assignment_expression "uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4)" identifier = (pointer_expression "*(undefined1 *)((long)&local_100[3]._M_next + 4)" * (cast_expression "(undefined1 *)((long)&local_100[3]._M_next + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&local_100[3]._M_next + 4)" ( (binary_expression "(long)&local_100[3]._M_next + 4" (cast_expression "(long)&local_100[3]._M_next" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&local_100[3]._M_next" & (field_expression "local_100[3]._M_next" (subscript_expression "local_100[3]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ;) (expression_statement "address_00 = *(Mips_address *)&local_100[3]._M_prev;" (assignment_expression "address_00 = *(Mips_address *)&local_100[3]._M_prev" identifier = (pointer_expression "*(Mips_address *)&local_100[3]._M_prev" * (cast_expression "(Mips_address *)&local_100[3]._M_prev" ( (type_descriptor "Mips_address *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_100[3]._M_prev" & (field_expression "local_100[3]._M_prev" (subscript_expression "local_100[3]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "puVar63 = (uchar *)(ulong)*(byte *)((long)&local_100[3]._M_prev + 4);" (assignment_expression "puVar63 = (uchar *)(ulong)*(byte *)((long)&local_100[3]._M_prev + 4)" identifier = (binary_expression "(uchar *)(ulong)*(byte *)((long)&local_100[3]._M_prev + 4)" (cast_expression "(uchar *)(ulong)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ulong)" ( identifier ))) * (cast_expression "(byte *)((long)&local_100[3]._M_prev + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&local_100[3]._M_prev + 4)" ( (binary_expression "(long)&local_100[3]._M_prev + 4" (cast_expression "(long)&local_100[3]._M_prev" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&local_100[3]._M_prev" & (field_expression "local_100[3]._M_prev" (subscript_expression "local_100[3]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ;) (expression_statement "Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,\n                         SUB81(in_stack_fffffffffffffed0,0));" (comma_expression "Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,\n                         SUB81(in_stack_fffffffffffffed0,0))" (binary_expression "Mips_relocate_functions<32" identifier < number_literal) , (binary_expression "_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,\n                         SUB81(in_stack_fffffffffffffed0,0))" identifier > (ERROR "::" : :) (call_expression "mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,\n                         SUB81(in_stack_fffffffffffffed0,0))" identifier (argument_list "((uchar *)in_stack_fffffffffffffee0,uVar39,\n                         SUB81(in_stack_fffffffffffffed0,0))" ( (cast_expression "(uchar *)in_stack_fffffffffffffee0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (call_expression "SUB81(in_stack_fffffffffffffed0,0)" identifier (argument_list "(in_stack_fffffffffffffed0,0)" ( identifier , number_literal ))) ))))) ;) (expression_statement "pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;" (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8" identifier = (cast_expression "(_List_node_base **)(ulong)in_stack_fffffffffffffed8" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)in_stack_fffffffffffffed8" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,\n                                  (Symbol_value<32> *)in_stack_fffffffffffffed0,\n                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_);" (comma_expression "SVar26 = Mips_relocate_functions<32,_false>::do_relhi16\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,\n                                  (Symbol_value<32> *)in_stack_fffffffffffffed0,\n                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_)" (assignment_expression "SVar26 = Mips_relocate_functions<32" identifier = (binary_expression "Mips_relocate_functions<32" identifier < number_literal)) , (binary_expression "_false>::do_relhi16\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,\n                                  (Symbol_value<32> *)in_stack_fffffffffffffed0,\n                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_)" identifier > (ERROR "::" : :) (call_expression "do_relhi16\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,\n                                  (Symbol_value<32> *)in_stack_fffffffffffffed0,\n                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_)" identifier (argument_list "((uchar *)in_stack_fffffffffffffee0,pMVar49,\n                                  (Symbol_value<32> *)in_stack_fffffffffffffed0,\n                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_)" ( (cast_expression "(uchar *)in_stack_fffffffffffffee0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (parenthesized_expression "(Symbol_value<32> *)in_stack_fffffffffffffed0,\n                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_)" ( (comma_expression "Symbol_value<32> *)in_stack_fffffffffffffed0,\n                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_" (binary_expression "Symbol_value<32> *)in_stack_fffffffffffffed0" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)in_stack_fffffffffffffed0" * (ERROR ")" )) identifier)) , (comma_expression "in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_" identifier , (comma_expression "address_00,SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_" identifier , (comma_expression "SUB81(puVar63,0),uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_" (call_expression "SUB81(puVar63,0)" identifier (argument_list "(puVar63,0)" ( identifier , number_literal ))) , (comma_expression "uVar39,\n                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_" identifier , (comma_expression "(bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_" (cast_expression "(bool)uVar22" ( (type_descriptor "bool" primitive_type) ) identifier) , (comma_expression "local_b0,target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_" identifier , (comma_expression "target,SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_" identifier , (comma_expression "SUB41(in_stack_fffffffffffffedc,0),\n                                  &this->calculated_value_" (call_expression "SUB41(in_stack_fffffffffffffedc,0)" identifier (argument_list "(in_stack_fffffffffffffedc,0)" ( identifier , number_literal ))) , (pointer_expression "&this->calculated_value_" & (field_expression "this->calculated_value_" identifier -> field_identifier))))))))))) )) ))))) ;) (expression_statement "pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;" (assignment_expression "pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8" identifier = (cast_expression "(_List_node_base **)in_stack_fffffffffffffee8" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);" (comma_expression "Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false)" (binary_expression "Mips_relocate_functions<32" identifier < number_literal) , (binary_expression "_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false)" identifier > (ERROR "::" : :) (call_expression "mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false)" identifier (argument_list "((uchar *)in_stack_fffffffffffffee0,uVar39,false)" ( (cast_expression "(uchar *)in_stack_fffffffffffffee0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , false ))))) ;) (if_statement "if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;" if (parenthesized_expression "(SVar26 == STATUS_OVERFLOW)" ( (binary_expression "SVar26 == STATUS_OVERFLOW" identifier == identifier) )) (goto_statement "goto LAB_002c1e60;" goto statement_identifier ;)) (expression_statement "p_Var30 = local_100->_M_next;" (assignment_expression "p_Var30 = local_100->_M_next" identifier = (field_expression "local_100->_M_next" identifier -> field_identifier)) ;) (expression_statement "_DAT_0067daf0 = _DAT_0067daf0 + -1;" (assignment_expression "_DAT_0067daf0 = _DAT_0067daf0 + -1" identifier = (binary_expression "_DAT_0067daf0 + -1" identifier + number_literal)) ;) (labeled_statement "std::__detail::_List_node_base::_M_unhook(local_100);" statement_identifier : (ERROR ":" :) (labeled_statement "__detail::_List_node_base::_M_unhook(local_100);" statement_identifier : (ERROR ":" :) (labeled_statement "_List_node_base::_M_unhook(local_100);" statement_identifier : (ERROR ":" :) (expression_statement "_M_unhook(local_100);" (call_expression "_M_unhook(local_100)" identifier (argument_list "(local_100)" ( identifier ))) ;)))) (expression_statement "operator_delete(local_100);" (call_expression "operator_delete(local_100)" identifier (argument_list "(local_100)" ( identifier ))) ;) (expression_statement "local_100 = p_Var30;" (assignment_expression "local_100 = p_Var30" identifier = identifier) ;) }) (else_clause "else {\nLAB_002c3ec8:\n              local_100 = local_100->_M_next;\n            }" else (compound_statement "{\nLAB_002c3ec8:\n              local_100 = local_100->_M_next;\n            }" { (labeled_statement "LAB_002c3ec8:\n              local_100 = local_100->_M_next;" statement_identifier : (expression_statement "local_100 = local_100->_M_next;" (assignment_expression "local_100 = local_100->_M_next" identifier = (field_expression "local_100->_M_next" identifier -> field_identifier)) ;)) }))) }) while (parenthesized_expression "(local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs)" ( (comma_expression "local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs" (binary_expression "local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32" (binary_expression "local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)" identifier != (cast_expression "(_List_node_base *)\n                   &(anonymous_namespace)" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(anonymous_namespace)" & (parenthesized_expression "(anonymous_namespace)" ( identifier ))))) (ERROR "::Mips_relocate_functions" : : identifier) < number_literal) , (binary_expression "false>::hi16_relocs" false > (ERROR "::" : :) identifier)) )) ;) })) (expression_statement "pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;" (comma_expression "pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs" (binary_expression "pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32" (assignment_expression "pp_Var43 = &(anonymous_namespace)" identifier = (pointer_expression "&(anonymous_namespace)" & (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Mips_relocate_functions" : : identifier) < number_literal) , (binary_expression "false>::got16_relocs" false > (ERROR "::" : :) identifier)) ;) (expression_statement "local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;" (comma_expression "local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs" (binary_expression "local_100 = (anonymous_namespace)::Mips_relocate_functions<32" (assignment_expression "local_100 = (anonymous_namespace)" identifier = (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Mips_relocate_functions" : : identifier) < number_literal) , (binary_expression "false>::got16_relocs" false > (ERROR "::" : :) identifier)) ;) (if_statement "if ((anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs) {\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c41a8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              pSVar48 = (Symbol_value<32> *)local_100[2]._M_next;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,jal_shuffle);\n              puVar63 = (uchar *)(ulong)local_b0;\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,pSVar48,\n                                  in_stack_fffffffffffffed8,(bool)uVar22,local_b0,target,\n                                  SUB41(in_stack_fffffffffffffedc,0),&this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = local_100->_M_next;\n            }\n            pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);\n        }" if (parenthesized_expression "((anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs)" ( (ERROR "(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)::" (parenthesized_expression "(anonymous_namespace)" ( identifier )) : : (comma_expression "Mips_relocate_functions<32,false>::got16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)" (binary_expression "Mips_relocate_functions<32" identifier < number_literal) , (binary_expression "false>::got16_relocs !=\n            (_List_node_base *)\n            &(anonymous_namespace)" (binary_expression "false>::got16_relocs" false > (ERROR "::" : :) identifier) != (cast_expression "(_List_node_base *)\n            &(anonymous_namespace)" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(anonymous_namespace)" & (parenthesized_expression "(anonymous_namespace)" ( identifier )))))) : :) (comma_expression "Mips_relocate_functions<32,false>::got16_relocs" (binary_expression "Mips_relocate_functions<32" identifier < number_literal) , (binary_expression "false>::got16_relocs" false > (ERROR "::" : :) identifier)) )) (compound_statement "{\n          do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c41a8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              pSVar48 = (Symbol_value<32> *)local_100[2]._M_next;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,jal_shuffle);\n              puVar63 = (uchar *)(ulong)local_b0;\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,pSVar48,\n                                  in_stack_fffffffffffffed8,(bool)uVar22,local_b0,target,\n                                  SUB41(in_stack_fffffffffffffedc,0),&this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = local_100->_M_next;\n            }\n            pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);\n        }" { (do_statement "do {\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c41a8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              pSVar48 = (Symbol_value<32> *)local_100[2]._M_next;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,jal_shuffle);\n              puVar63 = (uchar *)(ulong)local_b0;\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,pSVar48,\n                                  in_stack_fffffffffffffed8,(bool)uVar22,local_b0,target,\n                                  SUB41(in_stack_fffffffffffffedc,0),&this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = local_100->_M_next;\n            }\n            pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n          } while (local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);" do (compound_statement "{\n            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c41a8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              pSVar48 = (Symbol_value<32> *)local_100[2]._M_next;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,jal_shuffle);\n              puVar63 = (uchar *)(ulong)local_b0;\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,pSVar48,\n                                  in_stack_fffffffffffffed8,(bool)uVar22,local_b0,target,\n                                  SUB41(in_stack_fffffffffffffedc,0),&this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = local_100->_M_next;\n            }\n            pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n          }" { (if_statement "if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c41a8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              pSVar48 = (Symbol_value<32> *)local_100[2]._M_next;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,jal_shuffle);\n              puVar63 = (uchar *)(ulong)local_b0;\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,pSVar48,\n                                  in_stack_fffffffffffffed8,(bool)uVar22,local_b0,target,\n                                  SUB41(in_stack_fffffffffffffedc,0),&this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = local_100->_M_next;\n            }" if (parenthesized_expression "(_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next)" ( (binary_expression "_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next" identifier == (pointer_expression "*(_Rb_tree_color *)&local_100[3]._M_next" * (cast_expression "(_Rb_tree_color *)&local_100[3]._M_next" ( (type_descriptor "_Rb_tree_color *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_100[3]._M_next" & (field_expression "local_100[3]._M_next" (subscript_expression "local_100[3]" identifier [ number_literal ]) . field_identifier))))) )) (compound_statement "{\n              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);\n              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;\n              pp_Var56 = (_List_node_base **)local_98;\n              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);\n              if (!bVar67) goto LAB_002c41a8;\n              in_stack_fffffffffffffee0 = local_100[1]._M_next;\n              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;\n              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;\n              pSVar48 = (Symbol_value<32> *)local_100[2]._M_next;\n              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);\n              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,jal_shuffle);\n              puVar63 = (uchar *)(ulong)local_b0;\n              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;\n              SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,pSVar48,\n                                  in_stack_fffffffffffffed8,(bool)uVar22,local_b0,target,\n                                  SUB41(in_stack_fffffffffffffedc,0),&this->calculated_value_);\n              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;\n              Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);\n              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;\n              p_Var30 = local_100->_M_next;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              std::__detail::_List_node_base::_M_unhook(local_100);\n              operator_delete(local_100);\n              local_100 = p_Var30;\n            }" { (expression_statement "uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);" (assignment_expression "uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4)" identifier = (pointer_expression "*(uint *)((long)&local_100[2]._M_prev + 4)" * (cast_expression "(uint *)((long)&local_100[2]._M_prev + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&local_100[2]._M_prev + 4)" ( (binary_expression "(long)&local_100[2]._M_prev + 4" (cast_expression "(long)&local_100[2]._M_prev" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&local_100[2]._M_prev" & (field_expression "local_100[2]._M_prev" (subscript_expression "local_100[2]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ;) (expression_statement "in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;" (assignment_expression "in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)" identifier = (call_expression "(Mips_relobj<32,_false> *)(ulong)" (parenthesized_expression "(Mips_relobj<32,_false> *)" ( (comma_expression "Mips_relobj<32,_false> *" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(ulong)" ( identifier )))) (ERROR "uVar39" identifier) ;) (expression_statement "pp_Var56 = (_List_node_base **)local_98;" (assignment_expression "pp_Var56 = (_List_node_base **)local_98" identifier = (cast_expression "(_List_node_base **)local_98" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);" (assignment_expression "bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc)" identifier = (call_expression "is_matching_lo16_reloc(uVar39,lo16_reloc)" identifier (argument_list "(uVar39,lo16_reloc)" ( identifier , identifier )))) ;) (if_statement "if (!bVar67) goto LAB_002c41a8;" if (parenthesized_expression "(!bVar67)" ( (unary_expression "!bVar67" ! identifier) )) (goto_statement "goto LAB_002c41a8;" goto statement_identifier ;)) (expression_statement "in_stack_fffffffffffffee0 = local_100[1]._M_next;" (assignment_expression "in_stack_fffffffffffffee0 = local_100[1]._M_next" identifier = (field_expression "local_100[1]._M_next" (subscript_expression "local_100[1]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;" (assignment_expression "in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev" identifier = (pointer_expression "*(uint *)&local_100[2]._M_prev" * (cast_expression "(uint *)&local_100[2]._M_prev" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_100[2]._M_prev" & (field_expression "local_100[2]._M_prev" (subscript_expression "local_100[2]" identifier [ number_literal ]) . field_identifier))))) ;) (expression_statement "pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;" (assignment_expression "pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev" identifier = (parenthesized_expression "(Mips_relobj<32,_false> *)local_100[1]._M_prev" ( (comma_expression "Mips_relobj<32,_false> *)local_100[1]._M_prev" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)local_100[1]._M_prev" identifier > (pointer_expression "*)local_100[1]._M_prev" * (ERROR ")" )) (field_expression "local_100[1]._M_prev" (subscript_expression "local_100[1]" identifier [ number_literal ]) . field_identifier)))) ))) ;) (expression_statement "pSVar48 = (Symbol_value<32> *)local_100[2]._M_next;" (assignment_expression "pSVar48 = (Symbol_value<32> *)local_100[2]._M_next" identifier = (parenthesized_expression "(Symbol_value<32> *)local_100[2]._M_next" ( (binary_expression "Symbol_value<32> *)local_100[2]._M_next" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)local_100[2]._M_next" * (ERROR ")" )) (field_expression "local_100[2]._M_next" (subscript_expression "local_100[2]" identifier [ number_literal ]) . field_identifier))) ))) ;) (expression_statement "uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);" (assignment_expression "uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4)" identifier = (pointer_expression "*(undefined1 *)((long)&local_100[3]._M_next + 4)" * (cast_expression "(undefined1 *)((long)&local_100[3]._M_next + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&local_100[3]._M_next + 4)" ( (binary_expression "(long)&local_100[3]._M_next + 4" (cast_expression "(long)&local_100[3]._M_next" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&local_100[3]._M_next" & (field_expression "local_100[3]._M_next" (subscript_expression "local_100[3]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))))) ;) (expression_statement "Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,jal_shuffle);" (comma_expression "Mips_relocate_functions<32,_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,jal_shuffle)" (binary_expression "Mips_relocate_functions<32" identifier < number_literal) , (binary_expression "_false>::mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,jal_shuffle)" identifier > (ERROR "::" : :) (call_expression "mips_reloc_unshuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,jal_shuffle)" identifier (argument_list "((uchar *)in_stack_fffffffffffffee0,uVar39,jal_shuffle)" ( (cast_expression "(uchar *)in_stack_fffffffffffffee0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier ))))) ;) (expression_statement "puVar63 = (uchar *)(ulong)local_b0;" (assignment_expression "puVar63 = (uchar *)(ulong)local_b0" identifier = (cast_expression "(uchar *)(ulong)local_b0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)local_b0" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;" (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8" identifier = (cast_expression "(_List_node_base **)(ulong)in_stack_fffffffffffffed8" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)in_stack_fffffffffffffed8" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,pSVar48,\n                                  in_stack_fffffffffffffed8,(bool)uVar22,local_b0,target,\n                                  SUB41(in_stack_fffffffffffffedc,0),&this->calculated_value_);" (comma_expression "SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,pSVar48,\n                                  in_stack_fffffffffffffed8,(bool)uVar22,local_b0,target,\n                                  SUB41(in_stack_fffffffffffffedc,0),&this->calculated_value_)" (assignment_expression "SVar26 = Mips_relocate_functions<32" identifier = (binary_expression "Mips_relocate_functions<32" identifier < number_literal)) , (binary_expression "_false>::do_relgot16_local\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,pSVar48,\n                                  in_stack_fffffffffffffed8,(bool)uVar22,local_b0,target,\n                                  SUB41(in_stack_fffffffffffffedc,0),&this->calculated_value_)" identifier > (ERROR "::" : :) (call_expression "do_relgot16_local\n                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,pSVar48,\n                                  in_stack_fffffffffffffed8,(bool)uVar22,local_b0,target,\n                                  SUB41(in_stack_fffffffffffffedc,0),&this->calculated_value_)" identifier (argument_list "((uchar *)in_stack_fffffffffffffee0,pMVar49,pSVar48,\n                                  in_stack_fffffffffffffed8,(bool)uVar22,local_b0,target,\n                                  SUB41(in_stack_fffffffffffffedc,0),&this->calculated_value_)" ( (cast_expression "(uchar *)in_stack_fffffffffffffee0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier , identifier , (cast_expression "(bool)uVar22" ( (type_descriptor "bool" primitive_type) ) identifier) , identifier , identifier , (call_expression "SUB41(in_stack_fffffffffffffedc,0)" identifier (argument_list "(in_stack_fffffffffffffedc,0)" ( identifier , number_literal ))) , (pointer_expression "&this->calculated_value_" & (field_expression "this->calculated_value_" identifier -> field_identifier)) ))))) ;) (expression_statement "pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;" (assignment_expression "pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8" identifier = (cast_expression "(_List_node_base **)in_stack_fffffffffffffee8" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);" (comma_expression "Mips_relocate_functions<32,_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false)" (binary_expression "Mips_relocate_functions<32" identifier < number_literal) , (binary_expression "_false>::mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false)" identifier > (ERROR "::" : :) (call_expression "mips_reloc_shuffle\n                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false)" identifier (argument_list "((uchar *)in_stack_fffffffffffffee0,uVar39,false)" ( (cast_expression "(uchar *)in_stack_fffffffffffffee0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , false ))))) ;) (if_statement "if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;" if (parenthesized_expression "(SVar26 == STATUS_OVERFLOW)" ( (binary_expression "SVar26 == STATUS_OVERFLOW" identifier == identifier) )) (goto_statement "goto LAB_002c1e60;" goto statement_identifier ;)) (expression_statement "p_Var30 = local_100->_M_next;" (assignment_expression "p_Var30 = local_100->_M_next" identifier = (field_expression "local_100->_M_next" identifier -> field_identifier)) ;) (expression_statement "_DAT_0067dad0 = _DAT_0067dad0 + -1;" (assignment_expression "_DAT_0067dad0 = _DAT_0067dad0 + -1" identifier = (binary_expression "_DAT_0067dad0 + -1" identifier + number_literal)) ;) (labeled_statement "std::__detail::_List_node_base::_M_unhook(local_100);" statement_identifier : (ERROR ":" :) (labeled_statement "__detail::_List_node_base::_M_unhook(local_100);" statement_identifier : (ERROR ":" :) (labeled_statement "_List_node_base::_M_unhook(local_100);" statement_identifier : (ERROR ":" :) (expression_statement "_M_unhook(local_100);" (call_expression "_M_unhook(local_100)" identifier (argument_list "(local_100)" ( identifier ))) ;)))) (expression_statement "operator_delete(local_100);" (call_expression "operator_delete(local_100)" identifier (argument_list "(local_100)" ( identifier ))) ;) (expression_statement "local_100 = p_Var30;" (assignment_expression "local_100 = p_Var30" identifier = identifier) ;) }) (else_clause "else {\nLAB_002c41a8:\n              local_100 = local_100->_M_next;\n            }" else (compound_statement "{\nLAB_002c41a8:\n              local_100 = local_100->_M_next;\n            }" { (labeled_statement "LAB_002c41a8:\n              local_100 = local_100->_M_next;" statement_identifier : (expression_statement "local_100 = local_100->_M_next;" (assignment_expression "local_100 = local_100->_M_next" identifier = (field_expression "local_100->_M_next" identifier -> field_identifier)) ;)) }))) (expression_statement "pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;" (comma_expression "pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs" (binary_expression "pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32" (assignment_expression "pp_Var43 = &(anonymous_namespace)" identifier = (pointer_expression "&(anonymous_namespace)" & (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Mips_relocate_functions" : : identifier) < number_literal) , (binary_expression "false>::got16_relocs" false > (ERROR "::" : :) identifier)) ;) }) while (parenthesized_expression "(local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs)" ( (comma_expression "local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs" (binary_expression "local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)::Mips_relocate_functions<32" (binary_expression "local_100 !=\n                   (_List_node_base *)\n                   &(anonymous_namespace)" identifier != (cast_expression "(_List_node_base *)\n                   &(anonymous_namespace)" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(anonymous_namespace)" & (parenthesized_expression "(anonymous_namespace)" ( identifier ))))) (ERROR "::Mips_relocate_functions" : : identifier) < number_literal) , (binary_expression "false>::got16_relocs" false > (ERROR "::" : :) identifier)) )) ;) })) }) (ERROR "if ((char" if ( ( primitive_type) ))) (ERROR "in_stack_fffffffffffffefc" identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) (ERROR "{\n        pp_Var56" { identifier) = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) (ERROR ";\n        uVar39 = gold::Symbol_value" ; identifier = identifier : : identifier) < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n        uVar40 = in_stack_fffffffffffffef8;\n      }\n      else" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,local_b0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,local_b0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,local_b0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; (assignment_expression "uVar40 = in_stack_fffffffffffffef8" identifier = identifier) ; } else) { (expression_statement "pSVar33 = target->gp_;" (assignment_expression "pSVar33 = target->gp_" identifier = (field_expression "target->gp_" identifier -> field_identifier)) ;) if (parenthesized_expression "(lo16_reloc == 0x69)" ( (binary_expression "lo16_reloc == 0x69" identifier == number_literal) )) { if (parenthesized_expression "(pSVar33 == (Sized_symbol<32> *)0x0)" ( (binary_expression "pSVar33 == (Sized_symbol<32> *)0x0)" identifier == (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) )) (compound_statement "{\n            VVar57 = 0;\n          }" { (expression_statement "VVar57 = 0;" (assignment_expression "VVar57 = 0" identifier = number_literal) ;) }) else { (expression_statement "VVar57 = pSVar33->value_;" (assignment_expression "VVar57 = pSVar33->value_" identifier = (field_expression "pSVar33->value_" identifier -> field_identifier)) ;) (expression_statement "pp_Var43 = (_List_node_base **)target;" (assignment_expression "pp_Var43 = (_List_node_base **)target" identifier = (cast_expression "(_List_node_base **)target" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) if ( ( ( (binary_expression "target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n                (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&\n               (pp_Var56 = (_List_node_base **)this_00,\n               this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {\n              VVar57 = VVar57 + this_00->got_info_->offset_;\n            }\n          }\n          iVar25 = VVar57 - (address & 0xfffffffc)" (binary_expression "target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n                (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&\n               (pp_Var56 = (_List_node_base **)this_00,\n               this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {\n              VVar57 = VVar57 + this_00->got_info_->offset_" (binary_expression "target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n                (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0))" (binary_expression "target->got_ != (Mips_output_data_got<32,_false> *)0x0)" (field_expression "target->got_" identifier -> field_identifier) != (parenthesized_expression "(Mips_output_data_got<32,_false> *)0x0)" ( (comma_expression "Mips_output_data_got<32,_false> *)0x0" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) && (parenthesized_expression "(target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0))" ( (binary_expression "target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)" (field_expression "target->got_->primary_got_" (field_expression "target->got_" identifier -> field_identifier) -> field_identifier) != (parenthesized_expression "(Mips_got_info<32,_false> *)0x0)" ( (comma_expression "Mips_got_info<32,_false> *)0x0" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) ))) && (assignment_expression "(pp_Var56 = (_List_node_base **)this_00,\n               this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {\n              VVar57 = VVar57 + this_00->got_info_->offset_" (parenthesized_expression "(pp_Var56 = (_List_node_base **)this_00,\n               this_00->got_info_ != (Mips_got_info<32,_false> *)0x0))" ( (comma_expression "pp_Var56 = (_List_node_base **)this_00,\n               this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)" (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (binary_expression "this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)" (field_expression "this_00->got_info_" identifier -> field_identifier) != (parenthesized_expression "(Mips_got_info<32,_false> *)0x0)" ( (comma_expression "Mips_got_info<32,_false> *)0x0" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) )))) )) (ERROR "{\n              VVar57" { identifier) = (binary_expression "VVar57 + this_00->got_info_->offset_" identifier + (field_expression "this_00->got_info_->offset_" (field_expression "this_00->got_info_" identifier -> field_identifier) -> field_identifier)))) (ERROR ";\n            }\n          }\n          iVar25 = VVar57" ; } } identifier = identifier) - (parenthesized_expression "(address & 0xfffffffc)" ( (binary_expression "address & 0xfffffffc" identifier & number_literal) ))) (ERROR ";\n        }\n        else {\n          pp_Var43 =" ; } else { identifier =) ( (ERROR "_List_node_base **)local_98;\n          if ((lo16_reloc == 0x87) || (lo16_reloc == 0x9d))" (call_expression "_List_node_base **)local_98;\n          if ((lo16_reloc == 0x87) || (lo16_reloc == 0x9d))" (binary_expression "_List_node_base **)local_98" identifier * (pointer_expression "*)local_98" * (ERROR ")" )) identifier)) (ERROR ";\n          if" ; if) (argument_list "((lo16_reloc == 0x87) || (lo16_reloc == 0x9d))" ( (binary_expression "(lo16_reloc == 0x87) || (lo16_reloc == 0x9d)" (parenthesized_expression "(lo16_reloc == 0x87)" ( (binary_expression "lo16_reloc == 0x87" identifier == number_literal) )) || (parenthesized_expression "(lo16_reloc == 0x9d)" ( (binary_expression "lo16_reloc == 0x9d" identifier == number_literal) ))) )))) { if (parenthesized_expression "(pSVar33 == (Sized_symbol<32> *)0x0)" ( (binary_expression "pSVar33 == (Sized_symbol<32> *)0x0)" identifier == (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) )) (compound_statement "{\n              VVar57 = 0;\n            }" { (expression_statement "VVar57 = 0;" (assignment_expression "VVar57 = 0" identifier = number_literal) ;) }) else { (expression_statement "VVar57 = pSVar33->value_;" (assignment_expression "VVar57 = pSVar33->value_" identifier = (field_expression "pSVar33->value_" identifier -> field_identifier)) ;) (expression_statement "pp_Var43 = (_List_node_base **)target;" (assignment_expression "pp_Var43 = (_List_node_base **)target" identifier = (cast_expression "(_List_node_base **)target" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) if ( ( ( (binary_expression "target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n                  (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&\n                 (pp_Var43 = (_List_node_base **)this_00,\n                 this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {\n                VVar57 = VVar57 + this_00->got_info_->offset_;\n              }\n            }\n            iVar25 = (VVar57 - address) + 3" (call_expression "target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n                  (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&\n                 (pp_Var43 = (_List_node_base **)this_00,\n                 this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {\n                VVar57 = VVar57 + this_00->got_info_->offset_;\n              }\n            }\n            iVar25 = (VVar57 - address)" (binary_expression "target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n                  (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&\n                 (pp_Var43 = (_List_node_base **)this_00,\n                 this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {\n                VVar57 = VVar57 + this_00->got_info_->offset_" (binary_expression "target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n                  (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0))" (binary_expression "target->got_ != (Mips_output_data_got<32,_false> *)0x0)" (field_expression "target->got_" identifier -> field_identifier) != (parenthesized_expression "(Mips_output_data_got<32,_false> *)0x0)" ( (comma_expression "Mips_output_data_got<32,_false> *)0x0" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) && (parenthesized_expression "(target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0))" ( (binary_expression "target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)" (field_expression "target->got_->primary_got_" (field_expression "target->got_" identifier -> field_identifier) -> field_identifier) != (parenthesized_expression "(Mips_got_info<32,_false> *)0x0)" ( (comma_expression "Mips_got_info<32,_false> *)0x0" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) ))) && (assignment_expression "(pp_Var43 = (_List_node_base **)this_00,\n                 this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {\n                VVar57 = VVar57 + this_00->got_info_->offset_" (parenthesized_expression "(pp_Var43 = (_List_node_base **)this_00,\n                 this_00->got_info_ != (Mips_got_info<32,_false> *)0x0))" ( (comma_expression "pp_Var43 = (_List_node_base **)this_00,\n                 this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)" (assignment_expression "pp_Var43 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (binary_expression "this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)" (field_expression "this_00->got_info_" identifier -> field_identifier) != (parenthesized_expression "(Mips_got_info<32,_false> *)0x0)" ( (comma_expression "Mips_got_info<32,_false> *)0x0" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) )))) )) (ERROR "{\n                VVar57" { identifier) = (binary_expression "VVar57 + this_00->got_info_->offset_" identifier + (field_expression "this_00->got_info_->offset_" (field_expression "this_00->got_info_" identifier -> field_identifier) -> field_identifier)))) (ERROR ";\n              }\n            }\n            iVar25 =" ; } } identifier =) (argument_list "(VVar57 - address)" ( (binary_expression "VVar57 - address" identifier - identifier) ))) + number_literal) (ERROR ";\n          }\n          else {\n            if" ; } else { if) ( (ERROR "pSVar33 == (Sized_symbol<32> *)0x0) {\n              VVar57 = 0;\n            }\n            else" (binary_expression "pSVar33 == (Sized_symbol<32> *)0x0)" identifier == (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) (compound_statement "{\n              VVar57 = 0;\n            }" { (expression_statement "VVar57 = 0;" (assignment_expression "VVar57 = 0" identifier = number_literal) ;) }) else) { (expression_statement "VVar57 = pSVar33->value_;" (assignment_expression "VVar57 = pSVar33->value_" identifier = (field_expression "pSVar33->value_" identifier -> field_identifier)) ;) (expression_statement "pp_Var43 = (_List_node_base **)target;" (assignment_expression "pp_Var43 = (_List_node_base **)target" identifier = (cast_expression "(_List_node_base **)target" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) if ( ( ( (call_expression "target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n                  (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&\n                 (pp_Var56 = (_List_node_base **)this_00,\n                 this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {\n                VVar57 = VVar57 + this_00->got_info_->offset_;\n              }\n            }\n            iVar25 = (VVar57 - address) + 4;\n          }\n        }\n        uVar39 = iVar25 + local_b0;\n        uVar40 = in_stack_fffffffffffffef8;\n      }\n      in_stack_fffffffffffffef8 = uVar40;\n      if ((bool)calculate_only != false)" (binary_expression "target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n                  (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&\n                 (pp_Var56 = (_List_node_base **)this_00,\n                 this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {\n                VVar57 = VVar57 + this_00->got_info_->offset_;\n              }\n            }\n            iVar25 = (VVar57 - address) + 4;\n          }\n        }\n        uVar39 = iVar25 + local_b0" (binary_expression "target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n                  (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&\n                 (pp_Var56 = (_List_node_base **)this_00,\n                 this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {\n                VVar57 = VVar57 + this_00->got_info_->offset_;\n              }\n            }\n            iVar25 = (VVar57 - address) + 4" (call_expression "target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n                  (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&\n                 (pp_Var56 = (_List_node_base **)this_00,\n                 this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {\n                VVar57 = VVar57 + this_00->got_info_->offset_;\n              }\n            }\n            iVar25 = (VVar57 - address)" (binary_expression "target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n                  (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&\n                 (pp_Var56 = (_List_node_base **)this_00,\n                 this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {\n                VVar57 = VVar57 + this_00->got_info_->offset_" (binary_expression "target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n                  (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0))" (binary_expression "target->got_ != (Mips_output_data_got<32,_false> *)0x0)" (field_expression "target->got_" identifier -> field_identifier) != (parenthesized_expression "(Mips_output_data_got<32,_false> *)0x0)" ( (comma_expression "Mips_output_data_got<32,_false> *)0x0" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) && (parenthesized_expression "(target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0))" ( (binary_expression "target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)" (field_expression "target->got_->primary_got_" (field_expression "target->got_" identifier -> field_identifier) -> field_identifier) != (parenthesized_expression "(Mips_got_info<32,_false> *)0x0)" ( (comma_expression "Mips_got_info<32,_false> *)0x0" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) ))) && (assignment_expression "(pp_Var56 = (_List_node_base **)this_00,\n                 this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {\n                VVar57 = VVar57 + this_00->got_info_->offset_" (parenthesized_expression "(pp_Var56 = (_List_node_base **)this_00,\n                 this_00->got_info_ != (Mips_got_info<32,_false> *)0x0))" ( (comma_expression "pp_Var56 = (_List_node_base **)this_00,\n                 this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)" (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (binary_expression "this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)" (field_expression "this_00->got_info_" identifier -> field_identifier) != (parenthesized_expression "(Mips_got_info<32,_false> *)0x0)" ( (comma_expression "Mips_got_info<32,_false> *)0x0" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) )))) )) (ERROR "{\n                VVar57" { identifier) = (binary_expression "VVar57 + this_00->got_info_->offset_" identifier + (field_expression "this_00->got_info_->offset_" (field_expression "this_00->got_info_" identifier -> field_identifier) -> field_identifier)))) (ERROR ";\n              }\n            }\n            iVar25 =" ; } } identifier =) (argument_list "(VVar57 - address)" ( (binary_expression "VVar57 - address" identifier - identifier) ))) + number_literal) (ERROR ";\n          }\n        }\n        uVar39 = iVar25" ; } } identifier = identifier) + identifier) (ERROR ";\n        uVar40 = in_stack_fffffffffffffef8;\n      }\n      in_stack_fffffffffffffef8 = uVar40;\n      if" ; identifier = identifier ; } identifier = identifier ; if) (argument_list "((bool)calculate_only != false)" ( (binary_expression "(bool)calculate_only != false" (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier) != false) ))) (ERROR "goto LAB_002c1f30;\n      goto LAB_002c1ebf;\n    case" identifier identifier ; goto identifier ; case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x7" identifier > (pointer_expression "*)0x7" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x8" identifier > (pointer_expression "*)0x8" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x65" identifier > (pointer_expression "*)0x65" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x88" identifier > (pointer_expression "*)0x88" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x89" identifier > (pointer_expression "*)0x89" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (ERROR "_false> *)0xac:" (binary_expression "_false> *)0xac" identifier > (pointer_expression "*)0xac" * (ERROR ")" )) number_literal)) :) (assignment_expression "pSVar33 = target->gp_" identifier = (field_expression "target->gp_" identifier -> field_identifier)) (ERROR ";\n      if" ; if) ( (ERROR "pSVar33 != (Sized_symbol<32> *)0x0)" (binary_expression "pSVar33 != (Sized_symbol<32> *)0x0)" identifier != (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) )))) { (expression_statement "local_b8 = (_Bit_type *)0x0;" (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_002c370d:\n        VVar57 = pSVar33->value_;" statement_identifier : (expression_statement "VVar57 = pSVar33->value_;" (assignment_expression "VVar57 = pSVar33->value_" identifier = (field_expression "pSVar33->value_" identifier -> field_identifier)) ;)) (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) if ( ( ( (ERROR "target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n            (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&\n           (this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {\n          VVar57 = VVar57 + this_00->got_info_->offset_;\n        }\n        goto LAB_002c3751;\n      }\n      local_b8 = (_Bit_type *)0x0;\n      VVar57 = 0;\n      uVar40 = *(uint *)view;\n      local_b0 = local_cc;\nLAB_002c378b:\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::" (binary_expression "target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n            (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&\n           (this_00->got_info_ != (Mips_got_info<32,_false> *)0x0))" (binary_expression "target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n            (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0))" (binary_expression "target->got_ != (Mips_output_data_got<32,_false> *)0x0)" (field_expression "target->got_" identifier -> field_identifier) != (parenthesized_expression "(Mips_output_data_got<32,_false> *)0x0)" ( (comma_expression "Mips_output_data_got<32,_false> *)0x0" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) && (parenthesized_expression "(target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0))" ( (binary_expression "target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)" (field_expression "target->got_->primary_got_" (field_expression "target->got_" identifier -> field_identifier) -> field_identifier) != (parenthesized_expression "(Mips_got_info<32,_false> *)0x0)" ( (comma_expression "Mips_got_info<32,_false> *)0x0" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) ))) && (parenthesized_expression "(this_00->got_info_ != (Mips_got_info<32,_false> *)0x0))" ( (binary_expression "this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)" (field_expression "this_00->got_info_" identifier -> field_identifier) != (parenthesized_expression "(Mips_got_info<32,_false> *)0x0)" ( (comma_expression "Mips_got_info<32,_false> *)0x0" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) ))) (compound_statement "{\n          VVar57 = VVar57 + this_00->got_info_->offset_;\n        }" { (expression_statement "VVar57 = VVar57 + this_00->got_info_->offset_;" (assignment_expression "VVar57 = VVar57 + this_00->got_info_->offset_" identifier = (binary_expression "VVar57 + this_00->got_info_->offset_" identifier + (field_expression "this_00->got_info_->offset_" (field_expression "this_00->got_info_" identifier -> field_identifier) -> field_identifier))) ;) }) goto identifier ; } (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "VVar57 = 0" identifier = number_literal) ; (assignment_expression "uVar40 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ; (assignment_expression "local_b0 = local_cc" identifier = identifier) ; identifier : (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ; (assignment_expression "VVar23 = gold" identifier = identifier) : :) (binary_expression "Symbol_value<32>::value<false" (binary_expression "Symbol_value<32>::value" (binary_expression "Symbol_value<32" identifier < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,local_b0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,local_b0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,local_b0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ;) (assignment_expression "uVar39 = VVar23 - VVar57" identifier = (binary_expression "VVar23 - VVar57" identifier - identifier)) (ERROR ";\n      if" ; if) ( (ERROR "gsym == (Sized_symbol<32> *)0x0) {\n        uVar39 = uVar39 + this_00->gp_;\n      }\n      uVar41 = (uVar39 ^ uVar40) & 0xffff;\n      pp_Var43 = (_List_node_base **)(ulong)uVar41;\n      if (lo16_reloc == 0xac) {\n        uVar41 = (uVar39 ^ uVar40) & 0x7f;\n      }\n      if ((bool)calculate_only != false) goto LAB_002c1f30;\n      *(uint *)view = uVar40 ^ uVar41;\n      if (0xffff < uVar39 + 0x8000) {\n        pcVar61 = (char *)gettext(\n                                 "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                                 );\n        gold::gold_error(pcVar61);\nLAB_002c3567:\n        SVar26 = STATUS_OVERFLOW;\n        break;\n      }\n      goto LAB_002c1fd6;\n    case" (binary_expression "gsym == (Sized_symbol<32> *)0x0)" identifier == (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) (compound_statement "{\n        uVar39 = uVar39 + this_00->gp_;\n      }" { (expression_statement "uVar39 = uVar39 + this_00->gp_;" (assignment_expression "uVar39 = uVar39 + this_00->gp_" identifier = (binary_expression "uVar39 + this_00->gp_" identifier + (field_expression "this_00->gp_" identifier -> field_identifier))) ;) }) (assignment_expression "uVar41 = (uVar39 ^ uVar40) & 0xffff" identifier = (binary_expression "(uVar39 ^ uVar40) & 0xffff" (parenthesized_expression "(uVar39 ^ uVar40)" ( (binary_expression "uVar39 ^ uVar40" identifier ^ identifier) )) & number_literal)) ; (call_expression "pp_Var43 = (_List_node_base **)(ulong)uVar41;\n      if (lo16_reloc == 0xac)" (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)uVar41" identifier = (cast_expression "(_List_node_base **)(ulong)uVar41" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)uVar41" ( (type_descriptor "ulong" type_identifier) ) identifier))) (ERROR ";\n      if" ; if) (argument_list "(lo16_reloc == 0xac)" ( (binary_expression "lo16_reloc == 0xac" identifier == number_literal) ))) (compound_statement "{\n        uVar41 = (uVar39 ^ uVar40) & 0x7f;\n      }" { (expression_statement "uVar41 = (uVar39 ^ uVar40) & 0x7f;" (assignment_expression "uVar41 = (uVar39 ^ uVar40) & 0x7f" identifier = (binary_expression "(uVar39 ^ uVar40) & 0x7f" (parenthesized_expression "(uVar39 ^ uVar40)" ( (binary_expression "uVar39 ^ uVar40" identifier ^ identifier) )) & number_literal)) ;) }) if (parenthesized_expression "((bool)calculate_only != false)" ( (binary_expression "(bool)calculate_only != false" (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier) != false) )) identifier (call_expression "LAB_002c1f30;\n      *(uint *)view = uVar40 ^ uVar41;\n      if (0xffff < uVar39 + 0x8000)" (binary_expression "LAB_002c1f30;\n      *(uint *)view = uVar40 ^ uVar41" identifier (ERROR ";" ;) * (cast_expression "(uint *)view = uVar40 ^ uVar41" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "view = uVar40 ^ uVar41" identifier = (binary_expression "uVar40 ^ uVar41" identifier ^ identifier)))) (ERROR ";\n      if" ; if) (argument_list "(0xffff < uVar39 + 0x8000)" ( (binary_expression "0xffff < uVar39 + 0x8000" number_literal < (binary_expression "uVar39 + 0x8000" identifier + number_literal)) ))) (compound_statement "{\n        pcVar61 = (char *)gettext(\n                                 "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                                 );\n        gold::gold_error(pcVar61);\nLAB_002c3567:\n        SVar26 = STATUS_OVERFLOW;\n        break;\n      }" { (expression_statement "pcVar61 = (char *)gettext(\n                                 "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                                 );" (assignment_expression "pcVar61 = (char *)gettext(\n                                 "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                                 )" identifier = (cast_expression "(char *)gettext(\n                                 "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                                 )" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(\n                                 "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                                 )" identifier (argument_list "(\n                                 "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                                 )" ( (string_literal ""small-data section exceeds 64KB; lower small-data size limit (see option -G)"" " string_content ") ))))) ;) (labeled_statement "gold::gold_error(pcVar61);" statement_identifier : (ERROR ":" :) (expression_statement "gold_error(pcVar61);" (call_expression "gold_error(pcVar61)" identifier (argument_list "(pcVar61)" ( identifier ))) ;)) (labeled_statement "LAB_002c3567:\n        SVar26 = STATUS_OVERFLOW;" statement_identifier : (expression_statement "SVar26 = STATUS_OVERFLOW;" (assignment_expression "SVar26 = STATUS_OVERFLOW" identifier = identifier) ;)) (break_statement "break;" break ;) }) goto identifier ; case) ( (ERROR "Mips_relobj<32,_false> *)0x9:\n    case" (comma_expression "Mips_relobj<32,_false> *)0x9" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x9" identifier > (pointer_expression "*)0x9" * (ERROR ")" )) number_literal))) : case) ( (ERROR "Mips_relobj<32,_false> *)0x66:\n    case" (comma_expression "Mips_relobj<32,_false> *)0x66" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x66" identifier > (pointer_expression "*)0x66" * (ERROR ")" )) number_literal))) : case) ( (ERROR "Mips_relobj<32,_false> *)0x8a:\n      local_b8 = (_Bit_type *)0x0;" (comma_expression "Mips_relobj<32,_false> *)0x8a" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x8a" identifier > (pointer_expression "*)0x8a" * (ERROR ")" )) number_literal))) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) identifier (ERROR ":\n      if" : if) ( (ERROR "gsym == (Sized_symbol<32> *)0x0)" (binary_expression "gsym == (Sized_symbol<32> *)0x0)" identifier == (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) )))) (compound_statement "{\n        if (rel_type == 4) {\n          puVar63 = (uchar *)0x0;\n          pp_Var43 = (_List_node_base **)(ulong)local_cc;\n          pp_Var56 = (_List_node_base **)this_00;\n          pMVar60 = (Mips_relobj<32,_false> *)view;\n          SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local\n                             (view,this_00,psymval,local_cc,(bool)(char)local_b8,0,target,\n                              (bool)calculate_only,&this->calculated_value_);\n          goto LAB_002c2945;\n        }\n        if (rel_type == 9) {\n          pMVar60 = (Mips_relobj<32,_false> *)operator_new(0x40);\n          (pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj.\n          super_Object.field_0x3c = 0;\n          SVar26 = STATUS_OKAY;\n          (pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj.\n          super_Object.shnum_ = 0;\n          pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n          (pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj.\n          super_Object.name_._M_string_length = (size_type)view;\n          *(Mips_relobj<32,_false> **)\n           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj\n            .super_Object.name_.field_2 = this_00;\n          *(Symbol_value<32> **)\n           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.name_.field_2 + 8) = psymval;\n          *(Value *)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object.input_file_ = local_cc;\n          *(_Rb_tree_color *)\n           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.input_file_ + 4) = lo16_reloc;\n          *(_Rb_tree_color *)\n           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj\n            .super_Object.offset_ = _Var51;\n          *(char *)((long)&(pMVar60->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj<32,_false>.super_Relobj.super_Object.offset_ + 4) =\n               (char)local_b8;\n          std::__detail::_List_node_base::_M_hook\n                    ((_List_node_base *)pMVar60,\n                     (_List_node_base *)\n                     &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/mips.cc",0x2f66,"relocate");\n      }" { (if_statement "if (rel_type == 4) {\n          puVar63 = (uchar *)0x0;\n          pp_Var43 = (_List_node_base **)(ulong)local_cc;\n          pp_Var56 = (_List_node_base **)this_00;\n          pMVar60 = (Mips_relobj<32,_false> *)view;\n          SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local\n                             (view,this_00,psymval,local_cc,(bool)(char)local_b8,0,target,\n                              (bool)calculate_only,&this->calculated_value_);\n          goto LAB_002c2945;\n        }" if (parenthesized_expression "(rel_type == 4)" ( (binary_expression "rel_type == 4" identifier == number_literal) )) (compound_statement "{\n          puVar63 = (uchar *)0x0;\n          pp_Var43 = (_List_node_base **)(ulong)local_cc;\n          pp_Var56 = (_List_node_base **)this_00;\n          pMVar60 = (Mips_relobj<32,_false> *)view;\n          SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local\n                             (view,this_00,psymval,local_cc,(bool)(char)local_b8,0,target,\n                              (bool)calculate_only,&this->calculated_value_);\n          goto LAB_002c2945;\n        }" { (expression_statement "puVar63 = (uchar *)0x0;" (assignment_expression "puVar63 = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pp_Var43 = (_List_node_base **)(ulong)local_cc;" (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)local_cc" identifier = (cast_expression "(_List_node_base **)(ulong)local_cc" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)local_cc" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "pp_Var56 = (_List_node_base **)this_00;" (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "pMVar60 = (Mips_relobj<32,_false> *)view;" (assignment_expression "pMVar60 = (Mips_relobj<32,_false> *)view" identifier = (parenthesized_expression "(Mips_relobj<32,_false> *)view" ( (comma_expression "Mips_relobj<32,_false> *)view" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)view" identifier > (pointer_expression "*)view" * (ERROR ")" )) identifier))) ))) ;) (expression_statement "SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local\n                             (view,this_00,psymval,local_cc,(bool)(char)local_b8,0,target,\n                              (bool)calculate_only,&this->calculated_value_);" (comma_expression "SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local\n                             (view,this_00,psymval,local_cc,(bool)(char)local_b8,0,target,\n                              (bool)calculate_only,&this->calculated_value_)" (assignment_expression "SVar26 = Mips_relocate_functions<32" identifier = (binary_expression "Mips_relocate_functions<32" identifier < number_literal)) , (binary_expression "_false>::do_relgot16_local\n                             (view,this_00,psymval,local_cc,(bool)(char)local_b8,0,target,\n                              (bool)calculate_only,&this->calculated_value_)" identifier > (ERROR "::" : :) (call_expression "do_relgot16_local\n                             (view,this_00,psymval,local_cc,(bool)(char)local_b8,0,target,\n                              (bool)calculate_only,&this->calculated_value_)" identifier (argument_list "(view,this_00,psymval,local_cc,(bool)(char)local_b8,0,target,\n                              (bool)calculate_only,&this->calculated_value_)" ( identifier , identifier , identifier , identifier , (cast_expression "(bool)(char)local_b8" ( (type_descriptor "bool" primitive_type) ) (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier)) , number_literal , identifier , (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier) , (pointer_expression "&this->calculated_value_" & (field_expression "this->calculated_value_" identifier -> field_identifier)) ))))) ;) (goto_statement "goto LAB_002c2945;" goto statement_identifier ;) })) (if_statement "if (rel_type == 9) {\n          pMVar60 = (Mips_relobj<32,_false> *)operator_new(0x40);\n          (pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj.\n          super_Object.field_0x3c = 0;\n          SVar26 = STATUS_OKAY;\n          (pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj.\n          super_Object.shnum_ = 0;\n          pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n          (pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj.\n          super_Object.name_._M_string_length = (size_type)view;\n          *(Mips_relobj<32,_false> **)\n           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj\n            .super_Object.name_.field_2 = this_00;\n          *(Symbol_value<32> **)\n           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.name_.field_2 + 8) = psymval;\n          *(Value *)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object.input_file_ = local_cc;\n          *(_Rb_tree_color *)\n           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.input_file_ + 4) = lo16_reloc;\n          *(_Rb_tree_color *)\n           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj\n            .super_Object.offset_ = _Var51;\n          *(char *)((long)&(pMVar60->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj<32,_false>.super_Relobj.super_Object.offset_ + 4) =\n               (char)local_b8;\n          std::__detail::_List_node_base::_M_hook\n                    ((_List_node_base *)pMVar60,\n                     (_List_node_base *)\n                     &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }" if (parenthesized_expression "(rel_type == 9)" ( (binary_expression "rel_type == 9" identifier == number_literal) )) (compound_statement "{\n          pMVar60 = (Mips_relobj<32,_false> *)operator_new(0x40);\n          (pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj.\n          super_Object.field_0x3c = 0;\n          SVar26 = STATUS_OKAY;\n          (pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj.\n          super_Object.shnum_ = 0;\n          pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;\n          (pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj.\n          super_Object.name_._M_string_length = (size_type)view;\n          *(Mips_relobj<32,_false> **)\n           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj\n            .super_Object.name_.field_2 = this_00;\n          *(Symbol_value<32> **)\n           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.name_.field_2 + 8) = psymval;\n          *(Value *)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object.input_file_ = local_cc;\n          *(_Rb_tree_color *)\n           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.input_file_ + 4) = lo16_reloc;\n          *(_Rb_tree_color *)\n           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj\n            .super_Object.offset_ = _Var51;\n          *(char *)((long)&(pMVar60->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj<32,_false>.super_Relobj.super_Object.offset_ + 4) =\n               (char)local_b8;\n          std::__detail::_List_node_base::_M_hook\n                    ((_List_node_base *)pMVar60,\n                     (_List_node_base *)\n                     &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }" { (expression_statement "pMVar60 = (Mips_relobj<32,_false> *)operator_new(0x40);" (assignment_expression "pMVar60 = (Mips_relobj<32,_false> *)operator_new(0x40)" identifier = (parenthesized_expression "(Mips_relobj<32,_false> *)operator_new(0x40)" ( (comma_expression "Mips_relobj<32,_false> *)operator_new(0x40)" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)operator_new(0x40)" identifier > (pointer_expression "*)operator_new(0x40)" * (ERROR ")" )) (call_expression "operator_new(0x40)" identifier (argument_list "(0x40)" ( number_literal )))))) ))) ;) (expression_statement "(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj.\n          super_Object.field_0x3c = 0;" (comma_expression "(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj.\n          super_Object.field_0x3c = 0" (binary_expression "(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" (field_expression "(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj" (parenthesized_expression "(pMVar60->super_Sized_relobj_file<32,_false>)" ( (comma_expression "pMVar60->super_Sized_relobj_file<32,_false" (binary_expression "pMVar60->super_Sized_relobj_file<32" (field_expression "pMVar60->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (assignment_expression "_false>.super_Relobj.\n          super_Object.field_0x3c = 0" (field_expression "_false>.super_Relobj.\n          super_Object.field_0x3c" (field_expression "_false>.super_Relobj.\n          super_Object" (field_expression "_false>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) = number_literal)) ;) (expression_statement "SVar26 = STATUS_OKAY;" (assignment_expression "SVar26 = STATUS_OKAY" identifier = identifier) ;) (expression_statement "(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj.\n          super_Object.shnum_ = 0;" (comma_expression "(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj.\n          super_Object.shnum_ = 0" (binary_expression "(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" (field_expression "(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj" (parenthesized_expression "(pMVar60->super_Sized_relobj_file<32,_false>)" ( (comma_expression "pMVar60->super_Sized_relobj_file<32,_false" (binary_expression "pMVar60->super_Sized_relobj_file<32" (field_expression "pMVar60->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (assignment_expression "_false>.super_Relobj.\n          super_Object.shnum_ = 0" (field_expression "_false>.super_Relobj.\n          super_Object.shnum_" (field_expression "_false>.super_Relobj.\n          super_Object" (field_expression "_false>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) = number_literal)) ;) (expression_statement "pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;" (comma_expression "pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs" (binary_expression "pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32" (assignment_expression "pp_Var56 = &(anonymous_namespace)" identifier = (pointer_expression "&(anonymous_namespace)" & (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Mips_relocate_functions" : : identifier) < number_literal) , (binary_expression "false>::got16_relocs" false > (ERROR "::" : :) identifier)) ;) (expression_statement "(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj.\n          super_Object.name_._M_string_length = (size_type)view;" (comma_expression "(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj.\n          super_Object.name_._M_string_length = (size_type)view" (binary_expression "(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" (field_expression "(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj" (parenthesized_expression "(pMVar60->super_Sized_relobj_file<32,_false>)" ( (comma_expression "pMVar60->super_Sized_relobj_file<32,_false" (binary_expression "pMVar60->super_Sized_relobj_file<32" (field_expression "pMVar60->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (assignment_expression "_false>.super_Relobj.\n          super_Object.name_._M_string_length = (size_type)view" (field_expression "_false>.super_Relobj.\n          super_Object.name_._M_string_length" (field_expression "_false>.super_Relobj.\n          super_Object.name_" (field_expression "_false>.super_Relobj.\n          super_Object" (field_expression "_false>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(size_type)view" ( (type_descriptor "size_type" type_identifier) ) identifier))) ;) (expression_statement "*(Mips_relobj<32,_false> **)\n           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj\n            .super_Object.name_.field_2 = this_00;" (pointer_expression "*(Mips_relobj<32,_false> **)\n           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj\n            .super_Object.name_.field_2 = this_00" * (parenthesized_expression "(Mips_relobj<32,_false> **)\n           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj\n            .super_Object.name_.field_2 = this_00" ( (comma_expression "Mips_relobj<32,_false> **)\n           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj\n            .super_Object.name_.field_2 = this_00" (binary_expression "Mips_relobj<32" identifier < number_literal) , (comma_expression "_false> **)\n           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj\n            .super_Object.name_.field_2 = this_00" (binary_expression "_false> **)\n           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" (binary_expression "_false> **)\n           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj" identifier > (pointer_expression "**)\n           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj" * (pointer_expression "*)\n           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj" * (ERROR ")" )) (pointer_expression "&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj" & (field_expression "(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj" (parenthesized_expression "(pMVar60->super_Sized_relobj_file<32,_false>)" ( (comma_expression "pMVar60->super_Sized_relobj_file<32,_false" (binary_expression "pMVar60->super_Sized_relobj_file<32" (field_expression "pMVar60->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier))))) < number_literal) , (assignment_expression "_false>.super_Relobj\n            .super_Object.name_.field_2 = this_00" (field_expression "_false>.super_Relobj\n            .super_Object.name_.field_2" (field_expression "_false>.super_Relobj\n            .super_Object.name_" (field_expression "_false>.super_Relobj\n            .super_Object" (field_expression "_false>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = identifier))) ))) ;) (expression_statement "*(Symbol_value<32> **)\n           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.name_.field_2 + 8) = psymval;\n          *(Value *)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object.input_file_ = local_cc;" (pointer_expression "*(Symbol_value<32> **)\n           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.name_.field_2 + 8) = psymval;\n          *(Value *)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object.input_file_ = local_cc" * (parenthesized_expression "(Symbol_value<32> **)\n           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.name_.field_2 + 8) = psymval;\n          *(Value *)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object.input_file_ = local_cc" ( (comma_expression "Symbol_value<32> **)\n           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.name_.field_2 + 8) = psymval;\n          *(Value *)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object.input_file_ = local_cc" (binary_expression "Symbol_value<32> **)\n           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.name_.field_2 + 8) = psymval;\n          *(Value *)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" (binary_expression "Symbol_value<32> **)\n           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.name_.field_2 + 8) = psymval;\n          *(Value *)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj" (binary_expression "Symbol_value<32> **)\n           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.name_.field_2 + 8) = psymval" (binary_expression "Symbol_value<32" identifier < number_literal) > (assignment_expression "**)\n           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.name_.field_2 + 8) = psymval" (pointer_expression "**)\n           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.name_.field_2 + 8)" * (pointer_expression "*)\n           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.name_.field_2 + 8)" * (ERROR ")" )) (parenthesized_expression "((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.name_.field_2 + 8)" ( (comma_expression "(long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.name_.field_2 + 8" (binary_expression "(long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" (cast_expression "(long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj" & (field_expression "(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj" (parenthesized_expression "(pMVar60->super_Sized_relobj_file<32,_false>)" ( (comma_expression "pMVar60->super_Sized_relobj_file<32,_false" (binary_expression "pMVar60->super_Sized_relobj_file<32" (field_expression "pMVar60->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier))) < number_literal) , (binary_expression "_false>.\n                   super_Relobj.super_Object.name_.field_2 + 8" (field_expression "_false>.\n                   super_Relobj.super_Object.name_.field_2" (field_expression "_false>.\n                   super_Relobj.super_Object.name_" (field_expression "_false>.\n                   super_Relobj.super_Object" (field_expression "_false>.\n                   super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) + number_literal)) )))) = identifier)) (ERROR ";" ;) * (cast_expression "(Value *)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj" ( (type_descriptor "Value *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj" & (field_expression "(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj" (parenthesized_expression "(pMVar60->super_Sized_relobj_file<32,_false>)" ( (comma_expression "pMVar60->super_Sized_relobj_file<32,_false" (binary_expression "pMVar60->super_Sized_relobj_file<32" (field_expression "pMVar60->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier)))) < number_literal) , (assignment_expression "_false>.\n                     super_Relobj.super_Object.input_file_ = local_cc" (field_expression "_false>.\n                     super_Relobj.super_Object.input_file_" (field_expression "_false>.\n                     super_Relobj.super_Object" (field_expression "_false>.\n                     super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) = identifier)) ))) ;) (expression_statement "*(_Rb_tree_color *)\n           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.input_file_ + 4) = lo16_reloc;" (assignment_expression "*(_Rb_tree_color *)\n           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.input_file_ + 4) = lo16_reloc" (pointer_expression "*(_Rb_tree_color *)\n           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.input_file_ + 4)" * (cast_expression "(_Rb_tree_color *)\n           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.input_file_ + 4)" ( (type_descriptor "_Rb_tree_color *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.input_file_ + 4)" ( (comma_expression "(long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object.input_file_ + 4" (binary_expression "(long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" (cast_expression "(long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj" & (field_expression "(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj" (parenthesized_expression "(pMVar60->super_Sized_relobj_file<32,_false>)" ( (comma_expression "pMVar60->super_Sized_relobj_file<32,_false" (binary_expression "pMVar60->super_Sized_relobj_file<32" (field_expression "pMVar60->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier))) < number_literal) , (binary_expression "_false>.\n                   super_Relobj.super_Object.input_file_ + 4" (field_expression "_false>.\n                   super_Relobj.super_Object.input_file_" (field_expression "_false>.\n                   super_Relobj.super_Object" (field_expression "_false>.\n                   super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) + number_literal)) )))) = identifier) ;) (expression_statement "*(_Rb_tree_color *)\n           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj\n            .super_Object.offset_ = _Var51;" (comma_expression "*(_Rb_tree_color *)\n           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj\n            .super_Object.offset_ = _Var51" (binary_expression "*(_Rb_tree_color *)\n           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" (pointer_expression "*(_Rb_tree_color *)\n           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj" * (cast_expression "(_Rb_tree_color *)\n           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj" ( (type_descriptor "_Rb_tree_color *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj" & (field_expression "(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj" (parenthesized_expression "(pMVar60->super_Sized_relobj_file<32,_false>)" ( (comma_expression "pMVar60->super_Sized_relobj_file<32,_false" (binary_expression "pMVar60->super_Sized_relobj_file<32" (field_expression "pMVar60->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier)))) < number_literal) , (assignment_expression "_false>.super_Relobj\n            .super_Object.offset_ = _Var51" (field_expression "_false>.super_Relobj\n            .super_Object.offset_" (field_expression "_false>.super_Relobj\n            .super_Object" (field_expression "_false>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) = identifier)) ;) (expression_statement "*(char *)((long)&(pMVar60->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj<32,_false>.super_Relobj.super_Object.offset_ + 4) =\n               (char)local_b8;" (assignment_expression "*(char *)((long)&(pMVar60->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj<32,_false>.super_Relobj.super_Object.offset_ + 4) =\n               (char)local_b8" (pointer_expression "*(char *)((long)&(pMVar60->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj<32,_false>.super_Relobj.super_Object.offset_ + 4)" * (cast_expression "(char *)((long)&(pMVar60->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj<32,_false>.super_Relobj.super_Object.offset_ + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(pMVar60->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj<32,_false>.super_Relobj.super_Object.offset_ + 4)" ( (comma_expression "(long)&(pMVar60->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj<32,_false>.super_Relobj.super_Object.offset_ + 4" (binary_expression "(long)&(pMVar60->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj<32" (cast_expression "(long)&(pMVar60->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(pMVar60->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj" & (field_expression "(pMVar60->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj" (parenthesized_expression "(pMVar60->super_Sized_relobj_file<32,_false>)" ( (comma_expression "pMVar60->super_Sized_relobj_file<32,_false" (binary_expression "pMVar60->super_Sized_relobj_file<32" (field_expression "pMVar60->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier))) < number_literal) , (binary_expression "_false>.super_Relobj.super_Object.offset_ + 4" (field_expression "_false>.super_Relobj.super_Object.offset_" (field_expression "_false>.super_Relobj.super_Object" (field_expression "_false>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) + number_literal)) )))) = (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (labeled_statement "std::__detail::_List_node_base::_M_hook\n                    ((_List_node_base *)pMVar60,\n                     (_List_node_base *)\n                     &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);" statement_identifier : (ERROR ":" :) (labeled_statement "__detail::_List_node_base::_M_hook\n                    ((_List_node_base *)pMVar60,\n                     (_List_node_base *)\n                     &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);" statement_identifier : (ERROR ":" :) (labeled_statement "_List_node_base::_M_hook\n                    ((_List_node_base *)pMVar60,\n                     (_List_node_base *)\n                     &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);" statement_identifier : (ERROR ":" :) (expression_statement "_M_hook\n                    ((_List_node_base *)pMVar60,\n                     (_List_node_base *)\n                     &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);" (call_expression "_M_hook\n                    ((_List_node_base *)pMVar60,\n                     (_List_node_base *)\n                     &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs)" identifier (argument_list "((_List_node_base *)pMVar60,\n                     (_List_node_base *)\n                     &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs)" ( (cast_expression "(_List_node_base *)pMVar60" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "(_List_node_base *)\n                     &(anonymous_namespace)::Mips_relocate_functions<32" (cast_expression "(_List_node_base *)\n                     &(anonymous_namespace)" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(anonymous_namespace)" & (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Mips_relocate_functions" : : identifier) < number_literal) , (binary_expression "false>::got16_relocs" false > (ERROR "::" : :) identifier) ))) ;)))) (expression_statement "_DAT_0067dad0 = _DAT_0067dad0 + 1;" (assignment_expression "_DAT_0067dad0 = _DAT_0067dad0 + 1" identifier = (binary_expression "_DAT_0067dad0 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_002c2945;" goto statement_identifier ;) })) comment (labeled_statement "gold::do_gold_unreachable("../../gold/mips.cc",0x2f66,"relocate");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/mips.cc",0x2f66,"relocate");" (call_expression "do_gold_unreachable("../../gold/mips.cc",0x2f66,"relocate")" identifier (argument_list "("../../gold/mips.cc",0x2f66,"relocate")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""relocate"" " string_content ") ))) ;)) }) (ERROR "pMVar60 = (Mips_relobj<32" identifier = ( identifier < number_literal) , (binary_expression "_false> *)target->got_;\n      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n        pp_Var43 = (_List_node_base **)this_00;\n        pSVar33 = gsym;\n        local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00);\n        lo16_reloc = (_Rb_tree_color)pSVar33;\n        pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var56 = (_List_node_base **)(ulong)local_e4;\n          uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n          if (this->calculate_only_ != false) goto LAB_002c2940;\n          uVar41 = *(uint *)view;\n          uVar40 = (uVar41 ^ uVar39) & 0xffff ^ uVar41;\nLAB_002c27a6:\n          pp_Var43 = (_List_node_base **)(ulong)uVar41;\n          *(uint *)view = uVar40;\n          SVar26 = (Status)(0xffff < uVar39 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case (Mips_relobj<32,_false> *)0xa:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar39 = uVar40 * 4 & 0x3fffc;\n        local_b0 = uVar39 - 0x40000;\n        if ((uVar40 * 4 & 0x20000) == 0) {\n          local_b0 = uVar39;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false" (binary_expression "_false> *)target->got_;\n      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n        pp_Var43 = (_List_node_base **)this_00;\n        pSVar33 = gsym;\n        local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00);\n        lo16_reloc = (_Rb_tree_color)pSVar33;\n        pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var56 = (_List_node_base **)(ulong)local_e4;\n          uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n          if (this->calculate_only_ != false) goto LAB_002c2940;\n          uVar41 = *(uint *)view;\n          uVar40 = (uVar41 ^ uVar39) & 0xffff ^ uVar41;\nLAB_002c27a6:\n          pp_Var43 = (_List_node_base **)(ulong)uVar41;\n          *(uint *)view = uVar40;\n          SVar26 = (Status)(0xffff < uVar39 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case (Mips_relobj<32,_false> *)0xa:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar39 = uVar40 * 4 & 0x3fffc;\n        local_b0 = uVar39 - 0x40000;\n        if ((uVar40 * 4 & 0x20000) == 0) {\n          local_b0 = uVar39;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value" (binary_expression "_false> *)target->got_;\n      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n        pp_Var43 = (_List_node_base **)this_00;\n        pSVar33 = gsym;\n        local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00);\n        lo16_reloc = (_Rb_tree_color)pSVar33;\n        pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var56 = (_List_node_base **)(ulong)local_e4;\n          uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n          if (this->calculate_only_ != false) goto LAB_002c2940;\n          uVar41 = *(uint *)view;\n          uVar40 = (uVar41 ^ uVar39) & 0xffff ^ uVar41;\nLAB_002c27a6:\n          pp_Var43 = (_List_node_base **)(ulong)uVar41;\n          *(uint *)view = uVar40;\n          SVar26 = (Status)(0xffff < uVar39 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case (Mips_relobj<32,_false> *)0xa:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar39 = uVar40 * 4 & 0x3fffc;\n        local_b0 = uVar39 - 0x40000;\n        if ((uVar40 * 4 & 0x20000) == 0) {\n          local_b0 = uVar39;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32" (assignment_expression "_false> *)target->got_;\n      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n        pp_Var43 = (_List_node_base **)this_00;\n        pSVar33 = gsym;\n        local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00);\n        lo16_reloc = (_Rb_tree_color)pSVar33;\n        pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var56 = (_List_node_base **)(ulong)local_e4;\n          uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n          if (this->calculate_only_ != false) goto LAB_002c2940;\n          uVar41 = *(uint *)view;\n          uVar40 = (uVar41 ^ uVar39) & 0xffff ^ uVar41;\nLAB_002c27a6:\n          pp_Var43 = (_List_node_base **)(ulong)uVar41;\n          *(uint *)view = uVar40;\n          SVar26 = (Status)(0xffff < uVar39 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case (Mips_relobj<32,_false> *)0xa:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar39 = uVar40 * 4 & 0x3fffc;\n        local_b0 = uVar39 - 0x40000;\n        if ((uVar40 * 4 & 0x20000) == 0) {\n          local_b0 = uVar39;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold" (call_expression "_false> *)target->got_;\n      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n        pp_Var43 = (_List_node_base **)this_00;\n        pSVar33 = gsym;\n        local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00);\n        lo16_reloc = (_Rb_tree_color)pSVar33;\n        pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var56 = (_List_node_base **)(ulong)local_e4;\n          uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n          if (this->calculate_only_ != false) goto LAB_002c2940;\n          uVar41 = *(uint *)view;\n          uVar40 = (uVar41 ^ uVar39) & 0xffff ^ uVar41;\nLAB_002c27a6:\n          pp_Var43 = (_List_node_base **)(ulong)uVar41;\n          *(uint *)view = uVar40;\n          SVar26 = (Status)(0xffff < uVar39 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case (Mips_relobj<32,_false> *)0xa:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar39 = uVar40 * 4 & 0x3fffc;\n        local_b0 = uVar39 - 0x40000;\n        if ((uVar40 * 4 & 0x20000) == 0) {\n          local_b0 = uVar39;\n        }\n      }\n      pp_Var56 = (_List_node_base **)" (binary_expression "_false> *)target->got_" identifier > (pointer_expression "*)target->got_" * (ERROR ")" )) (field_expression "target->got_" identifier -> field_identifier))) (ERROR ";\n      if" ; if) (argument_list "(pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n        pp_Var43 = (_List_node_base **)this_00;\n        pSVar33 = gsym;\n        local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00);\n        lo16_reloc = (_Rb_tree_color)pSVar33;\n        pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var56 = (_List_node_base **)(ulong)local_e4;\n          uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n          if (this->calculate_only_ != false) goto LAB_002c2940;\n          uVar41 = *(uint *)view;\n          uVar40 = (uVar41 ^ uVar39) & 0xffff ^ uVar41;\nLAB_002c27a6:\n          pp_Var43 = (_List_node_base **)(ulong)uVar41;\n          *(uint *)view = uVar40;\n          SVar26 = (Status)(0xffff < uVar39 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case (Mips_relobj<32,_false> *)0xa:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar39 = uVar40 * 4 & 0x3fffc;\n        local_b0 = uVar39 - 0x40000;\n        if ((uVar40 * 4 & 0x20000) == 0) {\n          local_b0 = uVar39;\n        }\n      }\n      pp_Var56 = (_List_node_base **)" ( (ERROR "pMVar60 != (Mips_relobj<32,_false> *)0x0)" (binary_expression "pMVar60 != (Mips_relobj<32,_false> *)0x0)" identifier != (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) )))) (compound_statement "{\n        pp_Var43 = (_List_node_base **)this_00;\n        pSVar33 = gsym;\n        local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00);\n        lo16_reloc = (_Rb_tree_color)pSVar33;\n        pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var56 = (_List_node_base **)(ulong)local_e4;\n          uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n          if (this->calculate_only_ != false) goto LAB_002c2940;\n          uVar41 = *(uint *)view;\n          uVar40 = (uVar41 ^ uVar39) & 0xffff ^ uVar41;\nLAB_002c27a6:\n          pp_Var43 = (_List_node_base **)(ulong)uVar41;\n          *(uint *)view = uVar40;\n          SVar26 = (Status)(0xffff < uVar39 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }" { (expression_statement "pp_Var43 = (_List_node_base **)this_00;" (assignment_expression "pp_Var43 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "pSVar33 = gsym;" (assignment_expression "pSVar33 = gsym" identifier = identifier) ;) (expression_statement "local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00);" (comma_expression "local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00)" (assignment_expression "local_e4 = Mips_output_data_got<32" identifier = (binary_expression "Mips_output_data_got<32" identifier < number_literal)) , (binary_expression "_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00)" identifier > (ERROR "::" : :) (call_expression "got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00)" identifier (argument_list "((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00)" ( (parenthesized_expression "(Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00)" ( (comma_expression "Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (comma_expression "_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00" (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier)) , (comma_expression "&gsym->super_Symbol,0,\n                              this_00" (pointer_expression "&gsym->super_Symbol" & (field_expression "gsym->super_Symbol" identifier -> field_identifier)) , (comma_expression "0,\n                              this_00" number_literal , identifier)))) )) ))))) ;) (expression_statement "lo16_reloc = (_Rb_tree_color)pSVar33;" (assignment_expression "lo16_reloc = (_Rb_tree_color)pSVar33" identifier = (cast_expression "(_Rb_tree_color)pSVar33" ( (type_descriptor "_Rb_tree_color" type_identifier) ) identifier)) ;) (expression_statement "pMVar60 = (Mips_relobj<32,_false> *)target->got_;" (assignment_expression "pMVar60 = (Mips_relobj<32,_false> *)target->got_" identifier = (parenthesized_expression "(Mips_relobj<32,_false> *)target->got_" ( (comma_expression "Mips_relobj<32,_false> *)target->got_" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)target->got_" identifier > (pointer_expression "*)target->got_" * (ERROR ")" )) (field_expression "target->got_" identifier -> field_identifier)))) ))) ;) (if_statement "if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var56 = (_List_node_base **)(ulong)local_e4;\n          uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n          if (this->calculate_only_ != false) goto LAB_002c2940;\n          uVar41 = *(uint *)view;\n          uVar40 = (uVar41 ^ uVar39) & 0xffff ^ uVar41;\nLAB_002c27a6:\n          pp_Var43 = (_List_node_base **)(ulong)uVar41;\n          *(uint *)view = uVar40;\n          SVar26 = (Status)(0xffff < uVar39 + 0x8000);\n          goto LAB_002c2945;\n        }" if (parenthesized_expression "(pMVar60 != (Mips_relobj<32,_false> *)0x0)" ( (binary_expression "pMVar60 != (Mips_relobj<32,_false> *)0x0)" identifier != (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n          pp_Var56 = (_List_node_base **)(ulong)local_e4;\n          uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n          if (this->calculate_only_ != false) goto LAB_002c2940;\n          uVar41 = *(uint *)view;\n          uVar40 = (uVar41 ^ uVar39) & 0xffff ^ uVar41;\nLAB_002c27a6:\n          pp_Var43 = (_List_node_base **)(ulong)uVar41;\n          *(uint *)view = uVar40;\n          SVar26 = (Status)(0xffff < uVar39 + 0x8000);\n          goto LAB_002c2945;\n        }" { (expression_statement "pp_Var56 = (_List_node_base **)(ulong)local_e4;" (assignment_expression "pp_Var56 = (_List_node_base **)(ulong)local_e4" identifier = (cast_expression "(_List_node_base **)(ulong)local_e4" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)local_e4" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);" (comma_expression "uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" (assignment_expression "uVar39 = Mips_output_data_got<32" identifier = (binary_expression "Mips_output_data_got<32" identifier < number_literal)) , (binary_expression "_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" identifier > (ERROR "::" : :) (call_expression "gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" identifier (argument_list "((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" ( (parenthesized_expression "(Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" ( (comma_expression "Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (comma_expression "_false> *)pMVar60,local_e4,this_00" (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier)) , (comma_expression "local_e4,this_00" identifier , identifier))) )) ))))) ;) (if_statement "if (this->calculate_only_ != false) goto LAB_002c2940;" if (parenthesized_expression "(this->calculate_only_ != false)" ( (binary_expression "this->calculate_only_ != false" (field_expression "this->calculate_only_" identifier -> field_identifier) != false) )) (goto_statement "goto LAB_002c2940;" goto statement_identifier ;)) (expression_statement "uVar41 = *(uint *)view;" (assignment_expression "uVar41 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar40 = (uVar41 ^ uVar39) & 0xffff ^ uVar41;" (assignment_expression "uVar40 = (uVar41 ^ uVar39) & 0xffff ^ uVar41" identifier = (binary_expression "(uVar41 ^ uVar39) & 0xffff ^ uVar41" (binary_expression "(uVar41 ^ uVar39) & 0xffff" (parenthesized_expression "(uVar41 ^ uVar39)" ( (binary_expression "uVar41 ^ uVar39" identifier ^ identifier) )) & number_literal) ^ identifier)) ;) (labeled_statement "LAB_002c27a6:\n          pp_Var43 = (_List_node_base **)(ulong)uVar41;" statement_identifier : (expression_statement "pp_Var43 = (_List_node_base **)(ulong)uVar41;" (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)uVar41" identifier = (cast_expression "(_List_node_base **)(ulong)uVar41" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)uVar41" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;)) (expression_statement "*(uint *)view = uVar40;" (assignment_expression "*(uint *)view = uVar40" (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "SVar26 = (Status)(0xffff < uVar39 + 0x8000);" (assignment_expression "SVar26 = (Status)(0xffff < uVar39 + 0x8000)" identifier = (call_expression "(Status)(0xffff < uVar39 + 0x8000)" (parenthesized_expression "(Status)" ( identifier )) (argument_list "(0xffff < uVar39 + 0x8000)" ( (binary_expression "0xffff < uVar39 + 0x8000" number_literal < (binary_expression "uVar39 + 0x8000" identifier + number_literal)) )))) ;) (goto_statement "goto LAB_002c2945;" goto statement_identifier ;) })) (goto_statement "goto LAB_002c4797;" goto statement_identifier ;) }) (ERROR "goto LAB_002c479c;\n    case (Mips_relobj<32" goto identifier ; case ( identifier < number_literal) , (ERROR "_false> *)0xa:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      if ((char)local_b8 != '\0')" (binary_expression "_false> *)0xa" identifier > (pointer_expression "*)0xa" * (ERROR ")" )) number_literal)) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier : (assignment_expression "local_cc = local_b0" identifier = identifier) ; (call_expression "uVar40 = *(uint *)view;\n      if ((char)local_b8 != '\0')" (assignment_expression "uVar40 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) (ERROR ";\n      if" ; if) (argument_list "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )))) (compound_statement "{\n        uVar39 = uVar40 * 4 & 0x3fffc;\n        local_b0 = uVar39 - 0x40000;\n        if ((uVar40 * 4 & 0x20000) == 0) {\n          local_b0 = uVar39;\n        }\n      }" { (expression_statement "uVar39 = uVar40 * 4 & 0x3fffc;" (assignment_expression "uVar39 = uVar40 * 4 & 0x3fffc" identifier = (binary_expression "uVar40 * 4 & 0x3fffc" (binary_expression "uVar40 * 4" identifier * number_literal) & number_literal)) ;) (expression_statement "local_b0 = uVar39 - 0x40000;" (assignment_expression "local_b0 = uVar39 - 0x40000" identifier = (binary_expression "uVar39 - 0x40000" identifier - number_literal)) ;) (if_statement "if ((uVar40 * 4 & 0x20000) == 0) {\n          local_b0 = uVar39;\n        }" if (parenthesized_expression "((uVar40 * 4 & 0x20000) == 0)" ( (binary_expression "(uVar40 * 4 & 0x20000) == 0" (parenthesized_expression "(uVar40 * 4 & 0x20000)" ( (binary_expression "uVar40 * 4 & 0x20000" (binary_expression "uVar40 * 4" identifier * number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar39;\n        }" { (expression_statement "local_b0 = uVar39;" (assignment_expression "local_b0 = uVar39" identifier = identifier) ;) })) }) (ERROR "pp_Var56 = (_List_node_base **" identifier = ( identifier * *) ))) (ERROR "this_00;\n      VVar23" identifier ; identifier) = identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar39 = VVar23 - address >> 2;\n      if ((bool)calculate_only != false) goto LAB_002c1f30;\n      *(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0xffff;\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar24 = gold::" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,local_b0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,local_b0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,local_b0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; (call_expression "uVar39 = VVar23 - address >> 2;\n      if ((bool)calculate_only != false)" (assignment_expression "uVar39 = VVar23 - address >> 2" identifier = (binary_expression "VVar23 - address >> 2" (binary_expression "VVar23 - address" identifier - identifier) >> number_literal)) (ERROR ";\n      if" ; if) (argument_list "((bool)calculate_only != false)" ( (binary_expression "(bool)calculate_only != false" (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier) != false) ))) identifier (binary_expression "LAB_002c1f30;\n      *(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0xffff" identifier (ERROR ";" ;) * (cast_expression "(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0xffff" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "view = uVar40 ^ (uVar39 ^ uVar40) & 0xffff" identifier = (binary_expression "uVar40 ^ (uVar39 ^ uVar40) & 0xffff" identifier ^ (binary_expression "(uVar39 ^ uVar40) & 0xffff" (parenthesized_expression "(uVar39 ^ uVar40)" ( (binary_expression "uVar39 ^ uVar40" identifier ^ identifier) )) & number_literal))))) ; (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ; (assignment_expression "VVar24 = gold" identifier = identifier) : :) (binary_expression "Symbol_value<32>::value<false" (binary_expression "Symbol_value<32>::value" (binary_expression "Symbol_value<32" identifier < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      SVar26 = STATUS_PCREL_UNALIGNED;\n      if ((VVar24 & 3) == 0) {\n        SVar26 = (Status)(0x3ffff < (VVar23 - address) + 0x20000);\n      }\n      break;\n    case" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,local_b0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,local_b0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,local_b0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; (call_expression "SVar26 = STATUS_PCREL_UNALIGNED;\n      if ((VVar24 & 3) == 0)" (assignment_expression "SVar26 = STATUS_PCREL_UNALIGNED" identifier = identifier) (ERROR ";\n      if" ; if) (argument_list "((VVar24 & 3) == 0)" ( (binary_expression "(VVar24 & 3) == 0" (parenthesized_expression "(VVar24 & 3)" ( (binary_expression "VVar24 & 3" identifier & number_literal) )) == number_literal) ))) (compound_statement "{\n        SVar26 = (Status)(0x3ffff < (VVar23 - address) + 0x20000);\n      }" { (expression_statement "SVar26 = (Status)(0x3ffff < (VVar23 - address) + 0x20000);" (assignment_expression "SVar26 = (Status)(0x3ffff < (VVar23 - address) + 0x20000)" identifier = (call_expression "(Status)(0x3ffff < (VVar23 - address) + 0x20000)" (parenthesized_expression "(Status)" ( identifier )) (argument_list "(0x3ffff < (VVar23 - address) + 0x20000)" ( (binary_expression "0x3ffff < (VVar23 - address) + 0x20000" number_literal < (binary_expression "(VVar23 - address) + 0x20000" (parenthesized_expression "(VVar23 - address)" ( (binary_expression "VVar23 - address" identifier - identifier) )) + number_literal)) )))) ;) }) break ; case) ( (ERROR "Mips_relobj<32,_false> *)0xb:\n    case" (comma_expression "Mips_relobj<32,_false> *)0xb" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0xb" identifier > (pointer_expression "*)0xb" * (ERROR ")" )) number_literal))) : case) ( (ERROR "Mips_relobj<32,_false> *)0x67:\n    case" (comma_expression "Mips_relobj<32,_false> *)0x67" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x67" identifier > (pointer_expression "*)0x67" * (ERROR ")" )) number_literal))) : case) ( (ERROR "Mips_relobj<32,_false> *)0x8e:\n      local_b8 = (_Bit_type *)0x0;" (comma_expression "Mips_relobj<32,_false> *)0x8e" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x8e" identifier > (pointer_expression "*)0x8e" * (ERROR ")" )) number_literal))) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) identifier (ERROR ":\n      if" : if) ( (ERROR "gsym == (Sized_symbol<32> *)0x0) {\nLAB_002c467a:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/mips.cc",0x2f3d,"relocate");\n      }" (binary_expression "gsym == (Sized_symbol<32> *)0x0)" identifier == (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) (compound_statement "{\nLAB_002c467a:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/mips.cc",0x2f3d,"relocate");\n      }" { (labeled_statement "LAB_002c467a:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/mips.cc",0x2f3d,"relocate");" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable("../../gold/mips.cc",0x2f3d,"relocate");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/mips.cc",0x2f3d,"relocate");" (call_expression "do_gold_unreachable("../../gold/mips.cc",0x2f3d,"relocate")" identifier (argument_list "("../../gold/mips.cc",0x2f3d,"relocate")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""relocate"" " string_content ") ))) ;))) })) identifier = ( (ERROR "Mips_relobj<32,_false> *)target->got_;\n      if" (comma_expression "Mips_relobj<32,_false> *)target->got_" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)target->got_" identifier > (pointer_expression "*)target->got_" * (ERROR ")" )) (field_expression "target->got_" identifier -> field_identifier)))) ; if) (assignment_expression "(pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n        pp_Var43 = (_List_node_base **)this_00;\n        local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00);\n        pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var56 = (_List_node_base **)(ulong)local_e4;\n          uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n          if (this->calculate_only_ != false) goto LAB_002c2940;\n          uVar40 = *(uint *)view;\n          pp_Var56 = (_List_node_base **)(ulong)uVar40;\n          uVar41 = uVar40 ^ uVar39;\n          uVar40 = uVar41 & 0xffff ^ uVar40;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;\n    case (Mips_relobj<32,_false> *)0xc:\n      local_b8 = (_Bit_type *)0x0" (parenthesized_expression "(pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n        pp_Var43 = (_List_node_base **)this_00;\n        local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00);\n        pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var56 = (_List_node_base **)(ulong)local_e4;\n          uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n          if (this->calculate_only_ != false) goto LAB_002c2940;\n          uVar40 = *(uint *)view;\n          pp_Var56 = (_List_node_base **)(ulong)uVar40;\n          uVar41 = uVar40 ^ uVar39;\n          uVar40 = uVar41 & 0xffff ^ uVar40;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;\n    case (Mips_relobj<32,_false> *)" ( (ERROR "pMVar60 != (Mips_relobj<32,_false> *)0x0)" (binary_expression "pMVar60 != (Mips_relobj<32,_false> *)0x0)" identifier != (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) )))) (compound_statement "{\n        pp_Var43 = (_List_node_base **)this_00;\n        local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00);\n        pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var56 = (_List_node_base **)(ulong)local_e4;\n          uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n          if (this->calculate_only_ != false) goto LAB_002c2940;\n          uVar40 = *(uint *)view;\n          pp_Var56 = (_List_node_base **)(ulong)uVar40;\n          uVar41 = uVar40 ^ uVar39;\n          uVar40 = uVar41 & 0xffff ^ uVar40;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }" { (expression_statement "pp_Var43 = (_List_node_base **)this_00;" (assignment_expression "pp_Var43 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00);" (comma_expression "local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00)" (assignment_expression "local_e4 = Mips_output_data_got<32" identifier = (binary_expression "Mips_output_data_got<32" identifier < number_literal)) , (binary_expression "_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00)" identifier > (ERROR "::" : :) (call_expression "got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00)" identifier (argument_list "((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00)" ( (parenthesized_expression "(Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00)" ( (comma_expression "Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (comma_expression "_false> *)pMVar60,&gsym->super_Symbol,0,\n                              this_00" (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier)) , (comma_expression "&gsym->super_Symbol,0,\n                              this_00" (pointer_expression "&gsym->super_Symbol" & (field_expression "gsym->super_Symbol" identifier -> field_identifier)) , (comma_expression "0,\n                              this_00" number_literal , identifier)))) )) ))))) ;) (expression_statement "pMVar60 = (Mips_relobj<32,_false> *)target->got_;" (assignment_expression "pMVar60 = (Mips_relobj<32,_false> *)target->got_" identifier = (parenthesized_expression "(Mips_relobj<32,_false> *)target->got_" ( (comma_expression "Mips_relobj<32,_false> *)target->got_" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)target->got_" identifier > (pointer_expression "*)target->got_" * (ERROR ")" )) (field_expression "target->got_" identifier -> field_identifier)))) ))) ;) (if_statement "if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var56 = (_List_node_base **)(ulong)local_e4;\n          uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n          if (this->calculate_only_ != false) goto LAB_002c2940;\n          uVar40 = *(uint *)view;\n          pp_Var56 = (_List_node_base **)(ulong)uVar40;\n          uVar41 = uVar40 ^ uVar39;\n          uVar40 = uVar41 & 0xffff ^ uVar40;\n          goto LAB_002c27a6;\n        }" if (parenthesized_expression "(pMVar60 != (Mips_relobj<32,_false> *)0x0)" ( (binary_expression "pMVar60 != (Mips_relobj<32,_false> *)0x0)" identifier != (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n          pp_Var56 = (_List_node_base **)(ulong)local_e4;\n          uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n          if (this->calculate_only_ != false) goto LAB_002c2940;\n          uVar40 = *(uint *)view;\n          pp_Var56 = (_List_node_base **)(ulong)uVar40;\n          uVar41 = uVar40 ^ uVar39;\n          uVar40 = uVar41 & 0xffff ^ uVar40;\n          goto LAB_002c27a6;\n        }" { (expression_statement "pp_Var56 = (_List_node_base **)(ulong)local_e4;" (assignment_expression "pp_Var56 = (_List_node_base **)(ulong)local_e4" identifier = (cast_expression "(_List_node_base **)(ulong)local_e4" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)local_e4" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);" (comma_expression "uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" (assignment_expression "uVar39 = Mips_output_data_got<32" identifier = (binary_expression "Mips_output_data_got<32" identifier < number_literal)) , (binary_expression "_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" identifier > (ERROR "::" : :) (call_expression "gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" identifier (argument_list "((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" ( (parenthesized_expression "(Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" ( (comma_expression "Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (comma_expression "_false> *)pMVar60,local_e4,this_00" (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier)) , (comma_expression "local_e4,this_00" identifier , identifier))) )) ))))) ;) (if_statement "if (this->calculate_only_ != false) goto LAB_002c2940;" if (parenthesized_expression "(this->calculate_only_ != false)" ( (binary_expression "this->calculate_only_ != false" (field_expression "this->calculate_only_" identifier -> field_identifier) != false) )) (goto_statement "goto LAB_002c2940;" goto statement_identifier ;)) (expression_statement "uVar40 = *(uint *)view;" (assignment_expression "uVar40 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pp_Var56 = (_List_node_base **)(ulong)uVar40;" (assignment_expression "pp_Var56 = (_List_node_base **)(ulong)uVar40" identifier = (cast_expression "(_List_node_base **)(ulong)uVar40" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)uVar40" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "uVar41 = uVar40 ^ uVar39;" (assignment_expression "uVar41 = uVar40 ^ uVar39" identifier = (binary_expression "uVar40 ^ uVar39" identifier ^ identifier)) ;) (expression_statement "uVar40 = uVar41 & 0xffff ^ uVar40;" (assignment_expression "uVar40 = uVar41 & 0xffff ^ uVar40" identifier = (binary_expression "uVar41 & 0xffff ^ uVar40" (binary_expression "uVar41 & 0xffff" identifier & number_literal) ^ identifier)) ;) (goto_statement "goto LAB_002c27a6;" goto statement_identifier ;) })) (goto_statement "goto LAB_002c4735;" goto statement_identifier ;) }) (ERROR "goto LAB_002c473a;\n    case (Mips_relobj<32,_false> *" goto identifier ; case ( identifier < number_literal , identifier > *) )) (ERROR "0xc:\n      local_b8" number_literal : identifier) = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) (ERROR ";\nswitchD_002c18c9_caseD_c:\n      if" ; identifier : if) ( (ERROR "target->gp_ == (Sized_symbol<32> *)0x0) {\n        VVar57 = 0;\n      }\n      else" (binary_expression "target->gp_ == (Sized_symbol<32> *)0x0)" (field_expression "target->gp_" identifier -> field_identifier) == (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) (compound_statement "{\n        VVar57 = 0;\n      }" { (expression_statement "VVar57 = 0;" (assignment_expression "VVar57 = 0" identifier = number_literal) ;) }) else) { (expression_statement "VVar57 = target->gp_->value_;" (assignment_expression "VVar57 = target->gp_->value_" identifier = (field_expression "target->gp_->value_" (field_expression "target->gp_" identifier -> field_identifier) -> field_identifier)) ;) if ( ( ( (ERROR "target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n            (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&\n           (this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {\n          VVar57 = VVar57 + this_00->got_info_->offset_;\n        }\n      }\n      VVar23 = local_cc;\n      if ((char)local_b8 != '\0') {\n        VVar23 = *(Value *)view;\n      }\n      VVar23 = gold::" (binary_expression "target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n            (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&\n           (this_00->got_info_ != (Mips_got_info<32,_false> *)0x0))" (binary_expression "target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&\n            (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0))" (binary_expression "target->got_ != (Mips_output_data_got<32,_false> *)0x0)" (field_expression "target->got_" identifier -> field_identifier) != (parenthesized_expression "(Mips_output_data_got<32,_false> *)0x0)" ( (comma_expression "Mips_output_data_got<32,_false> *)0x0" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) && (parenthesized_expression "(target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0))" ( (binary_expression "target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)" (field_expression "target->got_->primary_got_" (field_expression "target->got_" identifier -> field_identifier) -> field_identifier) != (parenthesized_expression "(Mips_got_info<32,_false> *)0x0)" ( (comma_expression "Mips_got_info<32,_false> *)0x0" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) ))) && (parenthesized_expression "(this_00->got_info_ != (Mips_got_info<32,_false> *)0x0))" ( (binary_expression "this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)" (field_expression "this_00->got_info_" identifier -> field_identifier) != (parenthesized_expression "(Mips_got_info<32,_false> *)0x0)" ( (comma_expression "Mips_got_info<32,_false> *)0x0" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) ))) (compound_statement "{\n          VVar57 = VVar57 + this_00->got_info_->offset_;\n        }" { (expression_statement "VVar57 = VVar57 + this_00->got_info_->offset_;" (assignment_expression "VVar57 = VVar57 + this_00->got_info_->offset_" identifier = (binary_expression "VVar57 + this_00->got_info_->offset_" identifier + (field_expression "this_00->got_info_->offset_" (field_expression "this_00->got_info_" identifier -> field_identifier) -> field_identifier))) ;) }) } (call_expression "VVar23 = local_cc;\n      if ((char)local_b8 != '\0')" (assignment_expression "VVar23 = local_cc" identifier = identifier) (ERROR ";\n      if" ; if) (argument_list "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) (compound_statement "{\n        VVar23 = *(Value *)view;\n      }" { (expression_statement "VVar23 = *(Value *)view;" (assignment_expression "VVar23 = *(Value *)view" identifier = (pointer_expression "*(Value *)view" * (cast_expression "(Value *)view" ( (type_descriptor "Value *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) (assignment_expression "VVar23 = gold" identifier = identifier) : :) (binary_expression "Symbol_value<32>::value<false" (binary_expression "Symbol_value<32>::value" (binary_expression "Symbol_value<32" identifier < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n      pp_Var56 = (_List_node_base **)(ulong)this_00->gp_;\n      uVar39 = VVar23 + (this_00->gp_ - VVar57);\n      goto" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,VVar23)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,VVar23" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,VVar23" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; (assignment_expression "pp_Var56 = (_List_node_base **)(ulong)this_00->gp_" identifier = (cast_expression "(_List_node_base **)(ulong)this_00->gp_" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)this_00->gp_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "this_00->gp_" identifier -> field_identifier)))) ; (assignment_expression "uVar39 = VVar23 + (this_00->gp_ - VVar57)" identifier = (binary_expression "VVar23 + (this_00->gp_ - VVar57)" identifier + (parenthesized_expression "(this_00->gp_ - VVar57)" ( (binary_expression "this_00->gp_ - VVar57" (field_expression "this_00->gp_" identifier -> field_identifier) - identifier) )))) ; goto) identifier (ERROR ";\n    case" ; case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (ERROR "_false> *)0x12:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_12:\n      pp_Var56 = (_List_node_base **)0x12;\n      pp_Var43 = (_List_node_base **)target;" (binary_expression "_false> *)0x12" identifier > (pointer_expression "*)0x12" * (ERROR ")" )) number_literal)) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier : (assignment_expression "pp_Var56 = (_List_node_base **)0x12" identifier = (cast_expression "(_List_node_base **)0x12" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ; (assignment_expression "pp_Var43 = (_List_node_base **)target" identifier = (cast_expression "(_List_node_base **)target" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) identifier = identifier ( (cast_expression "(Relocate *)gsym" ( (type_descriptor "Relocate *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (ERROR "(Mips_symbol<32> *)0x12,(uint)output_section,\n                          (Output_section *)target,target_00);\n      if (bVar67)" (call_expression "(Mips_symbol<32> *)0x12,(uint)output_section,\n                          (Output_section *)target,target_00);\n      if (bVar67)" (parenthesized_expression "(Mips_symbol<32> *)0x12,(uint)output_section,\n                          (Output_section *)target,target_00)" ( (comma_expression "Mips_symbol<32> *)0x12,(uint)output_section,\n                          (Output_section *)target,target_00" (binary_expression "Mips_symbol<32> *)0x12" (binary_expression "Mips_symbol<32" identifier < number_literal) > (pointer_expression "*)0x12" * (ERROR ")" )) number_literal)) , (comma_expression "(uint)output_section,\n                          (Output_section *)target,target_00" (cast_expression "(uint)output_section" ( (type_descriptor "uint" type_identifier) ) identifier) , (comma_expression "(Output_section *)target,target_00" (cast_expression "(Output_section *)target" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier))) )) (ERROR ";\n      if" ; if) (argument_list "(bVar67)" ( identifier )))) (compound_statement "{\n        calculate_only = this->calculate_only_;\n        VVar23 = local_cc;\n        if ((char)local_b8 != '\0') {\n          VVar23 = *(Value *)view;\n        }\n        goto LAB_002c2f02;\n      }" { (expression_statement "calculate_only = this->calculate_only_;" (assignment_expression "calculate_only = this->calculate_only_" identifier = (field_expression "this->calculate_only_" identifier -> field_identifier)) ;) (expression_statement "VVar23 = local_cc;" (assignment_expression "VVar23 = local_cc" identifier = identifier) ;) (if_statement "if ((char)local_b8 != '\0') {\n          VVar23 = *(Value *)view;\n        }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          VVar23 = *(Value *)view;\n        }" { (expression_statement "VVar23 = *(Value *)view;" (assignment_expression "VVar23 = *(Value *)view" identifier = (pointer_expression "*(Value *)view" * (cast_expression "(Value *)view" ( (type_descriptor "Value *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (goto_statement "goto LAB_002c2f02;" goto statement_identifier ;) }) (ERROR "break;\n    case (Mips_relobj<32" break ; case ( identifier < number_literal) , (binary_expression "_false> *)0x13" identifier > (pointer_expression "*)0x13" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x91" identifier > (pointer_expression "*)0x91" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (ERROR "_false> *)0xf9:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_13:" (binary_expression "_false> *)0xf9" identifier > (pointer_expression "*)0xf9" * (ERROR ")" )) number_literal)) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier :) identifier = ( (ERROR "Mips_relobj<32,_false> *)target->got_;\n      if" (comma_expression "Mips_relobj<32,_false> *)target->got_" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)target->got_" identifier > (pointer_expression "*)target->got_" * (ERROR ")" )) (field_expression "target->got_" identifier -> field_identifier)))) ; if) ( (ERROR "gsym != (Sized_symbol<32> *)0x0) {\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var43 = (_List_node_base **)this_00;\n          local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c4726:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c472b:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n        goto LAB_002c4730;\n      }\n      if" (binary_expression "gsym != (Sized_symbol<32> *)0x0)" identifier != (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) (compound_statement "{\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var43 = (_List_node_base **)this_00;\n          local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c4726:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c472b:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n        goto LAB_002c4730;\n      }" { (if_statement "if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var43 = (_List_node_base **)this_00;\n          local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00);\n          goto LAB_002c252a;\n        }" if (parenthesized_expression "(pMVar60 != (Mips_relobj<32,_false> *)0x0)" ( (binary_expression "pMVar60 != (Mips_relobj<32,_false> *)0x0)" identifier != (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n          pp_Var43 = (_List_node_base **)this_00;\n          local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00);\n          goto LAB_002c252a;\n        }" { (expression_statement "pp_Var43 = (_List_node_base **)this_00;" (assignment_expression "pp_Var43 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00);" (comma_expression "local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00)" (assignment_expression "local_e4 = Mips_output_data_got<32" identifier = (binary_expression "Mips_output_data_got<32" identifier < number_literal)) , (binary_expression "_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00)" identifier > (ERROR "::" : :) (call_expression "got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00)" identifier (argument_list "((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00)" ( (parenthesized_expression "(Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00)" ( (comma_expression "Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (comma_expression "_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00" (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier)) , (comma_expression "&gsym->super_Symbol,0,\n                                this_00" (pointer_expression "&gsym->super_Symbol" & (field_expression "gsym->super_Symbol" identifier -> field_identifier)) , (comma_expression "0,\n                                this_00" number_literal , identifier)))) )) ))))) ;) (goto_statement "goto LAB_002c252a;" goto statement_identifier ;) })) (labeled_statement "LAB_002c4721:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);" statement_identifier : (expression_statement "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);" (comma_expression "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60)" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false>::got_section((Target_mips<32,_false> *)pMVar60)" identifier > (ERROR "::" : :) (call_expression "got_section((Target_mips<32,_false> *)pMVar60)" identifier (argument_list "((Target_mips<32,_false> *)pMVar60)" ( (parenthesized_expression "(Target_mips<32,_false> *)pMVar60)" ( (comma_expression "Target_mips<32,_false> *)pMVar60" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier))) )) ))))) ;)) (labeled_statement "LAB_002c4726:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);" statement_identifier : (expression_statement "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);" (comma_expression "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60)" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false>::got_section((Target_mips<32,_false> *)pMVar60)" identifier > (ERROR "::" : :) (call_expression "got_section((Target_mips<32,_false> *)pMVar60)" identifier (argument_list "((Target_mips<32,_false> *)pMVar60)" ( (parenthesized_expression "(Target_mips<32,_false> *)pMVar60)" ( (comma_expression "Target_mips<32,_false> *)pMVar60" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier))) )) ))))) ;)) (labeled_statement "LAB_002c472b:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);" statement_identifier : (expression_statement "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);" (comma_expression "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60)" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false>::got_section((Target_mips<32,_false> *)pMVar60)" identifier > (ERROR "::" : :) (call_expression "got_section((Target_mips<32,_false> *)pMVar60)" identifier (argument_list "((Target_mips<32,_false> *)pMVar60)" ( (parenthesized_expression "(Target_mips<32,_false> *)pMVar60)" ( (comma_expression "Target_mips<32,_false> *)pMVar60" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier))) )) ))))) ;)) (goto_statement "goto LAB_002c4730;" goto statement_identifier ;) }) if) ( (ERROR "pMVar60 == (Mips_relobj<32,_false> *)0x0) {\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);\n        goto LAB_002c4792;\n      }\n      pp_Var43 = (_List_node_base **)(long)(int)local_cc;\n      local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,0);\nLAB_002c252a:" (binary_expression "pMVar60 == (Mips_relobj<32,_false> *)0x0)" identifier == (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) (compound_statement "{\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);\n        goto LAB_002c4792;\n      }" { (expression_statement "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);" (comma_expression "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0)" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false>::got_section((Target_mips<32,_false> *)0x0)" identifier > (ERROR "::" : :) (call_expression "got_section((Target_mips<32,_false> *)0x0)" identifier (argument_list "((Target_mips<32,_false> *)0x0)" ( (parenthesized_expression "(Target_mips<32,_false> *)0x0)" ( (comma_expression "Target_mips<32,_false> *)0x0" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) )) ))))) ;) (goto_statement "goto LAB_002c4792;" goto statement_identifier ;) }) (assignment_expression "pp_Var43 = (_List_node_base **)(long)(int)local_cc" identifier = (cast_expression "(_List_node_base **)(long)(int)local_cc" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(long)(int)local_cc" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier)))) ; (assignment_expression "local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,0)" identifier = (call_expression "(*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,0)" (parenthesized_expression "(*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object._vptr_Object[0x2c])" ( (comma_expression "*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                   super_Relobj.super_Object._vptr_Object[0x2c]" (binary_expression "*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" (pointer_expression "*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj" * (field_expression "(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj" (parenthesized_expression "(this_00->super_Sized_relobj_file<32,_false>)" ( (comma_expression "this_00->super_Sized_relobj_file<32,_false" (binary_expression "this_00->super_Sized_relobj_file<32" (field_expression "this_00->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier)) < number_literal) , (subscript_expression "_false>.\n                   super_Relobj.super_Object._vptr_Object[0x2c]" (field_expression "_false>.\n                   super_Relobj.super_Object._vptr_Object" (field_expression "_false>.\n                   super_Relobj.super_Object" (field_expression "_false>.\n                   super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "(this_00,(ulong)_Var51,0)" ( identifier , (cast_expression "(ulong)_Var51" ( (type_descriptor "ulong" type_identifier) ) identifier) , number_literal )))) ; identifier :) identifier = ( (ERROR "Mips_relobj<32,_false> *)target->got_;\n      if" (comma_expression "Mips_relobj<32,_false> *)target->got_" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)target->got_" identifier > (pointer_expression "*)target->got_" * (ERROR ")" )) (field_expression "target->got_" identifier -> field_identifier)))) ; if) ( (ERROR "pMVar60 == (Mips_relobj<32,_false> *)0x0) {\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);\n        goto LAB_002c4721;\n      }\n      pp_Var56 = (_List_node_base **)(ulong)local_e4;" (binary_expression "pMVar60 == (Mips_relobj<32,_false> *)0x0)" identifier == (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) (compound_statement "{\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);\n        goto LAB_002c4721;\n      }" { (expression_statement "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);" (comma_expression "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0)" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false>::got_section((Target_mips<32,_false> *)0x0)" identifier > (ERROR "::" : :) (call_expression "got_section((Target_mips<32,_false> *)0x0)" identifier (argument_list "((Target_mips<32,_false> *)0x0)" ( (parenthesized_expression "(Target_mips<32,_false> *)0x0)" ( (comma_expression "Target_mips<32,_false> *)0x0" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) )) ))))) ;) (goto_statement "goto LAB_002c4721;" goto statement_identifier ;) }) (assignment_expression "pp_Var56 = (_List_node_base **)(ulong)local_e4" identifier = (cast_expression "(_List_node_base **)(ulong)local_e4" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)local_e4" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (assignment_expression "uVar39 = Mips_output_data_got<32" identifier = (binary_expression "Mips_output_data_got<32" identifier < number_literal)) , identifier > (ERROR "::" : :) identifier ( (ERROR "(Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n      if (lo16_reloc != 0xf9) {\n        if (this->calculate_only_ == false) {\n          uVar40 = *(uint *)view;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          uVar40 = (uVar39 ^ uVar40) & 0xffff ^ uVar40;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }\n      if (this->calculate_only_ == false) goto LAB_002c1fd0;\n      goto" (call_expression "(Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n      if (lo16_reloc != 0xf9)" (parenthesized_expression "(Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" ( (comma_expression "Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (comma_expression "_false> *)pMVar60,local_e4,this_00" (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier)) , (comma_expression "local_e4,this_00" identifier , identifier))) )) (ERROR ";\n      if" ; if) (argument_list "(lo16_reloc != 0xf9)" ( (binary_expression "lo16_reloc != 0xf9" identifier != number_literal) ))) (compound_statement "{\n        if (this->calculate_only_ == false) {\n          uVar40 = *(uint *)view;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          uVar40 = (uVar39 ^ uVar40) & 0xffff ^ uVar40;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }" { (if_statement "if (this->calculate_only_ == false) {\n          uVar40 = *(uint *)view;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          uVar40 = (uVar39 ^ uVar40) & 0xffff ^ uVar40;\n          goto LAB_002c2590;\n        }" if (parenthesized_expression "(this->calculate_only_ == false)" ( (binary_expression "this->calculate_only_ == false" (field_expression "this->calculate_only_" identifier -> field_identifier) == false) )) (compound_statement "{\n          uVar40 = *(uint *)view;\n          pp_Var43 = (_List_node_base **)(ulong)uVar40;\n          uVar40 = (uVar39 ^ uVar40) & 0xffff ^ uVar40;\n          goto LAB_002c2590;\n        }" { (expression_statement "uVar40 = *(uint *)view;" (assignment_expression "uVar40 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pp_Var43 = (_List_node_base **)(ulong)uVar40;" (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)uVar40" identifier = (cast_expression "(_List_node_base **)(ulong)uVar40" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)uVar40" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "uVar40 = (uVar39 ^ uVar40) & 0xffff ^ uVar40;" (assignment_expression "uVar40 = (uVar39 ^ uVar40) & 0xffff ^ uVar40" identifier = (binary_expression "(uVar39 ^ uVar40) & 0xffff ^ uVar40" (binary_expression "(uVar39 ^ uVar40) & 0xffff" (parenthesized_expression "(uVar39 ^ uVar40)" ( (binary_expression "uVar39 ^ uVar40" identifier ^ identifier) )) & number_literal) ^ identifier)) ;) (goto_statement "goto LAB_002c2590;" goto statement_identifier ;) })) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;) }) if (parenthesized_expression "(this->calculate_only_ == false)" ( (binary_expression "this->calculate_only_ == false" (field_expression "this->calculate_only_" identifier -> field_identifier) == false) )) identifier identifier ; goto) identifier (ERROR ";\n    case" ; case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x14" identifier > (pointer_expression "*)0x14" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (ERROR "_false> *)0x92:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_14:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0')" (binary_expression "_false> *)0x92" identifier > (pointer_expression "*)0x92" * (ERROR ")" )) number_literal)) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier : (assignment_expression "uVar40 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ; (call_expression "uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0')" (assignment_expression "uVar39 = uVar40 & 0xffff" identifier = (binary_expression "uVar40 & 0xffff" identifier & number_literal)) (ERROR ";\n      if" ; if) (argument_list "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )))) (compound_statement "{\n        uVar39 = local_cc;\n      }" { (expression_statement "uVar39 = local_cc;" (assignment_expression "uVar39 = local_cc" identifier = identifier) ;) }) (ERROR "VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval" identifier = identifier : : identifier < number_literal > : : identifier < false > ( identifier) , (ERROR "(Sized_relobj_file<32,_false> *)this_00,uVar39);\n      local_98 = (Mips_relobj<32,_false> *)((ulong)(ushort)(VVar23 + 0x8000 >> 0x10) << 0x10);" (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,uVar39)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,uVar39" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,uVar39" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) )) ; (assignment_expression "local_98 = (Mips_relobj<32,_false> *)((ulong)(ushort)(VVar23 + 0x8000 >> 0x10) << 0x10)" identifier = (call_expression "(Mips_relobj<32,_false> *)((ulong)(ushort)(VVar23 + 0x8000 >> 0x10) << 0x10)" (parenthesized_expression "(Mips_relobj<32,_false> *)" ( (comma_expression "Mips_relobj<32,_false> *" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "((ulong)(ushort)(VVar23 + 0x8000 >> 0x10) << 0x10)" ( (binary_expression "(ulong)(ushort)(VVar23 + 0x8000 >> 0x10) << 0x10" (call_expression "(ulong)(ushort)(VVar23 + 0x8000 >> 0x10)" (call_expression "(ulong)(ushort)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(ushort)" ( identifier ))) (argument_list "(VVar23 + 0x8000 >> 0x10)" ( (binary_expression "VVar23 + 0x8000 >> 0x10" (binary_expression "VVar23 + 0x8000" identifier + number_literal) >> number_literal) ))) << number_literal) )))) ;) identifier = ( (ERROR "Mips_relobj<32,_false> *)target->got_;\n      if" (comma_expression "Mips_relobj<32,_false> *)target->got_" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)target->got_" identifier > (pointer_expression "*)target->got_" * (ERROR ")" )) (field_expression "target->got_" identifier -> field_identifier)))) ; if) ( identifier == (call_expression "(Mips_relobj<32,_false> *)0x0) goto LAB_002c4726;\n      if ((pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n          local_got_offsets_._M_h._M_rehash_policy._M_next_resize == 0)" (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) )) (ERROR "goto LAB_002c4726;\n      if" identifier identifier ; if) (argument_list "((pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n          local_got_offsets_._M_h._M_rehash_policy._M_next_resize == 0)" ( (binary_expression "(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" (field_expression "(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj" (parenthesized_expression "(pMVar49->super_Sized_relobj_file<32,_false>)" ( (comma_expression "pMVar49->super_Sized_relobj_file<32,_false" (binary_expression "pMVar49->super_Sized_relobj_file<32" (field_expression "pMVar49->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (binary_expression "_false>.\n          local_got_offsets_._M_h._M_rehash_policy._M_next_resize == 0" (field_expression "_false>.\n          local_got_offsets_._M_h._M_rehash_policy._M_next_resize" (field_expression "_false>.\n          local_got_offsets_._M_h._M_rehash_policy" (field_expression "_false>.\n          local_got_offsets_._M_h" (field_expression "_false>.\n          local_got_offsets_" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) == number_literal) ))) (ERROR "{\n        pMVar60" { identifier) = * ( (ERROR "Mips_relobj<32,_false> **)\n                   &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy;\n      }\n      else {\n        pMVar60 = (Mips_relobj<32,_false> *)this_00->got_info_;\n      }\n      if" (comma_expression "Mips_relobj<32,_false> **)\n                   &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy" (binary_expression "Mips_relobj<32" identifier < number_literal) , (comma_expression "_false> **)\n                   &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                    local_got_offsets_._M_h._M_rehash_policy" (binary_expression "_false> **)\n                   &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" (binary_expression "_false> **)\n                   &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj" identifier > (pointer_expression "**)\n                   &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj" * (pointer_expression "*)\n                   &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj" * (ERROR ")" )) (pointer_expression "&(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj" & (field_expression "(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj" (parenthesized_expression "(pMVar49->super_Sized_relobj_file<32,_false>)" ( (comma_expression "pMVar49->super_Sized_relobj_file<32,_false" (binary_expression "pMVar49->super_Sized_relobj_file<32" (field_expression "pMVar49->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier))))) < number_literal) , (field_expression "_false>.\n                    local_got_offsets_._M_h._M_rehash_policy" (field_expression "_false>.\n                    local_got_offsets_._M_h" (field_expression "_false>.\n                    local_got_offsets_" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier))) ; } else (compound_statement "{\n        pMVar60 = (Mips_relobj<32,_false> *)this_00->got_info_;\n      }" { (expression_statement "pMVar60 = (Mips_relobj<32,_false> *)this_00->got_info_;" (assignment_expression "pMVar60 = (Mips_relobj<32,_false> *)this_00->got_info_" identifier = (parenthesized_expression "(Mips_relobj<32,_false> *)this_00->got_info_" ( (comma_expression "Mips_relobj<32,_false> *)this_00->got_info_" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)this_00->got_info_" identifier > (pointer_expression "*)this_00->got_info_" * (ERROR ")" )) (field_expression "this_00->got_info_" identifier -> field_identifier)))) ))) ;) }) if) ( (ERROR "pMVar60 == (Mips_relobj<32,_false> *)0x0) {\nLAB_002c4761:\n        Mips_output_data_got<32,_false>::get_got_page_offset\n                  ((Mips_output_data_got<32,_false> *)pMVar60,(Mips_address)local_98,pMVar49);\nLAB_002c4766:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n        pp_Var56 = (_List_node_base **)local_98;\n        goto LAB_002c476b;\n      }" (binary_expression "pMVar60 == (Mips_relobj<32,_false> *)0x0)" identifier == (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) (compound_statement "{\nLAB_002c4761:\n        Mips_output_data_got<32,_false>::get_got_page_offset\n                  ((Mips_output_data_got<32,_false> *)pMVar60,(Mips_address)local_98,pMVar49);\nLAB_002c4766:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n        pp_Var56 = (_List_node_base **)local_98;\n        goto LAB_002c476b;\n      }" { (labeled_statement "LAB_002c4761:\n        Mips_output_data_got<32,_false>::get_got_page_offset\n                  ((Mips_output_data_got<32,_false> *)pMVar60,(Mips_address)local_98,pMVar49);" statement_identifier : (expression_statement "Mips_output_data_got<32,_false>::get_got_page_offset\n                  ((Mips_output_data_got<32,_false> *)pMVar60,(Mips_address)local_98,pMVar49);" (comma_expression "Mips_output_data_got<32,_false>::get_got_page_offset\n                  ((Mips_output_data_got<32,_false> *)pMVar60,(Mips_address)local_98,pMVar49)" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (binary_expression "_false>::get_got_page_offset\n                  ((Mips_output_data_got<32,_false> *)pMVar60,(Mips_address)local_98,pMVar49)" identifier > (ERROR "::" : :) (call_expression "get_got_page_offset\n                  ((Mips_output_data_got<32,_false> *)pMVar60,(Mips_address)local_98,pMVar49)" identifier (argument_list "((Mips_output_data_got<32,_false> *)pMVar60,(Mips_address)local_98,pMVar49)" ( (parenthesized_expression "(Mips_output_data_got<32,_false> *)pMVar60,(Mips_address)local_98,pMVar49)" ( (comma_expression "Mips_output_data_got<32,_false> *)pMVar60,(Mips_address)local_98,pMVar49" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (comma_expression "_false> *)pMVar60,(Mips_address)local_98,pMVar49" (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier)) , (comma_expression "(Mips_address)local_98,pMVar49" (cast_expression "(Mips_address)local_98" ( (type_descriptor "Mips_address" type_identifier) ) identifier) , identifier))) )) ))))) ;)) (labeled_statement "LAB_002c4766:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);" statement_identifier : (expression_statement "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);" (comma_expression "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60)" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false>::got_section((Target_mips<32,_false> *)pMVar60)" identifier > (ERROR "::" : :) (call_expression "got_section((Target_mips<32,_false> *)pMVar60)" identifier (argument_list "((Target_mips<32,_false> *)pMVar60)" ( (parenthesized_expression "(Target_mips<32,_false> *)pMVar60)" ( (comma_expression "Target_mips<32,_false> *)pMVar60" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier))) )) ))))) ;)) (expression_statement "pp_Var56 = (_List_node_base **)local_98;" (assignment_expression "pp_Var56 = (_List_node_base **)local_98" identifier = (cast_expression "(_List_node_base **)local_98" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (goto_statement "goto LAB_002c476b;" goto statement_identifier ;) })) (assignment_expression "uVar39 = Mips_got_info<32" identifier = (binary_expression "Mips_got_info<32" identifier < number_literal)) , identifier > (ERROR "::" : :) identifier ( ( (ERROR "Mips_got_info<32,_false> *)pMVar60,(Mips_address)local_98,\n                          (Mips_output_data_got<32,_false> *)pMVar49);" (comma_expression "Mips_got_info<32,_false> *)pMVar60,(Mips_address)local_98,\n                          (Mips_output_data_got<32,_false> *)pMVar49)" (binary_expression "Mips_got_info<32" identifier < number_literal) , (comma_expression "_false> *)pMVar60,(Mips_address)local_98,\n                          (Mips_output_data_got<32,_false> *)pMVar49)" (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier)) , (comma_expression "(Mips_address)local_98,\n                          (Mips_output_data_got<32,_false> *)pMVar49)" (cast_expression "(Mips_address)local_98" ( (type_descriptor "Mips_address" type_identifier) ) identifier) , (parenthesized_expression "(Mips_output_data_got<32,_false> *)pMVar49)" ( (comma_expression "Mips_output_data_got<32,_false> *)pMVar49" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (binary_expression "_false> *)pMVar49" identifier > (pointer_expression "*)pMVar49" * (ERROR ")" )) identifier))) ))))) ;) identifier = ( (ERROR "Mips_relobj<32,_false> *)target->got_;\n      if" (comma_expression "Mips_relobj<32,_false> *)target->got_" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)target->got_" identifier > (pointer_expression "*)target->got_" * (ERROR ")" )) (field_expression "target->got_" identifier -> field_identifier)))) ; if) ( (ERROR "pMVar60 == (Mips_relobj<32,_false> *)0x0) goto LAB_002c475c;\n      pp_Var56 = (_List_node_base **)(ulong)uVar39;" (binary_expression "pMVar60 == (Mips_relobj<32,_false> *)0x0) goto LAB_002c475c;\n      pp_Var56 = (_List_node_base **)(ulong)uVar39" identifier == (ERROR "(Mips_relobj<32,_false> *)0x0) goto LAB_002c475c;" (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) )) identifier identifier ;) (assignment_expression "pp_Var56 = (_List_node_base **)(ulong)uVar39" identifier = (cast_expression "(_List_node_base **)(ulong)uVar39" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)uVar39" ( (type_descriptor "ulong" type_identifier) ) identifier)))) ;) (assignment_expression "uVar39 = Mips_output_data_got<32" identifier = (binary_expression "Mips_output_data_got<32" identifier < number_literal)) , identifier > (ERROR "::" : :) identifier ( (assignment_expression "(Mips_output_data_got<32,_false> *)pMVar60,uVar39,this_00);\n      if ((bool)calculate_only != false) goto LAB_002c1f30;\n      uVar40 = (uVar40 ^ uVar39) & 0xffff ^ uVar40" (call_expression "(Mips_output_data_got<32,_false> *)pMVar60,uVar39,this_00);\n      if ((bool)calculate_only != false)" (parenthesized_expression "(Mips_output_data_got<32,_false> *)pMVar60,uVar39,this_00)" ( (comma_expression "Mips_output_data_got<32,_false> *)pMVar60,uVar39,this_00" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (comma_expression "_false> *)pMVar60,uVar39,this_00" (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier)) , (comma_expression "uVar39,this_00" identifier , identifier))) )) (ERROR ";\n      if" ; if) (argument_list "((bool)calculate_only != false)" ( (binary_expression "(bool)calculate_only != false" (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier) != false) ))) (ERROR "goto LAB_002c1f30;\n      uVar40" identifier identifier ; identifier) = (binary_expression "(uVar40 ^ uVar39) & 0xffff ^ uVar40" (binary_expression "(uVar40 ^ uVar39) & 0xffff" (parenthesized_expression "(uVar40 ^ uVar39)" ( (binary_expression "uVar40 ^ uVar39" identifier ^ identifier) )) & number_literal) ^ identifier)) (ERROR ";\n      goto LAB_002c2590;\n    case" ; goto identifier ; case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (assignment_expression "_false> *)0x15:\n    case (Mips_relobj<32,_false> *)0x93:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_15:\n      uVar39 = *(uint *)view;\n      local_b0 = uVar39 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != false) {\n        local_98 = this_00" (call_expression "_false> *)0x15:\n    case (Mips_relobj<32,_false> *)0x93:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_15:\n      uVar39 = *(uint *)view;\n      local_b0 = uVar39 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != false)" (binary_expression "_false> *)0x15" identifier > (pointer_expression "*)0x15" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) (argument_list "(Mips_relobj<32,_false> *)0x93:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_15:\n      uVar39 = *(uint *)view;\n      local_b0 = uVar39 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != false)" ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (ERROR "_false> *)0x93:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_15:\n      uVar39 = *(uint *)view;\n      local_b0 = uVar39 & 0xffff;\n      if ((char)local_b8 == '\0')" (binary_expression "_false> *)0x93" identifier > (pointer_expression "*)0x93" * (ERROR ")" )) number_literal)) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier : (assignment_expression "uVar39 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ; (call_expression "local_b0 = uVar39 & 0xffff;\n      if ((char)local_b8 == '\0')" (assignment_expression "local_b0 = uVar39 & 0xffff" identifier = (binary_expression "uVar39 & 0xffff" identifier & number_literal)) (ERROR ";\n      if" ; if) (argument_list "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )))) (compound_statement "{\n        local_b0 = local_cc;\n      }" { (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) }) (ERROR "if (local_ce != false" if ( identifier != false) ))) (ERROR "{\n        local_98" { identifier) = identifier) (ERROR ";\n        pMVar58 =" ; identifier =) ( (binary_expression "Mips_got_info<32" identifier < number_literal) , (ERROR "_false> *)psymval;\n        VVar23 = gold::" (binary_expression "_false> *)psymval" identifier > (pointer_expression "*)psymval" * (ERROR ")" )) identifier)) ; (assignment_expression "VVar23 = gold" identifier = identifier) : :) (binary_expression "Symbol_value<32>::value<false" (binary_expression "Symbol_value<32>::value" (binary_expression "Symbol_value<32" identifier < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n        uVar40 = VVar23 + 0x8000 >> 0x10;" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,local_b0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,local_b0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,local_b0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; (assignment_expression "uVar40 = VVar23 + 0x8000 >> 0x10" identifier = (binary_expression "VVar23 + 0x8000 >> 0x10" (binary_expression "VVar23 + 0x8000" identifier + number_literal) >> number_literal)) ;) identifier = ( (ERROR "Mips_relobj<32,_false> *)target->got_;\n        if" (comma_expression "Mips_relobj<32,_false> *)target->got_" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)target->got_" identifier > (pointer_expression "*)target->got_" * (ERROR ")" )) (field_expression "target->got_" identifier -> field_identifier)))) ; if) ( (ERROR "pMVar49 == (Mips_relobj<32,_false> *)0x0) {\n          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar58);\n          goto LAB_002c463a;\n        }\n        if ((pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n            local_got_offsets_._M_h._M_rehash_policy._M_next_resize == 0) {\n          pMVar58 = *(Mips_got_info<32,_false> **)\n                     &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                      local_got_offsets_._M_h._M_rehash_policy;\n        }\n        else {\n          pMVar58 = this_00->got_info_;\n        }\n        if" (binary_expression "pMVar49 == (Mips_relobj<32,_false> *)0x0)" identifier == (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) (compound_statement "{\n          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar58);\n          goto LAB_002c463a;\n        }" { (expression_statement "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar58);" (comma_expression "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar58)" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false>::got_section((Target_mips<32,_false> *)pMVar58)" identifier > (ERROR "::" : :) (call_expression "got_section((Target_mips<32,_false> *)pMVar58)" identifier (argument_list "((Target_mips<32,_false> *)pMVar58)" ( (parenthesized_expression "(Target_mips<32,_false> *)pMVar58)" ( (comma_expression "Target_mips<32,_false> *)pMVar58" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)pMVar58" identifier > (pointer_expression "*)pMVar58" * (ERROR ")" )) identifier))) )) ))))) ;) (goto_statement "goto LAB_002c463a;" goto statement_identifier ;) }) if (parenthesized_expression "((pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n            local_got_offsets_._M_h._M_rehash_policy._M_next_resize == 0)" ( (comma_expression "(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n            local_got_offsets_._M_h._M_rehash_policy._M_next_resize == 0" (binary_expression "(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" (field_expression "(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj" (parenthesized_expression "(pMVar49->super_Sized_relobj_file<32,_false>)" ( (comma_expression "pMVar49->super_Sized_relobj_file<32,_false" (binary_expression "pMVar49->super_Sized_relobj_file<32" (field_expression "pMVar49->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal) , (binary_expression "_false>.\n            local_got_offsets_._M_h._M_rehash_policy._M_next_resize == 0" (field_expression "_false>.\n            local_got_offsets_._M_h._M_rehash_policy._M_next_resize" (field_expression "_false>.\n            local_got_offsets_._M_h._M_rehash_policy" (field_expression "_false>.\n            local_got_offsets_._M_h" (field_expression "_false>.\n            local_got_offsets_" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) == number_literal)) )) (compound_statement "{\n          pMVar58 = *(Mips_got_info<32,_false> **)\n                     &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                      local_got_offsets_._M_h._M_rehash_policy;\n        }" { (expression_statement "pMVar58 = *(Mips_got_info<32,_false> **)\n                     &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                      local_got_offsets_._M_h._M_rehash_policy;" (assignment_expression "pMVar58 = *(Mips_got_info<32,_false> **)\n                     &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                      local_got_offsets_._M_h._M_rehash_policy" identifier = (pointer_expression "*(Mips_got_info<32,_false> **)\n                     &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                      local_got_offsets_._M_h._M_rehash_policy" * (parenthesized_expression "(Mips_got_info<32,_false> **)\n                     &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                      local_got_offsets_._M_h._M_rehash_policy" ( (comma_expression "Mips_got_info<32,_false> **)\n                     &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                      local_got_offsets_._M_h._M_rehash_policy" (binary_expression "Mips_got_info<32" identifier < number_literal) , (comma_expression "_false> **)\n                     &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                      local_got_offsets_._M_h._M_rehash_policy" (binary_expression "_false> **)\n                     &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" (binary_expression "_false> **)\n                     &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj" identifier > (pointer_expression "**)\n                     &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj" * (pointer_expression "*)\n                     &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj" * (ERROR ")" )) (pointer_expression "&(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj" & (field_expression "(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj" (parenthesized_expression "(pMVar49->super_Sized_relobj_file<32,_false>)" ( (comma_expression "pMVar49->super_Sized_relobj_file<32,_false" (binary_expression "pMVar49->super_Sized_relobj_file<32" (field_expression "pMVar49->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier))))) < number_literal) , (field_expression "_false>.\n                      local_got_offsets_._M_h._M_rehash_policy" (field_expression "_false>.\n                      local_got_offsets_._M_h" (field_expression "_false>.\n                      local_got_offsets_" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier))) )))) ;) }) else (compound_statement "{\n          pMVar58 = this_00->got_info_;\n        }" { (expression_statement "pMVar58 = this_00->got_info_;" (assignment_expression "pMVar58 = this_00->got_info_" identifier = (field_expression "this_00->got_info_" identifier -> field_identifier)) ;) }) if) ( (binary_expression "pMVar58 == (Mips_got_info<32,_false> *)0x0) goto LAB_002c463f;\n        Mips_got_info<32" identifier == (ERROR "(Mips_got_info<32,_false> *)0x0) goto LAB_002c463f;" (parenthesized_expression "(Mips_got_info<32,_false> *)0x0)" ( (comma_expression "Mips_got_info<32,_false> *)0x0" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) )) identifier identifier ;) (binary_expression "Mips_got_info<32" identifier < number_literal)) , identifier > (ERROR "::" : :) identifier ( identifier , (binary_expression "uVar40 * 0x10000" identifier * number_literal) , (ERROR "(Mips_output_data_got<32,_false> *)pMVar49);\n        pp_Var56 = (_List_node_base **)this_00;\n        local_b0 = gold::" (parenthesized_expression "(Mips_output_data_got<32,_false> *)pMVar49)" ( (comma_expression "Mips_output_data_got<32,_false> *)pMVar49" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (binary_expression "_false> *)pMVar49" identifier > (pointer_expression "*)pMVar49" * (ERROR ")" )) identifier))) )) ; (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ; (assignment_expression "local_b0 = gold" identifier = identifier) : :) (binary_expression "Symbol_value<32>::value<false" (binary_expression "Symbol_value<32>::value" (binary_expression "Symbol_value<32" identifier < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n        local_b0 = local_b0 + uVar40 * -0x10000;\n      }\n      if ((bool)calculate_only == false) {\n        *(uint *)view = (uVar39 ^ local_b0) & 0xffff ^ uVar39;\n        SVar26 = (Status)(0xffff < local_b0 + 0x8000);\n      }\n      else {\n        SVar26 = STATUS_OKAY;\n        this->calculated_value_ = local_b0;\n      }\n      break;\n    case" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,local_b0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,local_b0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,local_b0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; (call_expression "local_b0 = local_b0 + uVar40 * -0x10000;\n      }\n      if ((bool)calculate_only == false)" (assignment_expression "local_b0 = local_b0 + uVar40 * -0x10000" identifier = (binary_expression "local_b0 + uVar40 * -0x10000" identifier + (binary_expression "uVar40 * -0x10000" identifier * number_literal))) (ERROR ";\n      }\n      if" ; } if) (argument_list "((bool)calculate_only == false)" ( (binary_expression "(bool)calculate_only == false" (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier) == false) ))) (compound_statement "{\n        *(uint *)view = (uVar39 ^ local_b0) & 0xffff ^ uVar39;\n        SVar26 = (Status)(0xffff < local_b0 + 0x8000);\n      }" { (expression_statement "*(uint *)view = (uVar39 ^ local_b0) & 0xffff ^ uVar39;" (assignment_expression "*(uint *)view = (uVar39 ^ local_b0) & 0xffff ^ uVar39" (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(uVar39 ^ local_b0) & 0xffff ^ uVar39" (binary_expression "(uVar39 ^ local_b0) & 0xffff" (parenthesized_expression "(uVar39 ^ local_b0)" ( (binary_expression "uVar39 ^ local_b0" identifier ^ identifier) )) & number_literal) ^ identifier)) ;) (expression_statement "SVar26 = (Status)(0xffff < local_b0 + 0x8000);" (assignment_expression "SVar26 = (Status)(0xffff < local_b0 + 0x8000)" identifier = (call_expression "(Status)(0xffff < local_b0 + 0x8000)" (parenthesized_expression "(Status)" ( identifier )) (argument_list "(0xffff < local_b0 + 0x8000)" ( (binary_expression "0xffff < local_b0 + 0x8000" number_literal < (binary_expression "local_b0 + 0x8000" identifier + number_literal)) )))) ;) }) else (compound_statement "{\n        SVar26 = STATUS_OKAY;\n        this->calculated_value_ = local_b0;\n      }" { (expression_statement "SVar26 = STATUS_OKAY;" (assignment_expression "SVar26 = STATUS_OKAY" identifier = identifier) ;) (expression_statement "this->calculated_value_ = local_b0;" (assignment_expression "this->calculated_value_ = local_b0" (field_expression "this->calculated_value_" identifier -> field_identifier) = identifier) ;) }) break ; case) ( (ERROR "Mips_relobj<32,_false> *)0x16:\n    case" (comma_expression "Mips_relobj<32,_false> *)0x16" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x16" identifier > (pointer_expression "*)0x16" * (ERROR ")" )) number_literal))) : case) ( (ERROR "Mips_relobj<32,_false> *)0x1e:\n    case" (comma_expression "Mips_relobj<32,_false> *)0x1e" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x1e" identifier > (pointer_expression "*)0x1e" * (ERROR ")" )) number_literal))) : case) ( (ERROR "Mips_relobj<32,_false> *)0x94:\n    case" (comma_expression "Mips_relobj<32,_false> *)0x94" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x94" identifier > (pointer_expression "*)0x94" * (ERROR ")" )) number_literal))) : case) ( (ERROR "Mips_relobj<32,_false> *)0x99:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_16:" (comma_expression "Mips_relobj<32,_false> *)0x99" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x99" identifier > (pointer_expression "*)0x99" * (ERROR ")" )) number_literal))) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier :) identifier = ( (ERROR "Mips_relobj<32,_false> *)target->got_;\n      if" (comma_expression "Mips_relobj<32,_false> *)target->got_" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)target->got_" identifier > (pointer_expression "*)target->got_" * (ERROR ")" )) (field_expression "target->got_" identifier -> field_identifier)))) ; if) ( (ERROR "gsym != (Sized_symbol<32> *)0x0) {\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var43 = (_List_node_base **)this_00;\n          local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c4735:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c473a:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c473f:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/mips.cc",0x2e46,"relocate");\n      }\n      if" (binary_expression "gsym != (Sized_symbol<32> *)0x0)" identifier != (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) (compound_statement "{\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var43 = (_List_node_base **)this_00;\n          local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c4735:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c473a:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\nLAB_002c473f:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/mips.cc",0x2e46,"relocate");\n      }" { (if_statement "if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var43 = (_List_node_base **)this_00;\n          local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00);\n          goto LAB_002c2378;\n        }" if (parenthesized_expression "(pMVar60 != (Mips_relobj<32,_false> *)0x0)" ( (binary_expression "pMVar60 != (Mips_relobj<32,_false> *)0x0)" identifier != (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n          pp_Var43 = (_List_node_base **)this_00;\n          local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00);\n          goto LAB_002c2378;\n        }" { (expression_statement "pp_Var43 = (_List_node_base **)this_00;" (assignment_expression "pp_Var43 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00);" (comma_expression "local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00)" (assignment_expression "local_e4 = Mips_output_data_got<32" identifier = (binary_expression "Mips_output_data_got<32" identifier < number_literal)) , (binary_expression "_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00)" identifier > (ERROR "::" : :) (call_expression "got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00)" identifier (argument_list "((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00)" ( (parenthesized_expression "(Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00)" ( (comma_expression "Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (comma_expression "_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00" (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier)) , (comma_expression "&gsym->super_Symbol,0,\n                                this_00" (pointer_expression "&gsym->super_Symbol" & (field_expression "gsym->super_Symbol" identifier -> field_identifier)) , (comma_expression "0,\n                                this_00" number_literal , identifier)))) )) ))))) ;) (goto_statement "goto LAB_002c2378;" goto statement_identifier ;) })) (labeled_statement "LAB_002c4730:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);" statement_identifier : (expression_statement "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);" (comma_expression "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60)" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false>::got_section((Target_mips<32,_false> *)pMVar60)" identifier > (ERROR "::" : :) (call_expression "got_section((Target_mips<32,_false> *)pMVar60)" identifier (argument_list "((Target_mips<32,_false> *)pMVar60)" ( (parenthesized_expression "(Target_mips<32,_false> *)pMVar60)" ( (comma_expression "Target_mips<32,_false> *)pMVar60" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier))) )) ))))) ;)) (labeled_statement "LAB_002c4735:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);" statement_identifier : (expression_statement "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);" (comma_expression "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60)" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false>::got_section((Target_mips<32,_false> *)pMVar60)" identifier > (ERROR "::" : :) (call_expression "got_section((Target_mips<32,_false> *)pMVar60)" identifier (argument_list "((Target_mips<32,_false> *)pMVar60)" ( (parenthesized_expression "(Target_mips<32,_false> *)pMVar60)" ( (comma_expression "Target_mips<32,_false> *)pMVar60" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier))) )) ))))) ;)) (labeled_statement "LAB_002c473a:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);" statement_identifier : (expression_statement "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);" (comma_expression "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60)" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false>::got_section((Target_mips<32,_false> *)pMVar60)" identifier > (ERROR "::" : :) (call_expression "got_section((Target_mips<32,_false> *)pMVar60)" identifier (argument_list "((Target_mips<32,_false> *)pMVar60)" ( (parenthesized_expression "(Target_mips<32,_false> *)pMVar60)" ( (comma_expression "Target_mips<32,_false> *)pMVar60" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier))) )) ))))) ;)) (labeled_statement "LAB_002c473f:\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/mips.cc",0x2e46,"relocate");" statement_identifier : comment (labeled_statement "gold::do_gold_unreachable("../../gold/mips.cc",0x2e46,"relocate");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/mips.cc",0x2e46,"relocate");" (call_expression "do_gold_unreachable("../../gold/mips.cc",0x2e46,"relocate")" identifier (argument_list "("../../gold/mips.cc",0x2e46,"relocate")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""relocate"" " string_content ") ))) ;))) }) if) (parenthesized_expression "(pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n        pp_Var43 = (_List_node_base **)(long)(int)local_cc;\n        local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,0);\nLAB_002c2378:\n        pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var56 = (_List_node_base **)(ulong)local_e4;\n          iVar25 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n          uVar39 = iVar25 + 0x8000U >> 0x10;\n          if (this->calculate_only_ != false) goto LAB_002c2940;\n          SVar26 = STATUS_OKAY;\n          *(short *)view = (short)(iVar25 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }\n      goto LAB_002c46d8;\n    case (Mips_relobj<32,_false> *)" ( (ERROR "pMVar60 != (Mips_relobj<32,_false> *)0x0)" (binary_expression "pMVar60 != (Mips_relobj<32,_false> *)0x0)" identifier != (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) )))) (compound_statement "{\n        pp_Var43 = (_List_node_base **)(long)(int)local_cc;\n        local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,0);\nLAB_002c2378:\n        pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var56 = (_List_node_base **)(ulong)local_e4;\n          iVar25 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n          uVar39 = iVar25 + 0x8000U >> 0x10;\n          if (this->calculate_only_ != false) goto LAB_002c2940;\n          SVar26 = STATUS_OKAY;\n          *(short *)view = (short)(iVar25 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }" { (expression_statement "pp_Var43 = (_List_node_base **)(long)(int)local_cc;" (assignment_expression "pp_Var43 = (_List_node_base **)(long)(int)local_cc" identifier = (cast_expression "(_List_node_base **)(long)(int)local_cc" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(long)(int)local_cc" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,0);" (assignment_expression "local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,0)" identifier = (call_expression "(*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,0)" (parenthesized_expression "(*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])" ( (comma_expression "*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c]" (binary_expression "*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" (pointer_expression "*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj" * (field_expression "(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj" (parenthesized_expression "(this_00->super_Sized_relobj_file<32,_false>)" ( (comma_expression "this_00->super_Sized_relobj_file<32,_false" (binary_expression "this_00->super_Sized_relobj_file<32" (field_expression "this_00->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier)) < number_literal) , (subscript_expression "_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c]" (field_expression "_false>.\n                     super_Relobj.super_Object._vptr_Object" (field_expression "_false>.\n                     super_Relobj.super_Object" (field_expression "_false>.\n                     super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "(this_00,(ulong)_Var51,0)" ( identifier , (cast_expression "(ulong)_Var51" ( (type_descriptor "ulong" type_identifier) ) identifier) , number_literal )))) ;) (labeled_statement "LAB_002c2378:\n        pMVar60 = (Mips_relobj<32,_false> *)target->got_;" statement_identifier : (expression_statement "pMVar60 = (Mips_relobj<32,_false> *)target->got_;" (assignment_expression "pMVar60 = (Mips_relobj<32,_false> *)target->got_" identifier = (parenthesized_expression "(Mips_relobj<32,_false> *)target->got_" ( (comma_expression "Mips_relobj<32,_false> *)target->got_" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)target->got_" identifier > (pointer_expression "*)target->got_" * (ERROR ")" )) (field_expression "target->got_" identifier -> field_identifier)))) ))) ;)) (if_statement "if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var56 = (_List_node_base **)(ulong)local_e4;\n          iVar25 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n          uVar39 = iVar25 + 0x8000U >> 0x10;\n          if (this->calculate_only_ != false) goto LAB_002c2940;\n          SVar26 = STATUS_OKAY;\n          *(short *)view = (short)(iVar25 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }" if (parenthesized_expression "(pMVar60 != (Mips_relobj<32,_false> *)0x0)" ( (binary_expression "pMVar60 != (Mips_relobj<32,_false> *)0x0)" identifier != (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n          pp_Var56 = (_List_node_base **)(ulong)local_e4;\n          iVar25 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n          uVar39 = iVar25 + 0x8000U >> 0x10;\n          if (this->calculate_only_ != false) goto LAB_002c2940;\n          SVar26 = STATUS_OKAY;\n          *(short *)view = (short)(iVar25 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }" { (expression_statement "pp_Var56 = (_List_node_base **)(ulong)local_e4;" (assignment_expression "pp_Var56 = (_List_node_base **)(ulong)local_e4" identifier = (cast_expression "(_List_node_base **)(ulong)local_e4" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)local_e4" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "iVar25 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);" (comma_expression "iVar25 = Mips_output_data_got<32,_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" (assignment_expression "iVar25 = Mips_output_data_got<32" identifier = (binary_expression "Mips_output_data_got<32" identifier < number_literal)) , (binary_expression "_false>::gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" identifier > (ERROR "::" : :) (call_expression "gp_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" identifier (argument_list "((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" ( (parenthesized_expression "(Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" ( (comma_expression "Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (comma_expression "_false> *)pMVar60,local_e4,this_00" (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier)) , (comma_expression "local_e4,this_00" identifier , identifier))) )) ))))) ;) (expression_statement "uVar39 = iVar25 + 0x8000U >> 0x10;" (assignment_expression "uVar39 = iVar25 + 0x8000U >> 0x10" identifier = (binary_expression "iVar25 + 0x8000U >> 0x10" (binary_expression "iVar25 + 0x8000U" identifier + number_literal) >> number_literal)) ;) (if_statement "if (this->calculate_only_ != false) goto LAB_002c2940;" if (parenthesized_expression "(this->calculate_only_ != false)" ( (binary_expression "this->calculate_only_ != false" (field_expression "this->calculate_only_" identifier -> field_identifier) != false) )) (goto_statement "goto LAB_002c2940;" goto statement_identifier ;)) (expression_statement "SVar26 = STATUS_OKAY;" (assignment_expression "SVar26 = STATUS_OKAY" identifier = identifier) ;) (expression_statement "*(short *)view = (short)(iVar25 + 0x8000U >> 0x10);" (assignment_expression "*(short *)view = (short)(iVar25 + 0x8000U >> 0x10)" (pointer_expression "*(short *)view" * (cast_expression "(short *)view" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(short)(iVar25 + 0x8000U >> 0x10)" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (parenthesized_expression "(iVar25 + 0x8000U >> 0x10)" ( (binary_expression "iVar25 + 0x8000U >> 0x10" (binary_expression "iVar25 + 0x8000U" identifier + number_literal) >> number_literal) )))) ;) (goto_statement "goto LAB_002c2945;" goto statement_identifier ;) })) (goto_statement "goto LAB_002c472b;" goto statement_identifier ;) }) (ERROR "goto LAB_002c46d8;\n    case (Mips_relobj<32,_false> *" goto identifier ; case ( identifier < number_literal , identifier > *) )) (ERROR "0x17:\n    case" number_literal : case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x1f" identifier > (pointer_expression "*)0x1f" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x95" identifier > (pointer_expression "*)0x95" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (ERROR "_false> *)0x9a:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_17:" (binary_expression "_false> *)0x9a" identifier > (pointer_expression "*)0x9a" * (ERROR ")" )) number_literal)) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier :) (binary_expression "pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n      if (gsym != (Sized_symbol<32> *)0x0) {\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var43 = (_List_node_base **)this_00;\n          local_98 = (Mips_relobj<32,_false> *)gsym;\n          local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00);\nLAB_002c22ef:\n          pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n          if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n            pp_Var56 = (_List_node_base **)(ulong)local_e4;\n            uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n            if (this->calculate_only_ != false) goto LAB_002c2940;\n            SVar26 = STATUS_OKAY;\n            *(uint *)view = (uVar39 ^ *(uint *)view) & 0xffff ^ *(uint *)view;\n            goto LAB_002c2945;\n          }\n          goto LAB_002c4766;\n        }\nLAB_002c476b:\n        uVar22 = SUB81(target_00,0);\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n        pSVar48 = extraout_RDX_03;\n        goto LAB_002c4770;\n      }\n      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n        pp_Var43 = (_List_node_base **)(long)(int)local_cc;\n        local_98 = (Mips_relobj<32,_false> *)(ulong)_Var51;\n        local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,local_98,0);\n        goto LAB_002c22ef;\n      }\nLAB_002c4792:\n      Target_mips<32" (assignment_expression "pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n      if (gsym != (Sized_symbol<32> *)0x0) {\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var43 = (_List_node_base **)this_00;\n          local_98 = (Mips_relobj<32,_false> *)gsym;\n          local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00);\nLAB_002c22ef:\n          pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n          if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n            pp_Var56 = (_List_node_base **)(ulong)local_e4;\n            uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n            if (this->calculate_only_ != false) goto LAB_002c2940;\n            SVar26 = STATUS_OKAY;\n            *(uint *)view = (uVar39 ^ *(uint *)view) & 0xffff ^ *(uint *)view;\n            goto LAB_002c2945;\n          }\n          goto LAB_002c4766;\n        }\nLAB_002c476b:\n        uVar22 = SUB81(target_00,0);\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n        pSVar48 = extraout_RDX_03;\n        goto LAB_002c4770;\n      }\n      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n        pp_Var43 = (_List_node_base **)(long)(int)local_cc;\n        local_98 = (Mips_relobj<32,_false> *)(ulong)_Var51;\n        local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,local_98,0)" (call_expression "pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n      if (gsym != (Sized_symbol<32> *)0x0) {\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var43 = (_List_node_base **)this_00;\n          local_98 = (Mips_relobj<32,_false> *)gsym;\n          local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00);\nLAB_002c22ef:\n          pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n          if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n            pp_Var56 = (_List_node_base **)(ulong)local_e4;\n            uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n            if (this->calculate_only_ != false) goto LAB_002c2940;\n            SVar26 = STATUS_OKAY;\n            *(uint *)view = (uVar39 ^ *(uint *)view) & 0xffff ^ *(uint *)view;\n            goto LAB_002c2945;\n          }\n          goto LAB_002c4766;\n        }\nLAB_002c476b:\n        uVar22 = SUB81(target_00,0);\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n        pSVar48 = extraout_RDX_03;\n        goto LAB_002c4770;\n      }\n      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n        pp_Var43 = (_List_node_base **)(long)(int)local_cc;\n        local_98 = (Mips_relobj<32,_false> *)(ulong)" (call_expression "pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n      if (gsym != (Sized_symbol<32> *)0x0) {\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var43 = (_List_node_base **)this_00;\n          local_98 = (Mips_relobj<32,_false> *)gsym;\n          local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00);\nLAB_002c22ef:\n          pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n          if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n            pp_Var56 = (_List_node_base **)(ulong)local_e4;\n            uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n            if (this->calculate_only_ != false) goto LAB_002c2940;\n            SVar26 = STATUS_OKAY;\n            *(uint *)view = (uVar39 ^ *(uint *)view) & 0xffff ^ *(uint *)view;\n            goto LAB_002c2945;\n          }\n          goto LAB_002c4766;\n        }\nLAB_002c476b:\n        uVar22 = SUB81(target_00,0);\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n        pSVar48 = extraout_RDX_03;\n        goto LAB_002c4770;\n      }\n      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n        pp_Var43 = (_List_node_base **)(long)(int)local_cc;\n        local_98 = (Mips_relobj<32,_false> *)" (assignment_expression "pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n      if (gsym != (Sized_symbol<32> *)0x0) {\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var43 = (_List_node_base **)this_00;\n          local_98 = (Mips_relobj<32,_false> *)gsym;\n          local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00);\nLAB_002c22ef:\n          pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n          if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n            pp_Var56 = (_List_node_base **)(ulong)local_e4;\n            uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n            if (this->calculate_only_ != false) goto LAB_002c2940;\n            SVar26 = STATUS_OKAY;\n            *(uint *)view = (uVar39 ^ *(uint *)view) & 0xffff ^ *(uint *)view;\n            goto LAB_002c2945;\n          }\n          goto LAB_002c4766;\n        }\nLAB_002c476b:\n        uVar22 = SUB81(target_00,0);\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n        pSVar48 = extraout_RDX_03;\n        goto LAB_002c4770;\n      }\n      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n        pp_Var43 = (_List_node_base **)(long)(int)local_cc" identifier = (assignment_expression "(Mips_relobj<32,_false> *)target->got_;\n      if (gsym != (Sized_symbol<32> *)0x0) {\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var43 = (_List_node_base **)this_00;\n          local_98 = (Mips_relobj<32,_false> *)gsym;\n          local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00);\nLAB_002c22ef:\n          pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n          if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n            pp_Var56 = (_List_node_base **)(ulong)local_e4;\n            uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n            if (this->calculate_only_ != false) goto LAB_002c2940;\n            SVar26 = STATUS_OKAY;\n            *(uint *)view = (uVar39 ^ *(uint *)view) & 0xffff ^ *(uint *)view;\n            goto LAB_002c2945;\n          }\n          goto LAB_002c4766;\n        }\nLAB_002c476b:\n        uVar22 = SUB81(target_00,0);\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n        pSVar48 = extraout_RDX_03;\n        goto LAB_002c4770;\n      }\n      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n        pp_Var43 = (_List_node_base **)(long)(int)local_cc" (parenthesized_expression "(Mips_relobj<32,_false> *)target->got_;\n      if (gsym != (Sized_symbol<32> *)0x0) {\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var43 = (_List_node_base **)this_00;\n          local_98 = (Mips_relobj<32,_false> *)gsym;\n          local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00);\nLAB_002c22ef:\n          pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n          if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n            pp_Var56 = (_List_node_base **)(ulong)local_e4;\n            uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n            if (this->calculate_only_ != false) goto LAB_002c2940;\n            SVar26 = STATUS_OKAY;\n            *(uint *)view = (uVar39 ^ *(uint *)view) & 0xffff ^ *(uint *)view;\n            goto LAB_002c2945;\n          }\n          goto LAB_002c4766;\n        }\nLAB_002c476b:\n        uVar22 = SUB81(target_00,0);\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n        pSVar48 = extraout_RDX_03;\n        goto LAB_002c4770;\n      }\n      if (pMVar60 != (Mips_relobj<32,_false> *)0x0)" ( (ERROR "Mips_relobj<32,_false> *)target->got_;\n      if" (comma_expression "Mips_relobj<32,_false> *)target->got_" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)target->got_" identifier > (pointer_expression "*)target->got_" * (ERROR ")" )) (field_expression "target->got_" identifier -> field_identifier)))) ; if) (parenthesized_expression "(gsym != (Sized_symbol<32> *)0x0) {\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var43 = (_List_node_base **)this_00;\n          local_98 = (Mips_relobj<32,_false> *)gsym;\n          local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00);\nLAB_002c22ef:\n          pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n          if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n            pp_Var56 = (_List_node_base **)(ulong)local_e4;\n            uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n            if (this->calculate_only_ != false) goto LAB_002c2940;\n            SVar26 = STATUS_OKAY;\n            *(uint *)view = (uVar39 ^ *(uint *)view) & 0xffff ^ *(uint *)view;\n            goto LAB_002c2945;\n          }\n          goto LAB_002c4766;\n        }\nLAB_002c476b:\n        uVar22 = SUB81(target_00,0);\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n        pSVar48 = extraout_RDX_03;\n        goto LAB_002c4770;\n      }\n      if (pMVar60 != (Mips_relobj<32,_false> *)" ( (ERROR "gsym != (Sized_symbol<32> *)0x0)" (binary_expression "gsym != (Sized_symbol<32> *)0x0)" identifier != (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) )))) (compound_statement "{\n        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var43 = (_List_node_base **)this_00;\n          local_98 = (Mips_relobj<32,_false> *)gsym;\n          local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00);\nLAB_002c22ef:\n          pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n          if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n            pp_Var56 = (_List_node_base **)(ulong)local_e4;\n            uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n            if (this->calculate_only_ != false) goto LAB_002c2940;\n            SVar26 = STATUS_OKAY;\n            *(uint *)view = (uVar39 ^ *(uint *)view) & 0xffff ^ *(uint *)view;\n            goto LAB_002c2945;\n          }\n          goto LAB_002c4766;\n        }\nLAB_002c476b:\n        uVar22 = SUB81(target_00,0);\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n        pSVar48 = extraout_RDX_03;\n        goto LAB_002c4770;\n      }" { (if_statement "if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n          pp_Var43 = (_List_node_base **)this_00;\n          local_98 = (Mips_relobj<32,_false> *)gsym;\n          local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00);\nLAB_002c22ef:\n          pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n          if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n            pp_Var56 = (_List_node_base **)(ulong)local_e4;\n            uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n            if (this->calculate_only_ != false) goto LAB_002c2940;\n            SVar26 = STATUS_OKAY;\n            *(uint *)view = (uVar39 ^ *(uint *)view) & 0xffff ^ *(uint *)view;\n            goto LAB_002c2945;\n          }\n          goto LAB_002c4766;\n        }" if (parenthesized_expression "(pMVar60 != (Mips_relobj<32,_false> *)0x0)" ( (binary_expression "pMVar60 != (Mips_relobj<32,_false> *)0x0)" identifier != (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n          pp_Var43 = (_List_node_base **)this_00;\n          local_98 = (Mips_relobj<32,_false> *)gsym;\n          local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00);\nLAB_002c22ef:\n          pMVar60 = (Mips_relobj<32,_false> *)target->got_;\n          if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n            pp_Var56 = (_List_node_base **)(ulong)local_e4;\n            uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n            if (this->calculate_only_ != false) goto LAB_002c2940;\n            SVar26 = STATUS_OKAY;\n            *(uint *)view = (uVar39 ^ *(uint *)view) & 0xffff ^ *(uint *)view;\n            goto LAB_002c2945;\n          }\n          goto LAB_002c4766;\n        }" { (expression_statement "pp_Var43 = (_List_node_base **)this_00;" (assignment_expression "pp_Var43 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "local_98 = (Mips_relobj<32,_false> *)gsym;" (assignment_expression "local_98 = (Mips_relobj<32,_false> *)gsym" identifier = (parenthesized_expression "(Mips_relobj<32,_false> *)gsym" ( (comma_expression "Mips_relobj<32,_false> *)gsym" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)gsym" identifier > (pointer_expression "*)gsym" * (ERROR ")" )) identifier))) ))) ;) (expression_statement "local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00);" (comma_expression "local_e4 = Mips_output_data_got<32,_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00)" (assignment_expression "local_e4 = Mips_output_data_got<32" identifier = (binary_expression "Mips_output_data_got<32" identifier < number_literal)) , (binary_expression "_false>::got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00)" identifier > (ERROR "::" : :) (call_expression "got_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00)" identifier (argument_list "((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00)" ( (parenthesized_expression "(Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00)" ( (comma_expression "Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (comma_expression "_false> *)pMVar60,&gsym->super_Symbol,0,\n                                this_00" (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier)) , (comma_expression "&gsym->super_Symbol,0,\n                                this_00" (pointer_expression "&gsym->super_Symbol" & (field_expression "gsym->super_Symbol" identifier -> field_identifier)) , (comma_expression "0,\n                                this_00" number_literal , identifier)))) )) ))))) ;) (labeled_statement "LAB_002c22ef:\n          pMVar60 = (Mips_relobj<32,_false> *)target->got_;" statement_identifier : (expression_statement "pMVar60 = (Mips_relobj<32,_false> *)target->got_;" (assignment_expression "pMVar60 = (Mips_relobj<32,_false> *)target->got_" identifier = (parenthesized_expression "(Mips_relobj<32,_false> *)target->got_" ( (comma_expression "Mips_relobj<32,_false> *)target->got_" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)target->got_" identifier > (pointer_expression "*)target->got_" * (ERROR ")" )) (field_expression "target->got_" identifier -> field_identifier)))) ))) ;)) (if_statement "if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {\n            pp_Var56 = (_List_node_base **)(ulong)local_e4;\n            uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n            if (this->calculate_only_ != false) goto LAB_002c2940;\n            SVar26 = STATUS_OKAY;\n            *(uint *)view = (uVar39 ^ *(uint *)view) & 0xffff ^ *(uint *)view;\n            goto LAB_002c2945;\n          }" if (parenthesized_expression "(pMVar60 != (Mips_relobj<32,_false> *)0x0)" ( (binary_expression "pMVar60 != (Mips_relobj<32,_false> *)0x0)" identifier != (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n            pp_Var56 = (_List_node_base **)(ulong)local_e4;\n            uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n            if (this->calculate_only_ != false) goto LAB_002c2940;\n            SVar26 = STATUS_OKAY;\n            *(uint *)view = (uVar39 ^ *(uint *)view) & 0xffff ^ *(uint *)view;\n            goto LAB_002c2945;\n          }" { (expression_statement "pp_Var56 = (_List_node_base **)(ulong)local_e4;" (assignment_expression "pp_Var56 = (_List_node_base **)(ulong)local_e4" identifier = (cast_expression "(_List_node_base **)(ulong)local_e4" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)local_e4" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);" (comma_expression "uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" (assignment_expression "uVar39 = Mips_output_data_got<32" identifier = (binary_expression "Mips_output_data_got<32" identifier < number_literal)) , (binary_expression "_false>::gp_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" identifier > (ERROR "::" : :) (call_expression "gp_offset\n                               ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" identifier (argument_list "((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" ( (parenthesized_expression "(Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" ( (comma_expression "Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (comma_expression "_false> *)pMVar60,local_e4,this_00" (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier)) , (comma_expression "local_e4,this_00" identifier , identifier))) )) ))))) ;) (if_statement "if (this->calculate_only_ != false) goto LAB_002c2940;" if (parenthesized_expression "(this->calculate_only_ != false)" ( (binary_expression "this->calculate_only_ != false" (field_expression "this->calculate_only_" identifier -> field_identifier) != false) )) (goto_statement "goto LAB_002c2940;" goto statement_identifier ;)) (expression_statement "SVar26 = STATUS_OKAY;" (assignment_expression "SVar26 = STATUS_OKAY" identifier = identifier) ;) (expression_statement "*(uint *)view = (uVar39 ^ *(uint *)view) & 0xffff ^ *(uint *)view;" (assignment_expression "*(uint *)view = (uVar39 ^ *(uint *)view) & 0xffff ^ *(uint *)view" (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(uVar39 ^ *(uint *)view) & 0xffff ^ *(uint *)view" (binary_expression "(uVar39 ^ *(uint *)view) & 0xffff" (parenthesized_expression "(uVar39 ^ *(uint *)view)" ( (binary_expression "uVar39 ^ *(uint *)view" identifier ^ (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) )) & number_literal) ^ (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (goto_statement "goto LAB_002c2945;" goto statement_identifier ;) })) (goto_statement "goto LAB_002c4766;" goto statement_identifier ;) })) (labeled_statement "LAB_002c476b:\n        uVar22 = SUB81(target_00,0);" statement_identifier : (expression_statement "uVar22 = SUB81(target_00,0);" (assignment_expression "uVar22 = SUB81(target_00,0)" identifier = (call_expression "SUB81(target_00,0)" identifier (argument_list "(target_00,0)" ( identifier , number_literal )))) ;)) (expression_statement "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);" (comma_expression "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60)" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false>::got_section((Target_mips<32,_false> *)pMVar60)" identifier > (ERROR "::" : :) (call_expression "got_section((Target_mips<32,_false> *)pMVar60)" identifier (argument_list "((Target_mips<32,_false> *)pMVar60)" ( (parenthesized_expression "(Target_mips<32,_false> *)pMVar60)" ( (comma_expression "Target_mips<32,_false> *)pMVar60" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier))) )) ))))) ;) (expression_statement "pSVar48 = extraout_RDX_03;" (assignment_expression "pSVar48 = extraout_RDX_03" identifier = identifier) ;) (goto_statement "goto LAB_002c4770;" goto statement_identifier ;) }) (ERROR "if (pMVar60 != (Mips_relobj<32,_false> *" if ( identifier != ( identifier < number_literal , identifier > *) )) (ERROR "0x0" number_literal) )) (ERROR "{\n        pp_Var43" { identifier) = (cast_expression "(_List_node_base **)(long)(int)local_cc" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(long)(int)local_cc" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier))))) (ERROR ";\n        local_98 =" ; identifier =) (argument_list "(Mips_relobj<32,_false> *)" ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier)) ))) (argument_list "(ulong)" ( identifier ))) (ERROR "_Var51;\n        local_e4" identifier ; identifier) = (call_expression "(*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,local_98,0)" (parenthesized_expression "(*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])" ( (comma_expression "*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c]" (binary_expression "*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" (pointer_expression "*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj" * (field_expression "(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj" (parenthesized_expression "(this_00->super_Sized_relobj_file<32,_false>)" ( (comma_expression "this_00->super_Sized_relobj_file<32,_false" (binary_expression "this_00->super_Sized_relobj_file<32" (field_expression "this_00->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier)) < number_literal) , (subscript_expression "_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c]" (field_expression "_false>.\n                     super_Relobj.super_Object._vptr_Object" (field_expression "_false>.\n                     super_Relobj.super_Object" (field_expression "_false>.\n                     super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "(this_00,local_98,0)" ( identifier , identifier , number_literal )))) (ERROR ";\n        goto LAB_002c22ef;\n      }\nLAB_002c4792:\n      Target_mips" ; goto identifier ; } identifier : identifier) < number_literal) , identifier > (ERROR "::" : :) identifier ( (ERROR "(Target_mips<32,_false> *)pMVar60);\nLAB_002c4797:" (parenthesized_expression "(Target_mips<32,_false> *)pMVar60)" ( (comma_expression "Target_mips<32,_false> *)pMVar60" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier))) )) ; identifier :) (binary_expression "Target_mips<32" identifier < number_literal) , identifier > (ERROR "::" : :) identifier ( (ERROR "(Target_mips<32,_false> *)pMVar60);\nLAB_002c479c:" (parenthesized_expression "(Target_mips<32,_false> *)pMVar60)" ( (comma_expression "Target_mips<32,_false> *)pMVar60" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier))) )) ; identifier :) (binary_expression "Target_mips<32" identifier < number_literal) , identifier > (ERROR "::" : :) identifier ( (ERROR "(Target_mips<32,_false> *)pMVar60);\nLAB_002c47a1:" (parenthesized_expression "(Target_mips<32,_false> *)pMVar60)" ( (comma_expression "Target_mips<32,_false> *)pMVar60" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier))) )) ; identifier :) (binary_expression "Target_mips<32" identifier < number_literal) , identifier > (ERROR "::" : :) identifier ( (ERROR "(Target_mips<32,_false> *)pMVar60);\nLAB_002c47a6:" (parenthesized_expression "(Target_mips<32,_false> *)pMVar60)" ( (comma_expression "Target_mips<32,_false> *)pMVar60" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier))) )) ; identifier :) (binary_expression "Target_mips<32" identifier < number_literal) , identifier > (ERROR "::" : :) identifier ( (ERROR "(Target_mips<32,_false> *)pMVar60);" (parenthesized_expression "(Target_mips<32,_false> *)pMVar60)" ( (comma_expression "Target_mips<32,_false> *)pMVar60" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier))) )) ;) comment (binary_expression "uVar22 = (anonymous_namespace)::Target_mips<32" (assignment_expression "uVar22 = (anonymous_namespace)" identifier = (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Target_mips" : : identifier) < number_literal) , (call_expression "false>::Relocate::relocate\n                         ((Relocate_info *)pMVar60,lo16_reloc,extraout_RDX_04,\n                          (Output_section *)pp_Var43,(ulong)target_00,puVar63,\n                          (Sized_symbol *)in_stack_fffffffffffffed0,\n                          (Symbol_value *)\n                          CONCAT44(in_stack_fffffffffffffedc,in_stack_fffffffffffffed8),\n                          (uchar *)in_stack_fffffffffffffee0,(uint)in_stack_fffffffffffffee8,\n                          (ulong)output_section);\n      return (bool)" (call_expression "false>::Relocate::relocate\n                         ((Relocate_info *)pMVar60,lo16_reloc,extraout_RDX_04,\n                          (Output_section *)pp_Var43,(ulong)target_00,puVar63,\n                          (Sized_symbol *)in_stack_fffffffffffffed0,\n                          (Symbol_value *)\n                          CONCAT44(in_stack_fffffffffffffedc,in_stack_fffffffffffffed8),\n                          (uchar *)in_stack_fffffffffffffee0,(uint)in_stack_fffffffffffffee8,\n                          (ulong)output_section)" (binary_expression "false>::Relocate" false > (ERROR "::" : :) identifier) (ERROR "::relocate" : : identifier) (argument_list "((Relocate_info *)pMVar60,lo16_reloc,extraout_RDX_04,\n                          (Output_section *)pp_Var43,(ulong)target_00,puVar63,\n                          (Sized_symbol *)in_stack_fffffffffffffed0,\n                          (Symbol_value *)\n                          CONCAT44(in_stack_fffffffffffffedc,in_stack_fffffffffffffed8),\n                          (uchar *)in_stack_fffffffffffffee0,(uint)in_stack_fffffffffffffee8,\n                          (ulong)output_section)" ( (cast_expression "(Relocate_info *)pMVar60" ( (type_descriptor "Relocate_info *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier , (cast_expression "(Output_section *)pp_Var43" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(ulong)target_00" ( (type_descriptor "ulong" type_identifier) ) identifier) , identifier , (cast_expression "(Sized_symbol *)in_stack_fffffffffffffed0" ( (type_descriptor "Sized_symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(Symbol_value *)\n                          CONCAT44(in_stack_fffffffffffffedc,in_stack_fffffffffffffed8)" ( (type_descriptor "Symbol_value *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(in_stack_fffffffffffffedc,in_stack_fffffffffffffed8)" identifier (argument_list "(in_stack_fffffffffffffedc,in_stack_fffffffffffffed8)" ( identifier , identifier )))) , (cast_expression "(uchar *)in_stack_fffffffffffffee0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(uint)in_stack_fffffffffffffee8" ( (type_descriptor "uint" type_identifier) ) identifier) , (cast_expression "(ulong)output_section" ( (type_descriptor "ulong" type_identifier) ) identifier) ))) (ERROR ";\n      return" ; return) (argument_list "(bool)" ( identifier ))) (ERROR "uVar22;\n    case" identifier ; case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x18" identifier > (pointer_expression "*)0x18" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (ERROR "_false> *)0x96:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c2efa:\n      pp_Var43 = (_List_node_base **)puVar44;\n      VVar23 = -local_b0;\nLAB_002c2f02:\n      pp_Var56 = (_List_node_base **)this_00;\n      uVar39 = gold::" (binary_expression "_false> *)0x96" identifier > (pointer_expression "*)0x96" * (ERROR ")" )) number_literal)) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier : (assignment_expression "pp_Var43 = (_List_node_base **)puVar44" identifier = (cast_expression "(_List_node_base **)puVar44" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ; (assignment_expression "VVar23 = -local_b0" identifier = (unary_expression "-local_b0" - identifier)) ; identifier : (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ; (assignment_expression "uVar39 = gold" identifier = identifier) : :) (binary_expression "Symbol_value<32>::value<false" (binary_expression "Symbol_value<32>::value" (binary_expression "Symbol_value<32" identifier < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n      if (calculate_only != '\0') goto LAB_002c1f30;" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,VVar23)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,VVar23" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,VVar23" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; if (parenthesized_expression "(calculate_only != '\0')" ( (binary_expression "calculate_only != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) identifier identifier ;) (binary_expression "SVar26 = STATUS_OKAY;\n      *(ulong *)view = (ulong)uVar39" (assignment_expression "SVar26 = STATUS_OKAY" identifier = identifier) (ERROR ";" ;) * (cast_expression "(ulong *)view = (ulong)uVar39" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "view = (ulong)uVar39" identifier = (cast_expression "(ulong)uVar39" ( (type_descriptor "ulong" type_identifier) ) identifier)))) (ERROR ";\n      break;\n    case" ; break ; case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x1c:\n    case (Mips_relobj<32,_false> *)0x97:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar40 & 0xffff) - 0x10000;\n        if ((uVar40 & 0x8000) == 0) {\n          local_b0 = uVar40 & 0xffff;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false" (binary_expression "_false> *)0x1c:\n    case (Mips_relobj<32,_false> *)0x97:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar40 & 0xffff) - 0x10000;\n        if ((uVar40 & 0x8000) == 0) {\n          local_b0 = uVar40 & 0xffff;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value" (binary_expression "_false> *)0x1c:\n    case (Mips_relobj<32,_false> *)0x97:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar40 & 0xffff) - 0x10000;\n        if ((uVar40 & 0x8000) == 0) {\n          local_b0 = uVar40 & 0xffff;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32" (assignment_expression "_false> *)0x1c:\n    case (Mips_relobj<32,_false> *)0x97:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar40 & 0xffff) - 0x10000;\n        if ((uVar40 & 0x8000) == 0) {\n          local_b0 = uVar40 & 0xffff;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold" (call_expression "_false> *)0x1c:\n    case (Mips_relobj<32,_false> *)0x97:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar40 & 0xffff) - 0x10000;\n        if ((uVar40 & 0x8000) == 0) {\n          local_b0 = uVar40 & 0xffff;\n        }\n      }\n      pp_Var56 = (_List_node_base **)" (binary_expression "_false> *)0x1c" identifier > (pointer_expression "*)0x1c" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) (argument_list "(Mips_relobj<32,_false> *)0x97:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar40 & 0xffff) - 0x10000;\n        if ((uVar40 & 0x8000) == 0) {\n          local_b0 = uVar40 & 0xffff;\n        }\n      }\n      pp_Var56 = (_List_node_base **)" ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (ERROR "_false> *)0x97:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      if ((char)local_b8 != '\0')" (binary_expression "_false> *)0x97" identifier > (pointer_expression "*)0x97" * (ERROR ")" )) number_literal)) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier : (assignment_expression "local_cc = local_b0" identifier = identifier) ; (call_expression "uVar40 = *(uint *)view;\n      if ((char)local_b8 != '\0')" (assignment_expression "uVar40 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) (ERROR ";\n      if" ; if) (argument_list "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )))) (compound_statement "{\n        local_b0 = (uVar40 & 0xffff) - 0x10000;\n        if ((uVar40 & 0x8000) == 0) {\n          local_b0 = uVar40 & 0xffff;\n        }\n      }" { (expression_statement "local_b0 = (uVar40 & 0xffff) - 0x10000;" (assignment_expression "local_b0 = (uVar40 & 0xffff) - 0x10000" identifier = (binary_expression "(uVar40 & 0xffff) - 0x10000" (parenthesized_expression "(uVar40 & 0xffff)" ( (binary_expression "uVar40 & 0xffff" identifier & number_literal) )) - number_literal)) ;) (if_statement "if ((uVar40 & 0x8000) == 0) {\n          local_b0 = uVar40 & 0xffff;\n        }" if (parenthesized_expression "((uVar40 & 0x8000) == 0)" ( (binary_expression "(uVar40 & 0x8000) == 0" (parenthesized_expression "(uVar40 & 0x8000)" ( (binary_expression "uVar40 & 0x8000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar40 & 0xffff;\n        }" { (expression_statement "local_b0 = uVar40 & 0xffff;" (assignment_expression "local_b0 = uVar40 & 0xffff" identifier = (binary_expression "uVar40 & 0xffff" identifier & number_literal)) ;) })) }) (ERROR "pp_Var56 = (_List_node_base **" identifier = ( identifier * *) ))) (ERROR "this_00;\n      VVar23" identifier ; identifier) = identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      pp_Var43 = (_List_node_base **)0x80008000;\n      uVar39 = (uint)((ulong)VVar23 + 0x80008000 >> 0x20);\n      goto" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,local_b0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,local_b0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,local_b0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; (assignment_expression "pp_Var43 = (_List_node_base **)0x80008000" identifier = (cast_expression "(_List_node_base **)0x80008000" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ; (assignment_expression "uVar39 = (uint)((ulong)VVar23 + 0x80008000 >> 0x20)" identifier = (call_expression "(uint)((ulong)VVar23 + 0x80008000 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulong)VVar23 + 0x80008000 >> 0x20)" ( (binary_expression "(ulong)VVar23 + 0x80008000 >> 0x20" (binary_expression "(ulong)VVar23 + 0x80008000" (cast_expression "(ulong)VVar23" ( (type_descriptor "ulong" type_identifier) ) identifier) + number_literal) >> number_literal) )))) ; goto) identifier (ERROR ";\n    case" ; case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x1d:\n    case (Mips_relobj<32,_false> *)0x98:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar39 = *(uint *)view;\n      pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0') {\n        uVar40 = uVar39 & 0xffff;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        local_b0 = uVar40 - 0x10000;\n        if ((uVar39 & 0x8000) == 0) {\n          local_b0 = uVar40;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      gold::Symbol_value<32>::value<false" (binary_expression "_false> *)0x1d:\n    case (Mips_relobj<32,_false> *)0x98:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar39 = *(uint *)view;\n      pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0') {\n        uVar40 = uVar39 & 0xffff;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        local_b0 = uVar40 - 0x10000;\n        if ((uVar39 & 0x8000) == 0) {\n          local_b0 = uVar40;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      gold::Symbol_value<32>::value" (binary_expression "_false> *)0x1d:\n    case (Mips_relobj<32,_false> *)0x98:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar39 = *(uint *)view;\n      pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0') {\n        uVar40 = uVar39 & 0xffff;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        local_b0 = uVar40 - 0x10000;\n        if ((uVar39 & 0x8000) == 0) {\n          local_b0 = uVar40;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      gold::Symbol_value<32" (call_expression "_false> *)0x1d:\n    case (Mips_relobj<32,_false> *)0x98:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar39 = *(uint *)view;\n      pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0') {\n        uVar40 = uVar39 & 0xffff;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        local_b0 = uVar40 - 0x10000;\n        if ((uVar39 & 0x8000) == 0) {\n          local_b0 = uVar40;\n        }\n      }\n      pp_Var56 = (_List_node_base **)" (binary_expression "_false> *)0x1d" identifier > (pointer_expression "*)0x1d" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) (argument_list "(Mips_relobj<32,_false> *)0x98:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar39 = *(uint *)view;\n      pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0') {\n        uVar40 = uVar39 & 0xffff;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        local_b0 = uVar40 - 0x10000;\n        if ((uVar39 & 0x8000) == 0) {\n          local_b0 = uVar40;\n        }\n      }\n      pp_Var56 = (_List_node_base **)" ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (ERROR "_false> *)0x98:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar39 = *(uint *)view;\n      pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0')" (binary_expression "_false> *)0x98" identifier > (pointer_expression "*)0x98" * (ERROR ")" )) number_literal)) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier : (assignment_expression "local_cc = local_b0" identifier = identifier) ; (assignment_expression "uVar39 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ; (call_expression "pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0')" (assignment_expression "pp_Var43 = (_List_node_base **)puVar44" identifier = (cast_expression "(_List_node_base **)puVar44" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) (ERROR ";\n      if" ; if) (argument_list "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )))) (compound_statement "{\n        uVar40 = uVar39 & 0xffff;\n        pp_Var43 = (_List_node_base **)(ulong)uVar40;\n        local_b0 = uVar40 - 0x10000;\n        if ((uVar39 & 0x8000) == 0) {\n          local_b0 = uVar40;\n        }\n      }" { (expression_statement "uVar40 = uVar39 & 0xffff;" (assignment_expression "uVar40 = uVar39 & 0xffff" identifier = (binary_expression "uVar39 & 0xffff" identifier & number_literal)) ;) (expression_statement "pp_Var43 = (_List_node_base **)(ulong)uVar40;" (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)uVar40" identifier = (cast_expression "(_List_node_base **)(ulong)uVar40" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)uVar40" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "local_b0 = uVar40 - 0x10000;" (assignment_expression "local_b0 = uVar40 - 0x10000" identifier = (binary_expression "uVar40 - 0x10000" identifier - number_literal)) ;) (if_statement "if ((uVar39 & 0x8000) == 0) {\n          local_b0 = uVar40;\n        }" if (parenthesized_expression "((uVar39 & 0x8000) == 0)" ( (binary_expression "(uVar39 & 0x8000) == 0" (parenthesized_expression "(uVar39 & 0x8000)" ( (binary_expression "uVar39 & 0x8000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar40;\n        }" { (expression_statement "local_b0 = uVar40;" (assignment_expression "local_b0 = uVar40" identifier = identifier) ;) })) }) (ERROR "pp_Var56 = (_List_node_base **" identifier = ( identifier * *) ))) (ERROR "this_00;\n      gold::Symbol_value" identifier ; identifier : : identifier) < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)\n      ;\n      if ((bool)calculate_only != false) {\n        SVar26 = STATUS_OKAY;\n        this->calculated_value_ = 0;\n        break;\n      }\n      uVar39 = uVar39 & 0xffff0000;\n      goto" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,local_b0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,local_b0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,local_b0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; if (parenthesized_expression "((bool)calculate_only != false)" ( (binary_expression "(bool)calculate_only != false" (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier) != false) )) (compound_statement "{\n        SVar26 = STATUS_OKAY;\n        this->calculated_value_ = 0;\n        break;\n      }" { (expression_statement "SVar26 = STATUS_OKAY;" (assignment_expression "SVar26 = STATUS_OKAY" identifier = identifier) ;) (expression_statement "this->calculated_value_ = 0;" (assignment_expression "this->calculated_value_ = 0" (field_expression "this->calculated_value_" identifier -> field_identifier) = number_literal) ;) (break_statement "break;" break ;) }) (assignment_expression "uVar39 = uVar39 & 0xffff0000" identifier = (binary_expression "uVar39 & 0xffff0000" identifier & number_literal)) ; goto) identifier (ERROR ";\n    case" ; case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x25" identifier > (pointer_expression "*)0x25" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (ERROR "_false> *)0x9c:\n      local_b8 = (_Bit_type *)0x0;" (binary_expression "_false> *)0x9c" identifier > (pointer_expression "*)0x9c" * (ERROR ")" )) number_literal)) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) identifier (ERROR ":\n      if" : if) ( (ERROR "gsym != (Sized_symbol<32> *)0x0) {\n        bVar67 = (gsym->super_Symbol).dynsym_index_ != 0;\n        pp_Var56 = (_List_node_base **)(ulong)bVar67;\n        bVar67 = symbol_refs_local(&gsym->super_Symbol,bVar67,true);\n        if (!bVar67) break;\n        calculate_only = this->calculate_only_;\n      }\n      VVar23 = 0;\n      if ((char)local_b8 == '\0') {\n        VVar23 = local_cc;\n      }\n      uVar39 = *(uint *)view;\n      uVar40 = uVar39;\n      if (((lo16_reloc == 0x25) && (local_cf != 1)) &&\n         ((uVar39 == 0x3200008 || (uVar39 == 0x320f809)))) {\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n        if ((VVar23 - address) + 0x1fffc < 0x40000) {\n          uVar41 = (VVar23 - address) - 4 >> 2 & 0xffff;\n          uVar40 = uVar41 | 0x10000000;\n          if (uVar39 != 0x3200008) {\n            uVar40 = uVar41 | 0x4110000;\n          }\n        }\n      }\n      if (calculate_only == '\0') {\n        *(uint *)view = uVar40;\n        SVar26 = STATUS_OKAY;\n      }\n      else {\n        this->calculated_value_ = uVar40;\n        SVar26 = STATUS_OKAY;\n      }\n      break;\n    case" (binary_expression "gsym != (Sized_symbol<32> *)0x0)" identifier != (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) (compound_statement "{\n        bVar67 = (gsym->super_Symbol).dynsym_index_ != 0;\n        pp_Var56 = (_List_node_base **)(ulong)bVar67;\n        bVar67 = symbol_refs_local(&gsym->super_Symbol,bVar67,true);\n        if (!bVar67) break;\n        calculate_only = this->calculate_only_;\n      }" { (expression_statement "bVar67 = (gsym->super_Symbol).dynsym_index_ != 0;" (assignment_expression "bVar67 = (gsym->super_Symbol).dynsym_index_ != 0" identifier = (binary_expression "(gsym->super_Symbol).dynsym_index_ != 0" (field_expression "(gsym->super_Symbol).dynsym_index_" (parenthesized_expression "(gsym->super_Symbol)" ( (field_expression "gsym->super_Symbol" identifier -> field_identifier) )) . field_identifier) != number_literal)) ;) (expression_statement "pp_Var56 = (_List_node_base **)(ulong)bVar67;" (assignment_expression "pp_Var56 = (_List_node_base **)(ulong)bVar67" identifier = (cast_expression "(_List_node_base **)(ulong)bVar67" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)bVar67" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "bVar67 = symbol_refs_local(&gsym->super_Symbol,bVar67,true);" (assignment_expression "bVar67 = symbol_refs_local(&gsym->super_Symbol,bVar67,true)" identifier = (call_expression "symbol_refs_local(&gsym->super_Symbol,bVar67,true)" identifier (argument_list "(&gsym->super_Symbol,bVar67,true)" ( (pointer_expression "&gsym->super_Symbol" & (field_expression "gsym->super_Symbol" identifier -> field_identifier)) , identifier , true )))) ;) (if_statement "if (!bVar67) break;" if (parenthesized_expression "(!bVar67)" ( (unary_expression "!bVar67" ! identifier) )) (break_statement "break;" break ;)) (expression_statement "calculate_only = this->calculate_only_;" (assignment_expression "calculate_only = this->calculate_only_" identifier = (field_expression "this->calculate_only_" identifier -> field_identifier)) ;) }) (call_expression "VVar23 = 0;\n      if ((char)local_b8 == '\0')" (assignment_expression "VVar23 = 0" identifier = number_literal) (ERROR ";\n      if" ; if) (argument_list "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) (compound_statement "{\n        VVar23 = local_cc;\n      }" { (expression_statement "VVar23 = local_cc;" (assignment_expression "VVar23 = local_cc" identifier = identifier) ;) }) (assignment_expression "uVar39 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ; (call_expression "uVar40 = uVar39;\n      if (((lo16_reloc == 0x25) && (local_cf != 1)) &&\n         ((uVar39 == 0x3200008 || (uVar39 == 0x320f809))))" (assignment_expression "uVar40 = uVar39" identifier = identifier) (ERROR ";\n      if" ; if) (argument_list "(((lo16_reloc == 0x25) && (local_cf != 1)) &&\n         ((uVar39 == 0x3200008 || (uVar39 == 0x320f809))))" ( (binary_expression "((lo16_reloc == 0x25) && (local_cf != 1)) &&\n         ((uVar39 == 0x3200008 || (uVar39 == 0x320f809)))" (parenthesized_expression "((lo16_reloc == 0x25) && (local_cf != 1))" ( (binary_expression "(lo16_reloc == 0x25) && (local_cf != 1)" (parenthesized_expression "(lo16_reloc == 0x25)" ( (binary_expression "lo16_reloc == 0x25" identifier == number_literal) )) && (parenthesized_expression "(local_cf != 1)" ( (binary_expression "local_cf != 1" identifier != number_literal) ))) )) && (parenthesized_expression "((uVar39 == 0x3200008 || (uVar39 == 0x320f809)))" ( (parenthesized_expression "(uVar39 == 0x3200008 || (uVar39 == 0x320f809))" ( (binary_expression "uVar39 == 0x3200008 || (uVar39 == 0x320f809)" (binary_expression "uVar39 == 0x3200008" identifier == number_literal) || (parenthesized_expression "(uVar39 == 0x320f809)" ( (binary_expression "uVar39 == 0x320f809" identifier == number_literal) ))) )) ))) ))) (compound_statement "{\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n        if ((VVar23 - address) + 0x1fffc < 0x40000) {\n          uVar41 = (VVar23 - address) - 4 >> 2 & 0xffff;\n          uVar40 = uVar41 | 0x10000000;\n          if (uVar39 != 0x3200008) {\n            uVar40 = uVar41 | 0x4110000;\n          }\n        }\n      }" { (expression_statement "pp_Var56 = (_List_node_base **)this_00;" (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);" (binary_expression "VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23)" (binary_expression "VVar23 = gold::Symbol_value<32>::value<false" (binary_expression "VVar23 = gold::Symbol_value<32>::value" (binary_expression "VVar23 = gold::Symbol_value<32" (assignment_expression "VVar23 = gold" identifier = identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "::" : :) identifier) < false) > (parenthesized_expression "(psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23)" ( (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,VVar23)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,VVar23" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,VVar23" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ))) ;) (if_statement "if ((VVar23 - address) + 0x1fffc < 0x40000) {\n          uVar41 = (VVar23 - address) - 4 >> 2 & 0xffff;\n          uVar40 = uVar41 | 0x10000000;\n          if (uVar39 != 0x3200008) {\n            uVar40 = uVar41 | 0x4110000;\n          }\n        }" if (parenthesized_expression "((VVar23 - address) + 0x1fffc < 0x40000)" ( (binary_expression "(VVar23 - address) + 0x1fffc < 0x40000" (binary_expression "(VVar23 - address) + 0x1fffc" (parenthesized_expression "(VVar23 - address)" ( (binary_expression "VVar23 - address" identifier - identifier) )) + number_literal) < number_literal) )) (compound_statement "{\n          uVar41 = (VVar23 - address) - 4 >> 2 & 0xffff;\n          uVar40 = uVar41 | 0x10000000;\n          if (uVar39 != 0x3200008) {\n            uVar40 = uVar41 | 0x4110000;\n          }\n        }" { (expression_statement "uVar41 = (VVar23 - address) - 4 >> 2 & 0xffff;" (assignment_expression "uVar41 = (VVar23 - address) - 4 >> 2 & 0xffff" identifier = (binary_expression "(VVar23 - address) - 4 >> 2 & 0xffff" (binary_expression "(VVar23 - address) - 4 >> 2" (binary_expression "(VVar23 - address) - 4" (parenthesized_expression "(VVar23 - address)" ( (binary_expression "VVar23 - address" identifier - identifier) )) - number_literal) >> number_literal) & number_literal)) ;) (expression_statement "uVar40 = uVar41 | 0x10000000;" (assignment_expression "uVar40 = uVar41 | 0x10000000" identifier = (binary_expression "uVar41 | 0x10000000" identifier | number_literal)) ;) (if_statement "if (uVar39 != 0x3200008) {\n            uVar40 = uVar41 | 0x4110000;\n          }" if (parenthesized_expression "(uVar39 != 0x3200008)" ( (binary_expression "uVar39 != 0x3200008" identifier != number_literal) )) (compound_statement "{\n            uVar40 = uVar41 | 0x4110000;\n          }" { (expression_statement "uVar40 = uVar41 | 0x4110000;" (assignment_expression "uVar40 = uVar41 | 0x4110000" identifier = (binary_expression "uVar41 | 0x4110000" identifier | number_literal)) ;) })) })) }) if (parenthesized_expression "(calculate_only == '\0')" ( (binary_expression "calculate_only == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(uint *)view = uVar40;\n        SVar26 = STATUS_OKAY;\n      }" { (expression_statement "*(uint *)view = uVar40;" (assignment_expression "*(uint *)view = uVar40" (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "SVar26 = STATUS_OKAY;" (assignment_expression "SVar26 = STATUS_OKAY" identifier = identifier) ;) }) else (compound_statement "{\n        this->calculated_value_ = uVar40;\n        SVar26 = STATUS_OKAY;\n      }" { (expression_statement "this->calculated_value_ = uVar40;" (assignment_expression "this->calculated_value_ = uVar40" (field_expression "this->calculated_value_" identifier -> field_identifier) = identifier) ;) (expression_statement "SVar26 = STATUS_OKAY;" (assignment_expression "SVar26 = STATUS_OKAY" identifier = identifier) ;) }) break ; case) ( (ERROR "Mips_relobj<32,_false> *)0x27:\n    case" (comma_expression "Mips_relobj<32,_false> *)0x27" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x27" identifier > (pointer_expression "*)0x27" * (ERROR ")" )) number_literal))) : case) ( (ERROR "Mips_relobj<32,_false> *)0x29:\n      goto switchD_002c14fa_caseD_27;\n    case" (comma_expression "Mips_relobj<32,_false> *)0x29" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x29" identifier > (pointer_expression "*)0x29" * (ERROR ")" )) number_literal))) : goto identifier ; case) ( (ERROR "Mips_relobj<32,_false> *)0x2a:\n    case" (comma_expression "Mips_relobj<32,_false> *)0x2a" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x2a" identifier > (pointer_expression "*)0x2a" * (ERROR ")" )) number_literal))) : case) ( (ERROR "Mips_relobj<32,_false> *)0x6a:\n    case" (comma_expression "Mips_relobj<32,_false> *)0x6a" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x6a" identifier > (pointer_expression "*)0x6a" * (ERROR ")" )) number_literal))) : case) ( (ERROR "Mips_relobj<32,_false> *)0xa2:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_2a:" (comma_expression "Mips_relobj<32,_false> *)0xa2" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0xa2" identifier > (pointer_expression "*)0xa2" * (ERROR ")" )) number_literal))) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier :) identifier = ( (ERROR "Mips_relobj<32,_false> *)target->got_;\n      if" (comma_expression "Mips_relobj<32,_false> *)target->got_" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)target->got_" identifier > (pointer_expression "*)target->got_" * (ERROR ")" )) (field_expression "target->got_" identifier -> field_identifier)))) ; if) ( (ERROR "gsym == (Sized_symbol<32> *)0x0) {\n        if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {\n          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);\n          goto LAB_002c467a;\n        }\n        puVar44 = (uint *)(long)(int)local_cc;\n        local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,2);\n      }\n      else {\n        if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {\n          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);\nLAB_002c475c:\n          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n          pMVar49 = extraout_RDX_02;\n          goto LAB_002c4761;\n        }\n        puVar44 = (uint *)this_00;\n        local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,2,\n                              this_00);\n      }" (binary_expression "gsym == (Sized_symbol<32> *)0x0)" identifier == (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) (compound_statement "{\n        if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {\n          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);\n          goto LAB_002c467a;\n        }\n        puVar44 = (uint *)(long)(int)local_cc;\n        local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,2);\n      }" { (if_statement "if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {\n          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);\n          goto LAB_002c467a;\n        }" if (parenthesized_expression "(pMVar60 == (Mips_relobj<32,_false> *)0x0)" ( (binary_expression "pMVar60 == (Mips_relobj<32,_false> *)0x0)" identifier == (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);\n          goto LAB_002c467a;\n        }" { (expression_statement "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);" (comma_expression "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0)" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false>::got_section((Target_mips<32,_false> *)0x0)" identifier > (ERROR "::" : :) (call_expression "got_section((Target_mips<32,_false> *)0x0)" identifier (argument_list "((Target_mips<32,_false> *)0x0)" ( (parenthesized_expression "(Target_mips<32,_false> *)0x0)" ( (comma_expression "Target_mips<32,_false> *)0x0" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) )) ))))) ;) (goto_statement "goto LAB_002c467a;" goto statement_identifier ;) })) (expression_statement "puVar44 = (uint *)(long)(int)local_cc;" (assignment_expression "puVar44 = (uint *)(long)(int)local_cc" identifier = (cast_expression "(uint *)(long)(int)local_cc" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(long)(int)local_cc" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,2);" (assignment_expression "local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,2)" identifier = (call_expression "(*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,2)" (parenthesized_expression "(*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])" ( (comma_expression "*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c]" (binary_expression "*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" (pointer_expression "*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj" * (field_expression "(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj" (parenthesized_expression "(this_00->super_Sized_relobj_file<32,_false>)" ( (comma_expression "this_00->super_Sized_relobj_file<32,_false" (binary_expression "this_00->super_Sized_relobj_file<32" (field_expression "this_00->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier)) < number_literal) , (subscript_expression "_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c]" (field_expression "_false>.\n                     super_Relobj.super_Object._vptr_Object" (field_expression "_false>.\n                     super_Relobj.super_Object" (field_expression "_false>.\n                     super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "(this_00,(ulong)_Var51,2)" ( identifier , (cast_expression "(ulong)_Var51" ( (type_descriptor "ulong" type_identifier) ) identifier) , number_literal )))) ;) }) else (compound_statement "{\n        if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {\n          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);\nLAB_002c475c:\n          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n          pMVar49 = extraout_RDX_02;\n          goto LAB_002c4761;\n        }\n        puVar44 = (uint *)this_00;\n        local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,2,\n                              this_00);\n      }" { (if_statement "if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {\n          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);\nLAB_002c475c:\n          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n          pMVar49 = extraout_RDX_02;\n          goto LAB_002c4761;\n        }" if (parenthesized_expression "(pMVar60 == (Mips_relobj<32,_false> *)0x0)" ( (binary_expression "pMVar60 == (Mips_relobj<32,_false> *)0x0)" identifier == (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);\nLAB_002c475c:\n          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);\n          pMVar49 = extraout_RDX_02;\n          goto LAB_002c4761;\n        }" { (expression_statement "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);" (comma_expression "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0)" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false>::got_section((Target_mips<32,_false> *)0x0)" identifier > (ERROR "::" : :) (call_expression "got_section((Target_mips<32,_false> *)0x0)" identifier (argument_list "((Target_mips<32,_false> *)0x0)" ( (parenthesized_expression "(Target_mips<32,_false> *)0x0)" ( (comma_expression "Target_mips<32,_false> *)0x0" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) )) ))))) ;) (labeled_statement "LAB_002c475c:\n          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);" statement_identifier : (expression_statement "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);" (comma_expression "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60)" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false>::got_section((Target_mips<32,_false> *)pMVar60)" identifier > (ERROR "::" : :) (call_expression "got_section((Target_mips<32,_false> *)pMVar60)" identifier (argument_list "((Target_mips<32,_false> *)pMVar60)" ( (parenthesized_expression "(Target_mips<32,_false> *)pMVar60)" ( (comma_expression "Target_mips<32,_false> *)pMVar60" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier))) )) ))))) ;)) (expression_statement "pMVar49 = extraout_RDX_02;" (assignment_expression "pMVar49 = extraout_RDX_02" identifier = identifier) ;) (goto_statement "goto LAB_002c4761;" goto statement_identifier ;) })) (expression_statement "puVar44 = (uint *)this_00;" (assignment_expression "puVar44 = (uint *)this_00" identifier = (cast_expression "(uint *)this_00" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,2,\n                              this_00);" (comma_expression "local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,2,\n                              this_00)" (assignment_expression "local_e4 = Mips_output_data_got<32" identifier = (binary_expression "Mips_output_data_got<32" identifier < number_literal)) , (binary_expression "_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,2,\n                              this_00)" identifier > (ERROR "::" : :) (call_expression "got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,2,\n                              this_00)" identifier (argument_list "((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,2,\n                              this_00)" ( (parenthesized_expression "(Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,2,\n                              this_00)" ( (comma_expression "Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,2,\n                              this_00" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (comma_expression "_false> *)pMVar60,&gsym->super_Symbol,2,\n                              this_00" (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier)) , (comma_expression "&gsym->super_Symbol,2,\n                              this_00" (pointer_expression "&gsym->super_Symbol" & (field_expression "gsym->super_Symbol" identifier -> field_identifier)) , (comma_expression "2,\n                              this_00" number_literal , identifier)))) )) ))))) ;) })) identifier = ( (ERROR "Mips_relobj<32,_false> *)target->got_;" (comma_expression "Mips_relobj<32,_false> *)target->got_" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)target->got_" identifier > (pointer_expression "*)target->got_" * (ERROR ")" )) (field_expression "target->got_" identifier -> field_identifier)))) ;) (assignment_expression "pp_Var43 = (_List_node_base **)puVar44" identifier = (cast_expression "(_List_node_base **)puVar44" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) (ERROR ";\n      if" ; if) ( (ERROR "pMVar60 != (Mips_relobj<32,_false> *)0x0) {\nLAB_002c2030:\n        pp_Var56 = (_List_node_base **)(ulong)local_e4;\n        uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                           ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n        goto LAB_002c211b;\n      }" (binary_expression "pMVar60 != (Mips_relobj<32,_false> *)0x0)" identifier != (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) (compound_statement "{\nLAB_002c2030:\n        pp_Var56 = (_List_node_base **)(ulong)local_e4;\n        uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                           ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);\n        goto LAB_002c211b;\n      }" { (labeled_statement "LAB_002c2030:\n        pp_Var56 = (_List_node_base **)(ulong)local_e4;" statement_identifier : (expression_statement "pp_Var56 = (_List_node_base **)(ulong)local_e4;" (assignment_expression "pp_Var56 = (_List_node_base **)(ulong)local_e4" identifier = (cast_expression "(_List_node_base **)(ulong)local_e4" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)local_e4" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;)) (expression_statement "uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                           ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);" (comma_expression "uVar39 = Mips_output_data_got<32,_false>::gp_offset\n                           ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" (assignment_expression "uVar39 = Mips_output_data_got<32" identifier = (binary_expression "Mips_output_data_got<32" identifier < number_literal)) , (binary_expression "_false>::gp_offset\n                           ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" identifier > (ERROR "::" : :) (call_expression "gp_offset\n                           ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" identifier (argument_list "((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" ( (parenthesized_expression "(Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00)" ( (comma_expression "Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (comma_expression "_false> *)pMVar60,local_e4,this_00" (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier)) , (comma_expression "local_e4,this_00" identifier , identifier))) )) ))))) ;) (goto_statement "goto LAB_002c211b;" goto statement_identifier ;) })) (binary_expression "Target_mips<32" identifier < number_literal) , identifier > (ERROR "::" : :) identifier ( (ERROR "(Target_mips<32,_false> *)0x0);\nswitchD_002c14fa_caseD_27:\n      local_b8 = (_Bit_type *)0x0;\n      pp_Var43 = (_List_node_base **)puVar44;\nswitchD_002c18c9_caseD_27:\n      VVar23 = local_cc;\n      if ((char)local_b8 != '\0') {\n        VVar23 = *(Value *)view;\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::" (parenthesized_expression "(Target_mips<32,_false> *)0x0)" ( (comma_expression "Target_mips<32,_false> *)0x0" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) )) ; identifier : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (assignment_expression "pp_Var43 = (_List_node_base **)puVar44" identifier = (cast_expression "(_List_node_base **)puVar44" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ; identifier : (call_expression "VVar23 = local_cc;\n      if ((char)local_b8 != '\0')" (assignment_expression "VVar23 = local_cc" identifier = identifier) (ERROR ";\n      if" ; if) (argument_list "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) (compound_statement "{\n        VVar23 = *(Value *)view;\n      }" { (expression_statement "VVar23 = *(Value *)view;" (assignment_expression "VVar23 = *(Value *)view" identifier = (pointer_expression "*(Value *)view" * (cast_expression "(Value *)view" ( (type_descriptor "Value *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ; (assignment_expression "VVar23 = gold" identifier = identifier) : :) (binary_expression "Symbol_value<32>::value<false" (binary_expression "Symbol_value<32>::value" (binary_expression "Symbol_value<32" identifier < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n      uVar39 = VVar23 - 0x8000;\njoined_r0x002c21d2:\n      if ((bool)calculate_only == false) {\nLAB_002c1fd0:\n        pRVar52 = (Relocate *)view;\nLAB_002c1fd4:\n        pRVar52->calculated_value_ = uVar39;\nLAB_002c1fd6:\n        SVar26 = STATUS_OKAY;\n      }\n      else {\nLAB_002c1f30:\n        SVar26 = STATUS_OKAY;\n        this->calculated_value_ = uVar39;\n      }\n      break;\n    case" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,VVar23)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,VVar23" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,VVar23" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; (assignment_expression "uVar39 = VVar23 - 0x8000" identifier = (binary_expression "VVar23 - 0x8000" identifier - number_literal)) ; (call_expression "joined_r0x002c21d2:\n      if ((bool)calculate_only == false)" identifier (ERROR ":\n      if" : if) (argument_list "((bool)calculate_only == false)" ( (binary_expression "(bool)calculate_only == false" (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier) == false) ))) (compound_statement "{\nLAB_002c1fd0:\n        pRVar52 = (Relocate *)view;\nLAB_002c1fd4:\n        pRVar52->calculated_value_ = uVar39;\nLAB_002c1fd6:\n        SVar26 = STATUS_OKAY;\n      }" { (labeled_statement "LAB_002c1fd0:\n        pRVar52 = (Relocate *)view;" statement_identifier : (expression_statement "pRVar52 = (Relocate *)view;" (assignment_expression "pRVar52 = (Relocate *)view" identifier = (cast_expression "(Relocate *)view" ( (type_descriptor "Relocate *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (labeled_statement "LAB_002c1fd4:\n        pRVar52->calculated_value_ = uVar39;" statement_identifier : (expression_statement "pRVar52->calculated_value_ = uVar39;" (assignment_expression "pRVar52->calculated_value_ = uVar39" (field_expression "pRVar52->calculated_value_" identifier -> field_identifier) = identifier) ;)) (labeled_statement "LAB_002c1fd6:\n        SVar26 = STATUS_OKAY;" statement_identifier : (expression_statement "SVar26 = STATUS_OKAY;" (assignment_expression "SVar26 = STATUS_OKAY" identifier = identifier) ;)) }) else (compound_statement "{\nLAB_002c1f30:\n        SVar26 = STATUS_OKAY;\n        this->calculated_value_ = uVar39;\n      }" { (labeled_statement "LAB_002c1f30:\n        SVar26 = STATUS_OKAY;" statement_identifier : (expression_statement "SVar26 = STATUS_OKAY;" (assignment_expression "SVar26 = STATUS_OKAY" identifier = identifier) ;)) (expression_statement "this->calculated_value_ = uVar39;" (assignment_expression "this->calculated_value_ = uVar39" (field_expression "this->calculated_value_" identifier -> field_identifier) = identifier) ;) }) break ; case) ( (ERROR "Mips_relobj<32,_false> *)0x2b:\n    case" (comma_expression "Mips_relobj<32,_false> *)0x2b" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x2b" identifier > (pointer_expression "*)0x2b" * (ERROR ")" )) number_literal))) : case) ( (ERROR "Mips_relobj<32,_false> *)0x6b:\n    case" (comma_expression "Mips_relobj<32,_false> *)0x6b" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x6b" identifier > (pointer_expression "*)0x6b" * (ERROR ")" )) number_literal))) : case) ( (ERROR "Mips_relobj<32,_false> *)0xa3:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_2b:" (comma_expression "Mips_relobj<32,_false> *)0xa3" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0xa3" identifier > (pointer_expression "*)0xa3" * (ERROR ")" )) number_literal))) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier :) identifier = ( (ERROR "Mips_got_info<32,_false> *)target->got_;\n      if" (comma_expression "Mips_got_info<32,_false> *)target->got_" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)target->got_" identifier > (pointer_expression "*)target->got_" * (ERROR ")" )) (field_expression "target->got_" identifier -> field_identifier)))) ; if) ( (ERROR "pMVar58 == (Mips_got_info<32,_false> *)0x0) {\nLAB_002c463a:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar58);\n        pMVar49 = extraout_RDX_01;\nLAB_002c463f:\n        Mips_output_data_got<32,_false>::get_got_page_offset\n                  ((Mips_output_data_got<32,_false> *)pMVar58,(Mips_address)local_98,pMVar49);\n        goto LAB_002c4644;\n      }\n      if" (binary_expression "pMVar58 == (Mips_got_info<32,_false> *)0x0)" identifier == (parenthesized_expression "(Mips_got_info<32,_false> *)0x0)" ( (comma_expression "Mips_got_info<32,_false> *)0x0" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) (compound_statement "{\nLAB_002c463a:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar58);\n        pMVar49 = extraout_RDX_01;\nLAB_002c463f:\n        Mips_output_data_got<32,_false>::get_got_page_offset\n                  ((Mips_output_data_got<32,_false> *)pMVar58,(Mips_address)local_98,pMVar49);\n        goto LAB_002c4644;\n      }" { (labeled_statement "LAB_002c463a:\n        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar58);" statement_identifier : (expression_statement "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar58);" (comma_expression "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar58)" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false>::got_section((Target_mips<32,_false> *)pMVar58)" identifier > (ERROR "::" : :) (call_expression "got_section((Target_mips<32,_false> *)pMVar58)" identifier (argument_list "((Target_mips<32,_false> *)pMVar58)" ( (parenthesized_expression "(Target_mips<32,_false> *)pMVar58)" ( (comma_expression "Target_mips<32,_false> *)pMVar58" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)pMVar58" identifier > (pointer_expression "*)pMVar58" * (ERROR ")" )) identifier))) )) ))))) ;)) (expression_statement "pMVar49 = extraout_RDX_01;" (assignment_expression "pMVar49 = extraout_RDX_01" identifier = identifier) ;) (labeled_statement "LAB_002c463f:\n        Mips_output_data_got<32,_false>::get_got_page_offset\n                  ((Mips_output_data_got<32,_false> *)pMVar58,(Mips_address)local_98,pMVar49);" statement_identifier : (expression_statement "Mips_output_data_got<32,_false>::get_got_page_offset\n                  ((Mips_output_data_got<32,_false> *)pMVar58,(Mips_address)local_98,pMVar49);" (comma_expression "Mips_output_data_got<32,_false>::get_got_page_offset\n                  ((Mips_output_data_got<32,_false> *)pMVar58,(Mips_address)local_98,pMVar49)" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (binary_expression "_false>::get_got_page_offset\n                  ((Mips_output_data_got<32,_false> *)pMVar58,(Mips_address)local_98,pMVar49)" identifier > (ERROR "::" : :) (call_expression "get_got_page_offset\n                  ((Mips_output_data_got<32,_false> *)pMVar58,(Mips_address)local_98,pMVar49)" identifier (argument_list "((Mips_output_data_got<32,_false> *)pMVar58,(Mips_address)local_98,pMVar49)" ( (parenthesized_expression "(Mips_output_data_got<32,_false> *)pMVar58,(Mips_address)local_98,pMVar49)" ( (comma_expression "Mips_output_data_got<32,_false> *)pMVar58,(Mips_address)local_98,pMVar49" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (comma_expression "_false> *)pMVar58,(Mips_address)local_98,pMVar49" (binary_expression "_false> *)pMVar58" identifier > (pointer_expression "*)pMVar58" * (ERROR ")" )) identifier)) , (comma_expression "(Mips_address)local_98,pMVar49" (cast_expression "(Mips_address)local_98" ( (type_descriptor "Mips_address" type_identifier) ) identifier) , identifier))) )) ))))) ;)) (goto_statement "goto LAB_002c4644;" goto statement_identifier ;) }) if) ( (ERROR "(Mips_got_info<32,_false> *)(pMVar58->got_page_offsets_)._M_h._M_bucket_count ==\n          (Mips_got_info<32,_false> *)0x0) {\n        pMVar29 = (Mips_got_info<32,_false> *)(pMVar58->got_page_offsets_)._M_h._M_buckets;\n      }\n      else {\n        pMVar29 = this_00->got_info_;\n      }\n      if" (binary_expression "(Mips_got_info<32,_false> *)(pMVar58->got_page_offsets_)._M_h._M_bucket_count ==\n          (Mips_got_info<32,_false> *)0x0) {\n        pMVar29 = (Mips_got_info<32,_false> *)(pMVar58->got_page_offsets_)._M_h._M_buckets" (field_expression "(Mips_got_info<32,_false> *)(pMVar58->got_page_offsets_)._M_h._M_bucket_count" (field_expression "(Mips_got_info<32,_false> *)(pMVar58->got_page_offsets_)._M_h" (call_expression "(Mips_got_info<32,_false> *)(pMVar58->got_page_offsets_)" (parenthesized_expression "(Mips_got_info<32,_false> *)" ( (comma_expression "Mips_got_info<32,_false> *" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(pMVar58->got_page_offsets_)" ( (field_expression "pMVar58->got_page_offsets_" identifier -> field_identifier) ))) . field_identifier) . field_identifier) == (ERROR "(Mips_got_info<32,_false> *)0x0) {" (parenthesized_expression "(Mips_got_info<32,_false> *)0x0)" ( (comma_expression "Mips_got_info<32,_false> *)0x0" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) )) {) (assignment_expression "pMVar29 = (Mips_got_info<32,_false> *)(pMVar58->got_page_offsets_)._M_h._M_buckets" identifier = (field_expression "(Mips_got_info<32,_false> *)(pMVar58->got_page_offsets_)._M_h._M_buckets" (field_expression "(Mips_got_info<32,_false> *)(pMVar58->got_page_offsets_)._M_h" (call_expression "(Mips_got_info<32,_false> *)(pMVar58->got_page_offsets_)" (parenthesized_expression "(Mips_got_info<32,_false> *)" ( (comma_expression "Mips_got_info<32,_false> *" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "(pMVar58->got_page_offsets_)" ( (field_expression "pMVar58->got_page_offsets_" identifier -> field_identifier) ))) . field_identifier) . field_identifier))) ; } else (compound_statement "{\n        pMVar29 = this_00->got_info_;\n      }" { (expression_statement "pMVar29 = this_00->got_info_;" (assignment_expression "pMVar29 = this_00->got_info_" identifier = (field_expression "this_00->got_info_" identifier -> field_identifier)) ;) }) if) ( (ERROR "pMVar29 == (Mips_got_info<32,_false> *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }\n      local_e4 = pMVar29->tls_ldm_offset_;\n      pp_Var56 = (_List_node_base **)(ulong)local_e4;" (binary_expression "pMVar29 == (Mips_got_info<32,_false> *)0x0)" identifier == (parenthesized_expression "(Mips_got_info<32,_false> *)0x0)" ( (comma_expression "Mips_got_info<32,_false> *)0x0" (binary_expression "Mips_got_info<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/mips.cc",0x86a,"tls_ldm_offset");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/mips.cc",0x86a,"tls_ldm_offset");" (call_expression "do_gold_unreachable("../../gold/mips.cc",0x86a,"tls_ldm_offset")" identifier (argument_list "("../../gold/mips.cc",0x86a,"tls_ldm_offset")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""tls_ldm_offset"" " string_content ") ))) ;)) }) (assignment_expression "local_e4 = pMVar29->tls_ldm_offset_" identifier = (field_expression "pMVar29->tls_ldm_offset_" identifier -> field_identifier)) ; (assignment_expression "pp_Var56 = (_List_node_base **)(ulong)local_e4" identifier = (cast_expression "(_List_node_base **)(ulong)local_e4" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)local_e4" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (assignment_expression "uVar39 = Mips_output_data_got<32" identifier = (binary_expression "Mips_output_data_got<32" identifier < number_literal)) , identifier > (ERROR "::" : :) identifier ( (ERROR "(Mips_output_data_got<32,_false> *)pMVar58,local_e4,this_00);\nLAB_002c211b:\n      if (this->calculate_only_ != false) goto LAB_002c1fd4;\n      uVar40 = *(uint *)view;\n      pp_Var56 = (_List_node_base **)(ulong)uVar40;\n      pp_Var43 = (_List_node_base **)(ulong)(uVar40 ^ uVar39);\n      uVar40 = (uVar40 ^ uVar39) & 0xffff ^ uVar40;\nLAB_002c2590:\n      *(uint *)view = uVar40;" (assignment_expression "(Mips_output_data_got<32,_false> *)pMVar58,local_e4,this_00);\nLAB_002c211b:\n      if (this->calculate_only_ != false) goto LAB_002c1fd4;\n      uVar40 = *(uint *)view" (call_expression "(Mips_output_data_got<32,_false> *)pMVar58,local_e4,this_00);\nLAB_002c211b:\n      if (this->calculate_only_ != false)" (parenthesized_expression "(Mips_output_data_got<32,_false> *)pMVar58,local_e4,this_00)" ( (comma_expression "Mips_output_data_got<32,_false> *)pMVar58,local_e4,this_00" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (comma_expression "_false> *)pMVar58,local_e4,this_00" (binary_expression "_false> *)pMVar58" identifier > (pointer_expression "*)pMVar58" * (ERROR ")" )) identifier)) , (comma_expression "local_e4,this_00" identifier , identifier))) )) (ERROR ";\nLAB_002c211b:\n      if" ; identifier : if) (argument_list "(this->calculate_only_ != false)" ( (binary_expression "this->calculate_only_ != false" (field_expression "this->calculate_only_" identifier -> field_identifier) != false) ))) (ERROR "goto LAB_002c1fd4;\n      uVar40" identifier identifier ; identifier) = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ; (assignment_expression "pp_Var56 = (_List_node_base **)(ulong)uVar40" identifier = (cast_expression "(_List_node_base **)(ulong)uVar40" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)uVar40" ( (type_descriptor "ulong" type_identifier) ) identifier))) ; (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)(uVar40 ^ uVar39)" identifier = (cast_expression "(_List_node_base **)(ulong)(uVar40 ^ uVar39)" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(ulong)(uVar40 ^ uVar39)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar40 ^ uVar39)" ( (binary_expression "uVar40 ^ uVar39" identifier ^ identifier) ))))) ; (assignment_expression "uVar40 = (uVar40 ^ uVar39) & 0xffff ^ uVar40" identifier = (binary_expression "(uVar40 ^ uVar39) & 0xffff ^ uVar40" (binary_expression "(uVar40 ^ uVar39) & 0xffff" (parenthesized_expression "(uVar40 ^ uVar39)" ( (binary_expression "uVar40 ^ uVar39" identifier ^ identifier) )) & number_literal) ^ identifier)) ; (binary_expression "LAB_002c2590:\n      *(uint *)view = uVar40" identifier (ERROR ":" :) * (cast_expression "(uint *)view = uVar40" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "view = uVar40" identifier = identifier))) ;) (assignment_expression "SVar26 = (Status)(0xffff < uVar39 + 0x8000)" identifier = (call_expression "(Status)(0xffff < uVar39 + 0x8000)" (parenthesized_expression "(Status)" ( identifier )) (argument_list "(0xffff < uVar39 + 0x8000)" ( (binary_expression "0xffff < uVar39 + 0x8000" number_literal < (binary_expression "uVar39 + 0x8000" identifier + number_literal)) )))) (ERROR ";\n      break;\n    case" ; break ; case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x2c" identifier > (pointer_expression "*)0x2c" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x6c:\n    case (Mips_relobj<32,_false> *)0xa4:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_2c:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar39 = local_cc;\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      uVar39 = gold::Symbol_value<32>::value<false" (binary_expression "_false> *)0x6c:\n    case (Mips_relobj<32,_false> *)0xa4:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_2c:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar39 = local_cc;\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      uVar39 = gold::Symbol_value<32>::value" (binary_expression "_false> *)0x6c:\n    case (Mips_relobj<32,_false> *)0xa4:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_2c:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar39 = local_cc;\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      uVar39 = gold::Symbol_value<32" (assignment_expression "_false> *)0x6c:\n    case (Mips_relobj<32,_false> *)0xa4:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_2c:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar39 = local_cc;\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      uVar39 = gold" (call_expression "_false> *)0x6c:\n    case (Mips_relobj<32,_false> *)0xa4:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_2c:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar39 = local_cc;\n      }\n      pp_Var56 = (_List_node_base **)" (binary_expression "_false> *)0x6c" identifier > (pointer_expression "*)0x6c" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) (argument_list "(Mips_relobj<32,_false> *)0xa4:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_2c:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar39 = local_cc;\n      }\n      pp_Var56 = (_List_node_base **)" ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (ERROR "_false> *)0xa4:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_2c:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0')" (binary_expression "_false> *)0xa4" identifier > (pointer_expression "*)0xa4" * (ERROR ")" )) number_literal)) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier : (assignment_expression "uVar40 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ; (call_expression "uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0')" (assignment_expression "uVar39 = uVar40 & 0xffff" identifier = (binary_expression "uVar40 & 0xffff" identifier & number_literal)) (ERROR ";\n      if" ; if) (argument_list "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )))) (compound_statement "{\n        uVar39 = local_cc;\n      }" { (expression_statement "uVar39 = local_cc;" (assignment_expression "uVar39 = local_cc" identifier = identifier) ;) }) (ERROR "pp_Var56 = (_List_node_base **" identifier = ( identifier * *) ))) (ERROR "this_00;\n      uVar39" identifier ; identifier) = identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,uVar39);\n      goto LAB_002c1f79;\n    case" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,uVar39)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,uVar39)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,uVar39" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,uVar39" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; goto identifier ; case) ( (ERROR "Mips_relobj<32,_false> *)0x2d:\n    case" (comma_expression "Mips_relobj<32,_false> *)0x2d" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x2d" identifier > (pointer_expression "*)0x2d" * (ERROR ")" )) number_literal))) : case) ( (ERROR "Mips_relobj<32,_false> *)0x6d:\n    case" (comma_expression "Mips_relobj<32,_false> *)0x6d" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x6d" identifier > (pointer_expression "*)0x6d" * (ERROR ")" )) number_literal))) : case) ( (ERROR "Mips_relobj<32,_false> *)0xa5:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_2d:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar39 = local_cc;\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::" (comma_expression "Mips_relobj<32,_false> *)0xa5" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0xa5" identifier > (pointer_expression "*)0xa5" * (ERROR ")" )) number_literal))) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier : (assignment_expression "uVar40 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ; (call_expression "uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0')" (assignment_expression "uVar39 = uVar40 & 0xffff" identifier = (binary_expression "uVar40 & 0xffff" identifier & number_literal)) (ERROR ";\n      if" ; if) (argument_list "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) (compound_statement "{\n        uVar39 = local_cc;\n      }" { (expression_statement "uVar39 = local_cc;" (assignment_expression "uVar39 = local_cc" identifier = identifier) ;) }) (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ; (assignment_expression "VVar23 = gold" identifier = identifier) : :) (binary_expression "Symbol_value<32>::value<false" (binary_expression "Symbol_value<32>::value" (binary_expression "Symbol_value<32" identifier < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,uVar39);\n      uVar39 = VVar23 - 0x8000;\n      goto" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,uVar39)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,uVar39)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,uVar39" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,uVar39" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; (assignment_expression "uVar39 = VVar23 - 0x8000" identifier = (binary_expression "VVar23 - 0x8000" identifier - number_literal)) ; goto) identifier (ERROR ";\n    case" ; case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x2e" identifier > (pointer_expression "*)0x2e" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x6e" identifier > (pointer_expression "*)0x6e" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (ERROR "_false> *)0xa6:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_2e:" (binary_expression "_false> *)0xa6" identifier > (pointer_expression "*)0xa6" * (ERROR ")" )) number_literal)) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier :) identifier = ( (ERROR "Mips_relobj<32,_false> *)target->got_;\n      if" (comma_expression "Mips_relobj<32,_false> *)target->got_" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)target->got_" identifier > (pointer_expression "*)target->got_" * (ERROR ")" )) (field_expression "target->got_" identifier -> field_identifier)))) ; if) ( (ERROR "gsym == (Sized_symbol<32> *)0x0) {\n        if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {\n          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);\n          target = (Target_mips<32,_false> *)local_98;\n          goto LAB_002c4670;\n        }\n        pp_Var43 = (_List_node_base **)(long)(int)local_cc;\n        lo16_reloc = _Var51;\n        local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,1);\n      }\n      else {\n        if (pMVar60 == (Mips_relobj<32,_false> *)0x0) goto LAB_002c47a6;\n        pp_Var43 = (_List_node_base **)this_00;\n        pSVar33 = gsym;\n        local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,1,\n                              this_00);\n        lo16_reloc = (_Rb_tree_color)pSVar33;\n      }" (binary_expression "gsym == (Sized_symbol<32> *)0x0)" identifier == (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) (compound_statement "{\n        if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {\n          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);\n          target = (Target_mips<32,_false> *)local_98;\n          goto LAB_002c4670;\n        }\n        pp_Var43 = (_List_node_base **)(long)(int)local_cc;\n        lo16_reloc = _Var51;\n        local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,1);\n      }" { (if_statement "if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {\n          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);\n          target = (Target_mips<32,_false> *)local_98;\n          goto LAB_002c4670;\n        }" if (parenthesized_expression "(pMVar60 == (Mips_relobj<32,_false> *)0x0)" ( (binary_expression "pMVar60 == (Mips_relobj<32,_false> *)0x0)" identifier == (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);\n          target = (Target_mips<32,_false> *)local_98;\n          goto LAB_002c4670;\n        }" { (expression_statement "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);" (comma_expression "Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0)" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false>::got_section((Target_mips<32,_false> *)0x0)" identifier > (ERROR "::" : :) (call_expression "got_section((Target_mips<32,_false> *)0x0)" identifier (argument_list "((Target_mips<32,_false> *)0x0)" ( (parenthesized_expression "(Target_mips<32,_false> *)0x0)" ( (comma_expression "Target_mips<32,_false> *)0x0" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) )) ))))) ;) (expression_statement "target = (Target_mips<32,_false> *)local_98;" (assignment_expression "target = (Target_mips<32,_false> *)local_98" identifier = (parenthesized_expression "(Target_mips<32,_false> *)local_98" ( (comma_expression "Target_mips<32,_false> *)local_98" (binary_expression "Target_mips<32" identifier < number_literal) , (binary_expression "_false> *)local_98" identifier > (pointer_expression "*)local_98" * (ERROR ")" )) identifier))) ))) ;) (goto_statement "goto LAB_002c4670;" goto statement_identifier ;) })) (expression_statement "pp_Var43 = (_List_node_base **)(long)(int)local_cc;" (assignment_expression "pp_Var43 = (_List_node_base **)(long)(int)local_cc" identifier = (cast_expression "(_List_node_base **)(long)(int)local_cc" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(long)(int)local_cc" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "lo16_reloc = _Var51;" (assignment_expression "lo16_reloc = _Var51" identifier = identifier) ;) (expression_statement "local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,1);" (assignment_expression "local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,1)" identifier = (call_expression "(*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,1)" (parenthesized_expression "(*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c])" ( (comma_expression "*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c]" (binary_expression "*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" (pointer_expression "*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj" * (field_expression "(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj" (parenthesized_expression "(this_00->super_Sized_relobj_file<32,_false>)" ( (comma_expression "this_00->super_Sized_relobj_file<32,_false" (binary_expression "this_00->super_Sized_relobj_file<32" (field_expression "this_00->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier)) < number_literal) , (subscript_expression "_false>.\n                     super_Relobj.super_Object._vptr_Object[0x2c]" (field_expression "_false>.\n                     super_Relobj.super_Object._vptr_Object" (field_expression "_false>.\n                     super_Relobj.super_Object" (field_expression "_false>.\n                     super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "(this_00,(ulong)_Var51,1)" ( identifier , (cast_expression "(ulong)_Var51" ( (type_descriptor "ulong" type_identifier) ) identifier) , number_literal )))) ;) }) else (compound_statement "{\n        if (pMVar60 == (Mips_relobj<32,_false> *)0x0) goto LAB_002c47a6;\n        pp_Var43 = (_List_node_base **)this_00;\n        pSVar33 = gsym;\n        local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,1,\n                              this_00);\n        lo16_reloc = (_Rb_tree_color)pSVar33;\n      }" { (if_statement "if (pMVar60 == (Mips_relobj<32,_false> *)0x0) goto LAB_002c47a6;" if (parenthesized_expression "(pMVar60 == (Mips_relobj<32,_false> *)0x0)" ( (binary_expression "pMVar60 == (Mips_relobj<32,_false> *)0x0)" identifier == (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) ))) )) (goto_statement "goto LAB_002c47a6;" goto statement_identifier ;)) (expression_statement "pp_Var43 = (_List_node_base **)this_00;" (assignment_expression "pp_Var43 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "pSVar33 = gsym;" (assignment_expression "pSVar33 = gsym" identifier = identifier) ;) (expression_statement "local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,1,\n                              this_00);" (comma_expression "local_e4 = Mips_output_data_got<32,_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,1,\n                              this_00)" (assignment_expression "local_e4 = Mips_output_data_got<32" identifier = (binary_expression "Mips_output_data_got<32" identifier < number_literal)) , (binary_expression "_false>::got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,1,\n                              this_00)" identifier > (ERROR "::" : :) (call_expression "got_offset\n                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,1,\n                              this_00)" identifier (argument_list "((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,1,\n                              this_00)" ( (parenthesized_expression "(Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,1,\n                              this_00)" ( (comma_expression "Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,1,\n                              this_00" (binary_expression "Mips_output_data_got<32" identifier < number_literal) , (comma_expression "_false> *)pMVar60,&gsym->super_Symbol,1,\n                              this_00" (binary_expression "_false> *)pMVar60" identifier > (pointer_expression "*)pMVar60" * (ERROR ")" )) identifier)) , (comma_expression "&gsym->super_Symbol,1,\n                              this_00" (pointer_expression "&gsym->super_Symbol" & (field_expression "gsym->super_Symbol" identifier -> field_identifier)) , (comma_expression "1,\n                              this_00" number_literal , identifier)))) )) ))))) ;) (expression_statement "lo16_reloc = (_Rb_tree_color)pSVar33;" (assignment_expression "lo16_reloc = (_Rb_tree_color)pSVar33" identifier = (cast_expression "(_Rb_tree_color)pSVar33" ( (type_descriptor "_Rb_tree_color" type_identifier) ) identifier)) ;) })) identifier = ( (ERROR "Mips_relobj<32,_false> *)target->got_;\n      if" (comma_expression "Mips_relobj<32,_false> *)target->got_" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)target->got_" identifier > (pointer_expression "*)target->got_" * (ERROR ")" )) (field_expression "target->got_" identifier -> field_identifier)))) ; if) ( identifier != (parenthesized_expression "(Mips_relobj<32,_false> *)0x0)" ( (comma_expression "Mips_relobj<32,_false> *)0x0" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x0" identifier > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal))) )) (ERROR "goto LAB_002c2030;\n      goto LAB_002c47a1;\n    case" identifier identifier ; goto identifier ; case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x2f" identifier > (pointer_expression "*)0x2f" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) ( (ERROR "Mips_relobj<32,_false> *)0x30:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_2f:\n      VVar23 = local_cc;\n      if ((char)local_b8 != '\0') {\n        VVar23 = *(Value *)view;\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::" (binary_expression "Mips_relobj<32" identifier < number_literal) , (ERROR "_false> *)0x30:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_2f:\n      VVar23 = local_cc;\n      if ((char)local_b8 != '\0')" (binary_expression "_false> *)0x30" identifier > (pointer_expression "*)0x30" * (ERROR ")" )) number_literal)) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier : (call_expression "VVar23 = local_cc;\n      if ((char)local_b8 != '\0')" (assignment_expression "VVar23 = local_cc" identifier = identifier) (ERROR ";\n      if" ; if) (argument_list "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )))) (compound_statement "{\n        VVar23 = *(Value *)view;\n      }" { (expression_statement "VVar23 = *(Value *)view;" (assignment_expression "VVar23 = *(Value *)view" identifier = (pointer_expression "*(Value *)view" * (cast_expression "(Value *)view" ( (type_descriptor "Value *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ; (assignment_expression "VVar23 = gold" identifier = identifier) : :) (binary_expression "Symbol_value<32>::value<false" (binary_expression "Symbol_value<32>::value" (binary_expression "Symbol_value<32" identifier < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n      uVar39 = VVar23 - 0x7000;\n      goto" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,VVar23)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,VVar23" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,VVar23" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; (assignment_expression "uVar39 = VVar23 - 0x7000" identifier = (binary_expression "VVar23 - 0x7000" identifier - number_literal)) ; goto) identifier (ERROR ";\n    case" ; case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x31" identifier > (pointer_expression "*)0x31" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x6f:\n    case (Mips_relobj<32,_false> *)0xa9:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_31:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar39 = local_cc;\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false" (binary_expression "_false> *)0x6f:\n    case (Mips_relobj<32,_false> *)0xa9:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_31:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar39 = local_cc;\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value" (binary_expression "_false> *)0x6f:\n    case (Mips_relobj<32,_false> *)0xa9:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_31:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar39 = local_cc;\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32" (assignment_expression "_false> *)0x6f:\n    case (Mips_relobj<32,_false> *)0xa9:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_31:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar39 = local_cc;\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold" (call_expression "_false> *)0x6f:\n    case (Mips_relobj<32,_false> *)0xa9:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_31:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar39 = local_cc;\n      }\n      pp_Var56 = (_List_node_base **)" (binary_expression "_false> *)0x6f" identifier > (pointer_expression "*)0x6f" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) (argument_list "(Mips_relobj<32,_false> *)0xa9:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_31:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar39 = local_cc;\n      }\n      pp_Var56 = (_List_node_base **)" ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (ERROR "_false> *)0xa9:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_31:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0')" (binary_expression "_false> *)0xa9" identifier > (pointer_expression "*)0xa9" * (ERROR ")" )) number_literal)) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier : (assignment_expression "uVar40 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ; (call_expression "uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0')" (assignment_expression "uVar39 = uVar40 & 0xffff" identifier = (binary_expression "uVar40 & 0xffff" identifier & number_literal)) (ERROR ";\n      if" ; if) (argument_list "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )))) (compound_statement "{\n        uVar39 = local_cc;\n      }" { (expression_statement "uVar39 = local_cc;" (assignment_expression "uVar39 = local_cc" identifier = identifier) ;) }) (ERROR "pp_Var56 = (_List_node_base **" identifier = ( identifier * *) ))) (ERROR "this_00;\n      VVar23" identifier ; identifier) = identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,uVar39);\n      uVar39 = VVar23 + 0x1000;\nLAB_002c1f79:\n      uVar39 = uVar39 >> 0x10;\njoined_r0x002c1f7e:\n      if ((bool)calculate_only == false) {\n        SVar26 = STATUS_OKAY;\n        *(uint *)view = uVar39 | uVar40 & 0xffff0000;\n        break;\n      }\n      goto" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,uVar39)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,uVar39)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,uVar39" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,uVar39" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; (assignment_expression "uVar39 = VVar23 + 0x1000" identifier = (binary_expression "VVar23 + 0x1000" identifier + number_literal)) ; identifier : (assignment_expression "uVar39 = uVar39 >> 0x10" identifier = (binary_expression "uVar39 >> 0x10" identifier >> number_literal)) ; (call_expression "joined_r0x002c1f7e:\n      if ((bool)calculate_only == false)" identifier (ERROR ":\n      if" : if) (argument_list "((bool)calculate_only == false)" ( (binary_expression "(bool)calculate_only == false" (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier) == false) ))) (compound_statement "{\n        SVar26 = STATUS_OKAY;\n        *(uint *)view = uVar39 | uVar40 & 0xffff0000;\n        break;\n      }" { (expression_statement "SVar26 = STATUS_OKAY;" (assignment_expression "SVar26 = STATUS_OKAY" identifier = identifier) ;) (expression_statement "*(uint *)view = uVar39 | uVar40 & 0xffff0000;" (assignment_expression "*(uint *)view = uVar39 | uVar40 & 0xffff0000" (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar39 | uVar40 & 0xffff0000" identifier | (binary_expression "uVar40 & 0xffff0000" identifier & number_literal))) ;) (break_statement "break;" break ;) }) goto) identifier (ERROR ";\n    case" ; case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x32" identifier > (pointer_expression "*)0x32" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x70:\n    case (Mips_relobj<32,_false> *)0xaa:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_32:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar39 = local_cc;\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false" (binary_expression "_false> *)0x70:\n    case (Mips_relobj<32,_false> *)0xaa:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_32:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar39 = local_cc;\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value" (binary_expression "_false> *)0x70:\n    case (Mips_relobj<32,_false> *)0xaa:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_32:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar39 = local_cc;\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32" (assignment_expression "_false> *)0x70:\n    case (Mips_relobj<32,_false> *)0xaa:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_32:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar39 = local_cc;\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold" (call_expression "_false> *)0x70:\n    case (Mips_relobj<32,_false> *)0xaa:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_32:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar39 = local_cc;\n      }\n      pp_Var56 = (_List_node_base **)" (binary_expression "_false> *)0x70" identifier > (pointer_expression "*)0x70" * (ERROR ")" )) number_literal)) (ERROR ":\n    case" : case) (argument_list "(Mips_relobj<32,_false> *)0xaa:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_32:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar39 = local_cc;\n      }\n      pp_Var56 = (_List_node_base **)" ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (ERROR "_false> *)0xaa:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_32:\n      uVar40 = *(uint *)view;\n      uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0')" (binary_expression "_false> *)0xaa" identifier > (pointer_expression "*)0xaa" * (ERROR ")" )) number_literal)) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier : (assignment_expression "uVar40 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ; (call_expression "uVar39 = uVar40 & 0xffff;\n      if ((char)local_b8 == '\0')" (assignment_expression "uVar39 = uVar40 & 0xffff" identifier = (binary_expression "uVar40 & 0xffff" identifier & number_literal)) (ERROR ";\n      if" ; if) (argument_list "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )))) (compound_statement "{\n        uVar39 = local_cc;\n      }" { (expression_statement "uVar39 = local_cc;" (assignment_expression "uVar39 = local_cc" identifier = identifier) ;) }) (ERROR "pp_Var56 = (_List_node_base **" identifier = ( identifier * *) ))) (ERROR "this_00;\n      VVar23" identifier ; identifier) = identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,uVar39);\n      uVar39 = VVar23 - 0x7000;\njoined_r0x002c1eba:\n      if ((bool)calculate_only == false) {\nLAB_002c1ebf:\n        SVar26 = STATUS_OKAY;\n        *(uint *)view = (uVar39 ^ uVar40) & 0xffff ^ uVar40;\n        break;\n      }\n      goto" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,uVar39)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,uVar39)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,uVar39" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,uVar39" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; (assignment_expression "uVar39 = VVar23 - 0x7000" identifier = (binary_expression "VVar23 - 0x7000" identifier - number_literal)) ; (call_expression "joined_r0x002c1eba:\n      if ((bool)calculate_only == false)" identifier (ERROR ":\n      if" : if) (argument_list "((bool)calculate_only == false)" ( (binary_expression "(bool)calculate_only == false" (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier) == false) ))) (compound_statement "{\nLAB_002c1ebf:\n        SVar26 = STATUS_OKAY;\n        *(uint *)view = (uVar39 ^ uVar40) & 0xffff ^ uVar40;\n        break;\n      }" { (labeled_statement "LAB_002c1ebf:\n        SVar26 = STATUS_OKAY;" statement_identifier : (expression_statement "SVar26 = STATUS_OKAY;" (assignment_expression "SVar26 = STATUS_OKAY" identifier = identifier) ;)) (expression_statement "*(uint *)view = (uVar39 ^ uVar40) & 0xffff ^ uVar40;" (assignment_expression "*(uint *)view = (uVar39 ^ uVar40) & 0xffff ^ uVar40" (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(uVar39 ^ uVar40) & 0xffff ^ uVar40" (binary_expression "(uVar39 ^ uVar40) & 0xffff" (parenthesized_expression "(uVar39 ^ uVar40)" ( (binary_expression "uVar39 ^ uVar40" identifier ^ identifier) )) & number_literal) ^ identifier)) ;) (break_statement "break;" break ;) }) goto) (binary_expression "LAB_002c1f30;\n    case (Mips_relobj<32,_false> *)0x3c:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0') {\n        uVar39 = uVar40 * 4 & 0x7ffffc;\n        pp_Var43 = (_List_node_base **)(ulong)uVar39;\n        local_b0 = uVar39 - 0x800000;\n        if ((uVar40 * 4 & 0x400000) == 0) {\n          local_b0 = uVar39;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false" (binary_expression "LAB_002c1f30;\n    case (Mips_relobj<32,_false> *)0x3c:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0') {\n        uVar39 = uVar40 * 4 & 0x7ffffc;\n        pp_Var43 = (_List_node_base **)(ulong)uVar39;\n        local_b0 = uVar39 - 0x800000;\n        if ((uVar40 * 4 & 0x400000) == 0) {\n          local_b0 = uVar39;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value" (binary_expression "LAB_002c1f30;\n    case (Mips_relobj<32,_false> *)0x3c:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0') {\n        uVar39 = uVar40 * 4 & 0x7ffffc;\n        pp_Var43 = (_List_node_base **)(ulong)uVar39;\n        local_b0 = uVar39 - 0x800000;\n        if ((uVar40 * 4 & 0x400000) == 0) {\n          local_b0 = uVar39;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32" (assignment_expression "LAB_002c1f30;\n    case (Mips_relobj<32,_false> *)0x3c:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0') {\n        uVar39 = uVar40 * 4 & 0x7ffffc;\n        pp_Var43 = (_List_node_base **)(ulong)uVar39;\n        local_b0 = uVar39 - 0x800000;\n        if ((uVar40 * 4 & 0x400000) == 0) {\n          local_b0 = uVar39;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold" (call_expression "LAB_002c1f30;\n    case (Mips_relobj<32,_false> *)0x3c:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0') {\n        uVar39 = uVar40 * 4 & 0x7ffffc;\n        pp_Var43 = (_List_node_base **)(ulong)uVar39;\n        local_b0 = uVar39 - 0x800000;\n        if ((uVar40 * 4 & 0x400000) == 0) {\n          local_b0 = uVar39;\n        }\n      }\n      pp_Var56 = (_List_node_base **)" identifier (ERROR ";\n    case" ; case) (argument_list "(Mips_relobj<32,_false> *)0x3c:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0') {\n        uVar39 = uVar40 * 4 & 0x7ffffc;\n        pp_Var43 = (_List_node_base **)(ulong)uVar39;\n        local_b0 = uVar39 - 0x800000;\n        if ((uVar40 * 4 & 0x400000) == 0) {\n          local_b0 = uVar39;\n        }\n      }\n      pp_Var56 = (_List_node_base **)" ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (ERROR "_false> *)0x3c:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0')" (binary_expression "_false> *)0x3c" identifier > (pointer_expression "*)0x3c" * (ERROR ")" )) number_literal)) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier : (assignment_expression "local_cc = local_b0" identifier = identifier) ; (assignment_expression "uVar40 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ; (call_expression "pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0')" (assignment_expression "pp_Var43 = (_List_node_base **)puVar44" identifier = (cast_expression "(_List_node_base **)puVar44" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) (ERROR ";\n      if" ; if) (argument_list "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )))) (compound_statement "{\n        uVar39 = uVar40 * 4 & 0x7ffffc;\n        pp_Var43 = (_List_node_base **)(ulong)uVar39;\n        local_b0 = uVar39 - 0x800000;\n        if ((uVar40 * 4 & 0x400000) == 0) {\n          local_b0 = uVar39;\n        }\n      }" { (expression_statement "uVar39 = uVar40 * 4 & 0x7ffffc;" (assignment_expression "uVar39 = uVar40 * 4 & 0x7ffffc" identifier = (binary_expression "uVar40 * 4 & 0x7ffffc" (binary_expression "uVar40 * 4" identifier * number_literal) & number_literal)) ;) (expression_statement "pp_Var43 = (_List_node_base **)(ulong)uVar39;" (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)uVar39" identifier = (cast_expression "(_List_node_base **)(ulong)uVar39" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)uVar39" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "local_b0 = uVar39 - 0x800000;" (assignment_expression "local_b0 = uVar39 - 0x800000" identifier = (binary_expression "uVar39 - 0x800000" identifier - number_literal)) ;) (if_statement "if ((uVar40 * 4 & 0x400000) == 0) {\n          local_b0 = uVar39;\n        }" if (parenthesized_expression "((uVar40 * 4 & 0x400000) == 0)" ( (binary_expression "(uVar40 * 4 & 0x400000) == 0" (parenthesized_expression "(uVar40 * 4 & 0x400000)" ( (binary_expression "uVar40 * 4 & 0x400000" (binary_expression "uVar40 * 4" identifier * number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar39;\n        }" { (expression_statement "local_b0 = uVar39;" (assignment_expression "local_b0 = uVar39" identifier = identifier) ;) })) }) (ERROR "pp_Var56 = (_List_node_base **" identifier = ( identifier * *) ))) (ERROR "this_00;\n      VVar23" identifier ; identifier) = identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar39 = VVar23 - address >> 2;\n      if ((bool)calculate_only != false) goto LAB_002c1f30;\n      *(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0x1fffff;\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar24 = gold::" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,local_b0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,local_b0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,local_b0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; (call_expression "uVar39 = VVar23 - address >> 2;\n      if ((bool)calculate_only != false)" (assignment_expression "uVar39 = VVar23 - address >> 2" identifier = (binary_expression "VVar23 - address >> 2" (binary_expression "VVar23 - address" identifier - identifier) >> number_literal)) (ERROR ";\n      if" ; if) (argument_list "((bool)calculate_only != false)" ( (binary_expression "(bool)calculate_only != false" (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier) != false) ))) identifier (binary_expression "LAB_002c1f30;\n      *(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0x1fffff" identifier (ERROR ";" ;) * (cast_expression "(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0x1fffff" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "view = uVar40 ^ (uVar39 ^ uVar40) & 0x1fffff" identifier = (binary_expression "uVar40 ^ (uVar39 ^ uVar40) & 0x1fffff" identifier ^ (binary_expression "(uVar39 ^ uVar40) & 0x1fffff" (parenthesized_expression "(uVar39 ^ uVar40)" ( (binary_expression "uVar39 ^ uVar40" identifier ^ identifier) )) & number_literal))))) ; (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ; (assignment_expression "VVar24 = gold" identifier = identifier) : :) (binary_expression "Symbol_value<32>::value<false" (binary_expression "Symbol_value<32>::value" (binary_expression "Symbol_value<32" identifier < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      SVar26 = STATUS_PCREL_UNALIGNED;\n      if ((VVar24 & 3) == 0) {\n        SVar26 = (Status)(0x7fffff < (VVar23 - address) + 0x400000);\n      }\n      break;\n    case" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,local_b0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,local_b0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,local_b0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; (call_expression "SVar26 = STATUS_PCREL_UNALIGNED;\n      if ((VVar24 & 3) == 0)" (assignment_expression "SVar26 = STATUS_PCREL_UNALIGNED" identifier = identifier) (ERROR ";\n      if" ; if) (argument_list "((VVar24 & 3) == 0)" ( (binary_expression "(VVar24 & 3) == 0" (parenthesized_expression "(VVar24 & 3)" ( (binary_expression "VVar24 & 3" identifier & number_literal) )) == number_literal) ))) (compound_statement "{\n        SVar26 = (Status)(0x7fffff < (VVar23 - address) + 0x400000);\n      }" { (expression_statement "SVar26 = (Status)(0x7fffff < (VVar23 - address) + 0x400000);" (assignment_expression "SVar26 = (Status)(0x7fffff < (VVar23 - address) + 0x400000)" identifier = (call_expression "(Status)(0x7fffff < (VVar23 - address) + 0x400000)" (parenthesized_expression "(Status)" ( identifier )) (argument_list "(0x7fffff < (VVar23 - address) + 0x400000)" ( (binary_expression "0x7fffff < (VVar23 - address) + 0x400000" number_literal < (binary_expression "(VVar23 - address) + 0x400000" (parenthesized_expression "(VVar23 - address)" ( (binary_expression "VVar23 - address" identifier - identifier) )) + number_literal)) )))) ;) }) break ; case) ( (ERROR "Mips_relobj<32,_false> *)0x3d:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c304d:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar39 = uVar40 * 4 & 0xffffffc;\n        local_b0 = uVar39 + 0xf0000000;\n        if ((uVar40 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar39;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::" (comma_expression "Mips_relobj<32,_false> *)0x3d" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x3d" identifier > (pointer_expression "*)0x3d" * (ERROR ")" )) number_literal))) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier : (assignment_expression "local_cc = local_b0" identifier = identifier) ; (call_expression "uVar40 = *(uint *)view;\n      if ((char)local_b8 != '\0')" (assignment_expression "uVar40 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) (ERROR ";\n      if" ; if) (argument_list "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) (compound_statement "{\n        uVar39 = uVar40 * 4 & 0xffffffc;\n        local_b0 = uVar39 + 0xf0000000;\n        if ((uVar40 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar39;\n        }\n      }" { (expression_statement "uVar39 = uVar40 * 4 & 0xffffffc;" (assignment_expression "uVar39 = uVar40 * 4 & 0xffffffc" identifier = (binary_expression "uVar40 * 4 & 0xffffffc" (binary_expression "uVar40 * 4" identifier * number_literal) & number_literal)) ;) (expression_statement "local_b0 = uVar39 + 0xf0000000;" (assignment_expression "local_b0 = uVar39 + 0xf0000000" identifier = (binary_expression "uVar39 + 0xf0000000" identifier + number_literal)) ;) (if_statement "if ((uVar40 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar39;\n        }" if (parenthesized_expression "((uVar40 * 4 & 0x8000000) == 0)" ( (binary_expression "(uVar40 * 4 & 0x8000000) == 0" (parenthesized_expression "(uVar40 * 4 & 0x8000000)" ( (binary_expression "uVar40 * 4 & 0x8000000" (binary_expression "uVar40 * 4" identifier * number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar39;\n        }" { (expression_statement "local_b0 = uVar39;" (assignment_expression "local_b0 = uVar39" identifier = identifier) ;) })) }) (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ; (assignment_expression "VVar23 = gold" identifier = identifier) : :) (binary_expression "Symbol_value<32>::value<false" (binary_expression "Symbol_value<32>::value" (binary_expression "Symbol_value<32" identifier < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar39 = VVar23 - address >> 2;\n      if ((bool)calculate_only != false) goto LAB_002c1f30;\n      *(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0x3ffffff;\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar24 = gold::" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,local_b0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,local_b0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,local_b0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; (call_expression "uVar39 = VVar23 - address >> 2;\n      if ((bool)calculate_only != false)" (assignment_expression "uVar39 = VVar23 - address >> 2" identifier = (binary_expression "VVar23 - address >> 2" (binary_expression "VVar23 - address" identifier - identifier) >> number_literal)) (ERROR ";\n      if" ; if) (argument_list "((bool)calculate_only != false)" ( (binary_expression "(bool)calculate_only != false" (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier) != false) ))) identifier (binary_expression "LAB_002c1f30;\n      *(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0x3ffffff" identifier (ERROR ";" ;) * (cast_expression "(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0x3ffffff" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "view = uVar40 ^ (uVar39 ^ uVar40) & 0x3ffffff" identifier = (binary_expression "uVar40 ^ (uVar39 ^ uVar40) & 0x3ffffff" identifier ^ (binary_expression "(uVar39 ^ uVar40) & 0x3ffffff" (parenthesized_expression "(uVar39 ^ uVar40)" ( (binary_expression "uVar39 ^ uVar40" identifier ^ identifier) )) & number_literal))))) ; (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ; (assignment_expression "VVar24 = gold" identifier = identifier) : :) (binary_expression "Symbol_value<32>::value<false" (binary_expression "Symbol_value<32>::value" (binary_expression "Symbol_value<32" identifier < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      SVar26 = STATUS_PCREL_UNALIGNED;\n      if ((VVar24 & 3) == 0) {\n        SVar26 = (Status)(0xfffffff < (VVar23 - address) + 0x8000000);\n      }\n      break;\n    case" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,local_b0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,local_b0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,local_b0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; (call_expression "SVar26 = STATUS_PCREL_UNALIGNED;\n      if ((VVar24 & 3) == 0)" (assignment_expression "SVar26 = STATUS_PCREL_UNALIGNED" identifier = identifier) (ERROR ";\n      if" ; if) (argument_list "((VVar24 & 3) == 0)" ( (binary_expression "(VVar24 & 3) == 0" (parenthesized_expression "(VVar24 & 3)" ( (binary_expression "VVar24 & 3" identifier & number_literal) )) == number_literal) ))) (compound_statement "{\n        SVar26 = (Status)(0xfffffff < (VVar23 - address) + 0x8000000);\n      }" { (expression_statement "SVar26 = (Status)(0xfffffff < (VVar23 - address) + 0x8000000);" (assignment_expression "SVar26 = (Status)(0xfffffff < (VVar23 - address) + 0x8000000)" identifier = (call_expression "(Status)(0xfffffff < (VVar23 - address) + 0x8000000)" (parenthesized_expression "(Status)" ( identifier )) (argument_list "(0xfffffff < (VVar23 - address) + 0x8000000)" ( (binary_expression "0xfffffff < (VVar23 - address) + 0x8000000" number_literal < (binary_expression "(VVar23 - address) + 0x8000000" (parenthesized_expression "(VVar23 - address)" ( (binary_expression "VVar23 - address" identifier - identifier) )) + number_literal)) )))) ;) }) break ; case) ( (ERROR "Mips_relobj<32,_false> *)0x3e:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c3104:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar39 = uVar40 * 8 & 0x1ffff8;\n        local_b0 = uVar39 - 0x200000;\n        if ((uVar40 * 8 & 0x100000) == 0) {\n          local_b0 = uVar39;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::" (comma_expression "Mips_relobj<32,_false> *)0x3e" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x3e" identifier > (pointer_expression "*)0x3e" * (ERROR ")" )) number_literal))) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier : (assignment_expression "local_cc = local_b0" identifier = identifier) ; (call_expression "uVar40 = *(uint *)view;\n      if ((char)local_b8 != '\0')" (assignment_expression "uVar40 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) (ERROR ";\n      if" ; if) (argument_list "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) (compound_statement "{\n        uVar39 = uVar40 * 8 & 0x1ffff8;\n        local_b0 = uVar39 - 0x200000;\n        if ((uVar40 * 8 & 0x100000) == 0) {\n          local_b0 = uVar39;\n        }\n      }" { (expression_statement "uVar39 = uVar40 * 8 & 0x1ffff8;" (assignment_expression "uVar39 = uVar40 * 8 & 0x1ffff8" identifier = (binary_expression "uVar40 * 8 & 0x1ffff8" (binary_expression "uVar40 * 8" identifier * number_literal) & number_literal)) ;) (expression_statement "local_b0 = uVar39 - 0x200000;" (assignment_expression "local_b0 = uVar39 - 0x200000" identifier = (binary_expression "uVar39 - 0x200000" identifier - number_literal)) ;) (if_statement "if ((uVar40 * 8 & 0x100000) == 0) {\n          local_b0 = uVar39;\n        }" if (parenthesized_expression "((uVar40 * 8 & 0x100000) == 0)" ( (binary_expression "(uVar40 * 8 & 0x100000) == 0" (parenthesized_expression "(uVar40 * 8 & 0x100000)" ( (binary_expression "uVar40 * 8 & 0x100000" (binary_expression "uVar40 * 8" identifier * number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar39;\n        }" { (expression_statement "local_b0 = uVar39;" (assignment_expression "local_b0 = uVar39" identifier = identifier) ;) })) }) (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ; (assignment_expression "VVar23 = gold" identifier = identifier) : :) (binary_expression "Symbol_value<32>::value<false" (binary_expression "Symbol_value<32>::value" (binary_expression "Symbol_value<32" identifier < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar41 = VVar23 - (address & 0xfffffff8);\n      uVar39 = uVar41 >> 3;\n      if ((bool)calculate_only != false) goto LAB_002c1f30;\n      *(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0x3ffff;\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,local_b0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,local_b0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,local_b0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; (assignment_expression "uVar41 = VVar23 - (address & 0xfffffff8)" identifier = (binary_expression "VVar23 - (address & 0xfffffff8)" identifier - (parenthesized_expression "(address & 0xfffffff8)" ( (binary_expression "address & 0xfffffff8" identifier & number_literal) )))) ; (call_expression "uVar39 = uVar41 >> 3;\n      if ((bool)calculate_only != false)" (assignment_expression "uVar39 = uVar41 >> 3" identifier = (binary_expression "uVar41 >> 3" identifier >> number_literal)) (ERROR ";\n      if" ; if) (argument_list "((bool)calculate_only != false)" ( (binary_expression "(bool)calculate_only != false" (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier) != false) ))) identifier (binary_expression "LAB_002c1f30;\n      *(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0x3ffff" identifier (ERROR ";" ;) * (cast_expression "(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0x3ffff" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "view = uVar40 ^ (uVar39 ^ uVar40) & 0x3ffff" identifier = (binary_expression "uVar40 ^ (uVar39 ^ uVar40) & 0x3ffff" identifier ^ (binary_expression "(uVar39 ^ uVar40) & 0x3ffff" (parenthesized_expression "(uVar39 ^ uVar40)" ( (binary_expression "uVar39 ^ uVar40" identifier ^ identifier) )) & number_literal))))) ; (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ; (assignment_expression "VVar23 = gold" identifier = identifier) : :) (binary_expression "Symbol_value<32>::value<false" (binary_expression "Symbol_value<32>::value" (binary_expression "Symbol_value<32" identifier < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar39 = VVar23 & 7;\njoined_r0x002c324e:\n      SVar26 = STATUS_PCREL_UNALIGNED;\n      if (uVar39 == 0) {\n        SVar26 = (Status)(0x1fffff < uVar41 + 0x100000);\n      }\n      break;\n    case" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,local_b0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,local_b0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,local_b0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; (assignment_expression "uVar39 = VVar23 & 7" identifier = (binary_expression "VVar23 & 7" identifier & number_literal)) ; identifier : (call_expression "SVar26 = STATUS_PCREL_UNALIGNED;\n      if (uVar39 == 0)" (assignment_expression "SVar26 = STATUS_PCREL_UNALIGNED" identifier = identifier) (ERROR ";\n      if" ; if) (argument_list "(uVar39 == 0)" ( (binary_expression "uVar39 == 0" identifier == number_literal) ))) (compound_statement "{\n        SVar26 = (Status)(0x1fffff < uVar41 + 0x100000);\n      }" { (expression_statement "SVar26 = (Status)(0x1fffff < uVar41 + 0x100000);" (assignment_expression "SVar26 = (Status)(0x1fffff < uVar41 + 0x100000)" identifier = (call_expression "(Status)(0x1fffff < uVar41 + 0x100000)" (parenthesized_expression "(Status)" ( identifier )) (argument_list "(0x1fffff < uVar41 + 0x100000)" ( (binary_expression "0x1fffff < uVar41 + 0x100000" number_literal < (binary_expression "uVar41 + 0x100000" identifier + number_literal)) )))) ;) }) break ; case) ( (ERROR "Mips_relobj<32,_false> *)0x3f:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c31c0:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0') {\n        uVar39 = uVar40 * 4 & 0x1ffffc;\n        pp_Var43 = (_List_node_base **)(ulong)uVar39;\n        local_b0 = uVar39 - 0x200000;\n        if ((uVar40 * 4 & 0x100000) == 0) {\n          local_b0 = uVar39;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::" (comma_expression "Mips_relobj<32,_false> *)0x3f" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x3f" identifier > (pointer_expression "*)0x3f" * (ERROR ")" )) number_literal))) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier : (assignment_expression "local_cc = local_b0" identifier = identifier) ; (assignment_expression "uVar40 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ; (call_expression "pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0')" (assignment_expression "pp_Var43 = (_List_node_base **)puVar44" identifier = (cast_expression "(_List_node_base **)puVar44" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) (ERROR ";\n      if" ; if) (argument_list "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) (compound_statement "{\n        uVar39 = uVar40 * 4 & 0x1ffffc;\n        pp_Var43 = (_List_node_base **)(ulong)uVar39;\n        local_b0 = uVar39 - 0x200000;\n        if ((uVar40 * 4 & 0x100000) == 0) {\n          local_b0 = uVar39;\n        }\n      }" { (expression_statement "uVar39 = uVar40 * 4 & 0x1ffffc;" (assignment_expression "uVar39 = uVar40 * 4 & 0x1ffffc" identifier = (binary_expression "uVar40 * 4 & 0x1ffffc" (binary_expression "uVar40 * 4" identifier * number_literal) & number_literal)) ;) (expression_statement "pp_Var43 = (_List_node_base **)(ulong)uVar39;" (assignment_expression "pp_Var43 = (_List_node_base **)(ulong)uVar39" identifier = (cast_expression "(_List_node_base **)(ulong)uVar39" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)uVar39" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "local_b0 = uVar39 - 0x200000;" (assignment_expression "local_b0 = uVar39 - 0x200000" identifier = (binary_expression "uVar39 - 0x200000" identifier - number_literal)) ;) (if_statement "if ((uVar40 * 4 & 0x100000) == 0) {\n          local_b0 = uVar39;\n        }" if (parenthesized_expression "((uVar40 * 4 & 0x100000) == 0)" ( (binary_expression "(uVar40 * 4 & 0x100000) == 0" (parenthesized_expression "(uVar40 * 4 & 0x100000)" ( (binary_expression "uVar40 * 4 & 0x100000" (binary_expression "uVar40 * 4" identifier * number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar39;\n        }" { (expression_statement "local_b0 = uVar39;" (assignment_expression "local_b0 = uVar39" identifier = identifier) ;) })) }) (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ; (assignment_expression "VVar23 = gold" identifier = identifier) : :) (binary_expression "Symbol_value<32>::value<false" (binary_expression "Symbol_value<32>::value" (binary_expression "Symbol_value<32" identifier < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar41 = VVar23 - address;\n      uVar39 = uVar41 >> 2;\n      if ((bool)calculate_only == false) {\n        *(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0x7ffff;\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n        uVar39 = VVar23 & 3;\n        goto joined_r0x002c324e;\n      }\n      goto LAB_002c1f30;\n    case" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,local_b0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,local_b0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,local_b0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; (assignment_expression "uVar41 = VVar23 - address" identifier = (binary_expression "VVar23 - address" identifier - identifier)) ; (call_expression "uVar39 = uVar41 >> 2;\n      if ((bool)calculate_only == false)" (assignment_expression "uVar39 = uVar41 >> 2" identifier = (binary_expression "uVar41 >> 2" identifier >> number_literal)) (ERROR ";\n      if" ; if) (argument_list "((bool)calculate_only == false)" ( (binary_expression "(bool)calculate_only == false" (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier) == false) ))) (compound_statement "{\n        *(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0x7ffff;\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n        uVar39 = VVar23 & 3;\n        goto joined_r0x002c324e;\n      }" { (expression_statement "*(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0x7ffff;" (assignment_expression "*(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0x7ffff" (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar40 ^ (uVar39 ^ uVar40) & 0x7ffff" identifier ^ (binary_expression "(uVar39 ^ uVar40) & 0x7ffff" (parenthesized_expression "(uVar39 ^ uVar40)" ( (binary_expression "uVar39 ^ uVar40" identifier ^ identifier) )) & number_literal))) ;) (expression_statement "pp_Var56 = (_List_node_base **)this_00;" (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);" (binary_expression "VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" (binary_expression "VVar23 = gold::Symbol_value<32>::value<false" (binary_expression "VVar23 = gold::Symbol_value<32>::value" (binary_expression "VVar23 = gold::Symbol_value<32" (assignment_expression "VVar23 = gold" identifier = identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "::" : :) identifier) < false) > (parenthesized_expression "(psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" ( (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,local_b0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,local_b0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,local_b0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ))) ;) (expression_statement "uVar39 = VVar23 & 3;" (assignment_expression "uVar39 = VVar23 & 3" identifier = (binary_expression "VVar23 & 3" identifier & number_literal)) ;) (goto_statement "goto joined_r0x002c324e;" goto statement_identifier ;) }) goto identifier ; case) (binary_expression "(Mips_relobj<32,_false> *)0x40:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_40:\n      if (rel_type == 4) {\n        uVar39 = *(uint *)view;\n        VVar23 = uVar39 << 0x10;\n        if ((char)local_b8 == '\0') {\n          VVar23 = local_cc;\n        }\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n        uVar40 = (VVar23 - address) + 0x8000 >> 0x10;\n        if ((bool)calculate_only != false) goto LAB_002c3c10;\n        SVar26 = STATUS_OKAY;\n        *(uint *)view = uVar39 & 0xffff0000 | uVar40;\n      }\n      else {\n        if (rel_type != 9) goto LAB_002c4653;\n        p_Var30 = (_List_node_base *)operator_new(0x40);\n        *(undefined1 *)((long)&p_Var30[3]._M_prev + 4) = 0;\n        SVar26 = STATUS_OKAY;\n        *(undefined4 *)((long)&p_Var30[2]._M_prev + 4) = 0;\n        pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs;\n        p_Var30[1]._M_next = (_List_node_base *)view;\n        p_Var30[1]._M_prev = (_List_node_base *)this_00;\n        p_Var30[2]._M_next = (_List_node_base *)psymval;\n        *(Value *)&p_Var30[2]._M_prev = local_cc;\n        *(_Rb_tree_color *)&p_Var30[3]._M_next = _Var51;\n        *(char *)((long)&p_Var30[3]._M_next + 4) = (char)local_b8;\n        *(Mips_address *)&p_Var30[3]._M_prev = address;\n        std::__detail::_List_node_base::_M_hook\n                  (p_Var30,(_List_node_base *)\n                           &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs)\n        ;\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case (Mips_relobj<32,_false> *)0x41:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0') {\n        pp_Var43 = (_List_node_base **)((ulong)uVar40 & 0xffff);\n        local_b0 = (Value)pp_Var43 - 0x10000;\n        if ((uVar40 & 0x8000) == 0) {\n          local_b0 = (Value)pp_Var43;\n        }\n      }\n      if ((rel_type == 9) &&\n         (local_98 = (Mips_relobj<32,_false> *)\n                     (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs,\n         (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs !=\n         (_List_node_base *)&(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs\n         )) {\n        do {\n          pp_Var43 = (_List_node_base **)(ulong)_Var51;\n          if (_Var51 == *(_Rb_tree_color *)&((_List_node_base *)((long)local_98 + 0x30))->_M_next) {\n            in_stack_fffffffffffffee8 =\n                 (Mips_relobj<32,_false> *)((_List_node_base *)((long)local_98 + 0x10))->_M_next;\n            VVar23 = *(Value *)&((_List_node_base *)((long)local_98 + 0x20))->_M_prev;\n            in_stack_fffffffffffffef8 =\n                 *(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object;\n            if (*(char *)((long)&((_List_node_base *)((long)local_98 + 0x30))->_M_next + 4) != '\0')\n            {\n              VVar23 = local_b0 + in_stack_fffffffffffffef8 * 0x10000;\n            }\n            iVar25 = *(int *)&((_List_node_base *)((long)local_98 + 0x30))->_M_prev;\n            VVar23 = gold::Symbol_value<32>::value<false" (binary_expression "(Mips_relobj<32,_false> *)0x40:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_40:\n      if (rel_type == 4) {\n        uVar39 = *(uint *)view;\n        VVar23 = uVar39 << 0x10;\n        if ((char)local_b8 == '\0') {\n          VVar23 = local_cc;\n        }\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n        uVar40 = (VVar23 - address) + 0x8000 >> 0x10;\n        if ((bool)calculate_only != false) goto LAB_002c3c10;\n        SVar26 = STATUS_OKAY;\n        *(uint *)view = uVar39 & 0xffff0000 | uVar40;\n      }\n      else {\n        if (rel_type != 9) goto LAB_002c4653;\n        p_Var30 = (_List_node_base *)operator_new(0x40);\n        *(undefined1 *)((long)&p_Var30[3]._M_prev + 4) = 0;\n        SVar26 = STATUS_OKAY;\n        *(undefined4 *)((long)&p_Var30[2]._M_prev + 4) = 0;\n        pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs;\n        p_Var30[1]._M_next = (_List_node_base *)view;\n        p_Var30[1]._M_prev = (_List_node_base *)this_00;\n        p_Var30[2]._M_next = (_List_node_base *)psymval;\n        *(Value *)&p_Var30[2]._M_prev = local_cc;\n        *(_Rb_tree_color *)&p_Var30[3]._M_next = _Var51;\n        *(char *)((long)&p_Var30[3]._M_next + 4) = (char)local_b8;\n        *(Mips_address *)&p_Var30[3]._M_prev = address;\n        std::__detail::_List_node_base::_M_hook\n                  (p_Var30,(_List_node_base *)\n                           &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs)\n        ;\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case (Mips_relobj<32,_false> *)0x41:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0') {\n        pp_Var43 = (_List_node_base **)((ulong)uVar40 & 0xffff);\n        local_b0 = (Value)pp_Var43 - 0x10000;\n        if ((uVar40 & 0x8000) == 0) {\n          local_b0 = (Value)pp_Var43;\n        }\n      }\n      if ((rel_type == 9) &&\n         (local_98 = (Mips_relobj<32,_false> *)\n                     (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs,\n         (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs !=\n         (_List_node_base *)&(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs\n         )) {\n        do {\n          pp_Var43 = (_List_node_base **)(ulong)_Var51;\n          if (_Var51 == *(_Rb_tree_color *)&((_List_node_base *)((long)local_98 + 0x30))->_M_next) {\n            in_stack_fffffffffffffee8 =\n                 (Mips_relobj<32,_false> *)((_List_node_base *)((long)local_98 + 0x10))->_M_next;\n            VVar23 = *(Value *)&((_List_node_base *)((long)local_98 + 0x20))->_M_prev;\n            in_stack_fffffffffffffef8 =\n                 *(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object;\n            if (*(char *)((long)&((_List_node_base *)((long)local_98 + 0x30))->_M_next + 4) != '\0')\n            {\n              VVar23 = local_b0 + in_stack_fffffffffffffef8 * 0x10000;\n            }\n            iVar25 = *(int *)&((_List_node_base *)((long)local_98 + 0x30))->_M_prev;\n            VVar23 = gold::Symbol_value<32>::value" (binary_expression "(Mips_relobj<32,_false> *)0x40:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_40:\n      if (rel_type == 4) {\n        uVar39 = *(uint *)view;\n        VVar23 = uVar39 << 0x10;\n        if ((char)local_b8 == '\0') {\n          VVar23 = local_cc;\n        }\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n        uVar40 = (VVar23 - address) + 0x8000 >> 0x10;\n        if ((bool)calculate_only != false) goto LAB_002c3c10;\n        SVar26 = STATUS_OKAY;\n        *(uint *)view = uVar39 & 0xffff0000 | uVar40;\n      }\n      else {\n        if (rel_type != 9) goto LAB_002c4653;\n        p_Var30 = (_List_node_base *)operator_new(0x40);\n        *(undefined1 *)((long)&p_Var30[3]._M_prev + 4) = 0;\n        SVar26 = STATUS_OKAY;\n        *(undefined4 *)((long)&p_Var30[2]._M_prev + 4) = 0;\n        pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs;\n        p_Var30[1]._M_next = (_List_node_base *)view;\n        p_Var30[1]._M_prev = (_List_node_base *)this_00;\n        p_Var30[2]._M_next = (_List_node_base *)psymval;\n        *(Value *)&p_Var30[2]._M_prev = local_cc;\n        *(_Rb_tree_color *)&p_Var30[3]._M_next = _Var51;\n        *(char *)((long)&p_Var30[3]._M_next + 4) = (char)local_b8;\n        *(Mips_address *)&p_Var30[3]._M_prev = address;\n        std::__detail::_List_node_base::_M_hook\n                  (p_Var30,(_List_node_base *)\n                           &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs)\n        ;\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case (Mips_relobj<32,_false> *)0x41:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0') {\n        pp_Var43 = (_List_node_base **)((ulong)uVar40 & 0xffff);\n        local_b0 = (Value)pp_Var43 - 0x10000;\n        if ((uVar40 & 0x8000) == 0) {\n          local_b0 = (Value)pp_Var43;\n        }\n      }\n      if ((rel_type == 9) &&\n         (local_98 = (Mips_relobj<32,_false> *)\n                     (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs,\n         (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs !=\n         (_List_node_base *)&(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs\n         )) {\n        do {\n          pp_Var43 = (_List_node_base **)(ulong)_Var51;\n          if (_Var51 == *(_Rb_tree_color *)&((_List_node_base *)((long)local_98 + 0x30))->_M_next) {\n            in_stack_fffffffffffffee8 =\n                 (Mips_relobj<32,_false> *)((_List_node_base *)((long)local_98 + 0x10))->_M_next;\n            VVar23 = *(Value *)&((_List_node_base *)((long)local_98 + 0x20))->_M_prev;\n            in_stack_fffffffffffffef8 =\n                 *(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object;\n            if (*(char *)((long)&((_List_node_base *)((long)local_98 + 0x30))->_M_next + 4) != '\0')\n            {\n              VVar23 = local_b0 + in_stack_fffffffffffffef8 * 0x10000;\n            }\n            iVar25 = *(int *)&((_List_node_base *)((long)local_98 + 0x30))->_M_prev;\n            VVar23 = gold::Symbol_value<32" (binary_expression "(Mips_relobj<32,_false> *)0x40:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_40:\n      if (rel_type == 4) {\n        uVar39 = *(uint *)view;\n        VVar23 = uVar39 << 0x10;\n        if ((char)local_b8 == '\0') {\n          VVar23 = local_cc;\n        }\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n        uVar40 = (VVar23 - address) + 0x8000 >> 0x10;\n        if ((bool)calculate_only != false) goto LAB_002c3c10;\n        SVar26 = STATUS_OKAY;\n        *(uint *)view = uVar39 & 0xffff0000 | uVar40;\n      }\n      else {\n        if (rel_type != 9) goto LAB_002c4653;\n        p_Var30 = (_List_node_base *)operator_new(0x40);\n        *(undefined1 *)((long)&p_Var30[3]._M_prev + 4) = 0;\n        SVar26 = STATUS_OKAY;\n        *(undefined4 *)((long)&p_Var30[2]._M_prev + 4) = 0;\n        pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs;\n        p_Var30[1]._M_next = (_List_node_base *)view;\n        p_Var30[1]._M_prev = (_List_node_base *)this_00;\n        p_Var30[2]._M_next = (_List_node_base *)psymval;\n        *(Value *)&p_Var30[2]._M_prev = local_cc;\n        *(_Rb_tree_color *)&p_Var30[3]._M_next = _Var51;\n        *(char *)((long)&p_Var30[3]._M_next + 4) = (char)local_b8;\n        *(Mips_address *)&p_Var30[3]._M_prev = address;\n        std::__detail::_List_node_base::_M_hook\n                  (p_Var30,(_List_node_base *)\n                           &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs)\n        ;\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case (Mips_relobj<32,_false> *)0x41:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0') {\n        pp_Var43 = (_List_node_base **)((ulong)uVar40 & 0xffff);\n        local_b0 = (Value)pp_Var43 - 0x10000;\n        if ((uVar40 & 0x8000) == 0) {\n          local_b0 = (Value)pp_Var43;\n        }\n      }\n      if ((rel_type == 9) &&\n         (local_98 = (Mips_relobj<32,_false> *)\n                     (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs,\n         (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs !=\n         (_List_node_base *)&(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs\n         )) {\n        do {\n          pp_Var43 = (_List_node_base **)(ulong)_Var51;\n          if (_Var51 == *(_Rb_tree_color *)&((_List_node_base *)((long)local_98 + 0x30))->_M_next) {\n            in_stack_fffffffffffffee8 =\n                 (Mips_relobj<32,_false> *)((_List_node_base *)((long)local_98 + 0x10))->_M_next;\n            VVar23 = *(Value *)&((_List_node_base *)((long)local_98 + 0x20))->_M_prev;\n            in_stack_fffffffffffffef8 =\n                 *(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object;\n            if (*(char *)((long)&((_List_node_base *)((long)local_98 + 0x30))->_M_next + 4) != '\0')\n            {\n              VVar23 = local_b0 + in_stack_fffffffffffffef8 * 0x10000;\n            }\n            iVar25 = *(int *)&((_List_node_base *)((long)local_98 + 0x30))->_M_prev" (assignment_expression "(Mips_relobj<32,_false> *)0x40:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_40:\n      if (rel_type == 4) {\n        uVar39 = *(uint *)view;\n        VVar23 = uVar39 << 0x10;\n        if ((char)local_b8 == '\0') {\n          VVar23 = local_cc;\n        }\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n        uVar40 = (VVar23 - address) + 0x8000 >> 0x10;\n        if ((bool)calculate_only != false) goto LAB_002c3c10;\n        SVar26 = STATUS_OKAY;\n        *(uint *)view = uVar39 & 0xffff0000 | uVar40;\n      }\n      else {\n        if (rel_type != 9) goto LAB_002c4653;\n        p_Var30 = (_List_node_base *)operator_new(0x40);\n        *(undefined1 *)((long)&p_Var30[3]._M_prev + 4) = 0;\n        SVar26 = STATUS_OKAY;\n        *(undefined4 *)((long)&p_Var30[2]._M_prev + 4) = 0;\n        pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs;\n        p_Var30[1]._M_next = (_List_node_base *)view;\n        p_Var30[1]._M_prev = (_List_node_base *)this_00;\n        p_Var30[2]._M_next = (_List_node_base *)psymval;\n        *(Value *)&p_Var30[2]._M_prev = local_cc;\n        *(_Rb_tree_color *)&p_Var30[3]._M_next = _Var51;\n        *(char *)((long)&p_Var30[3]._M_next + 4) = (char)local_b8;\n        *(Mips_address *)&p_Var30[3]._M_prev = address;\n        std::__detail::_List_node_base::_M_hook\n                  (p_Var30,(_List_node_base *)\n                           &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs)\n        ;\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case (Mips_relobj<32,_false> *)0x41:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0') {\n        pp_Var43 = (_List_node_base **)((ulong)uVar40 & 0xffff);\n        local_b0 = (Value)pp_Var43 - 0x10000;\n        if ((uVar40 & 0x8000) == 0) {\n          local_b0 = (Value)pp_Var43;\n        }\n      }\n      if ((rel_type == 9) &&\n         (local_98 = (Mips_relobj<32,_false> *)\n                     (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs,\n         (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs !=\n         (_List_node_base *)&(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs\n         )) {\n        do {\n          pp_Var43 = (_List_node_base **)(ulong)_Var51;\n          if (_Var51 == *(_Rb_tree_color *)&((_List_node_base *)((long)local_98 + 0x30))->_M_next) {\n            in_stack_fffffffffffffee8 =\n                 (Mips_relobj<32,_false> *)((_List_node_base *)((long)local_98 + 0x10))->_M_next;\n            VVar23 = *(Value *)&((_List_node_base *)((long)local_98 + 0x20))->_M_prev;\n            in_stack_fffffffffffffef8 =\n                 *(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object;\n            if (*(char *)((long)&((_List_node_base *)((long)local_98 + 0x30))->_M_next + 4) != '\0')\n            {\n              VVar23 = local_b0 + in_stack_fffffffffffffef8 * 0x10000" (call_expression "(Mips_relobj<32,_false> *)0x40:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_40:\n      if (rel_type == 4) {\n        uVar39 = *(uint *)view;\n        VVar23 = uVar39 << 0x10;\n        if ((char)local_b8 == '\0') {\n          VVar23 = local_cc;\n        }\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n        uVar40 = (VVar23 - address) + 0x8000 >> 0x10;\n        if ((bool)calculate_only != false) goto LAB_002c3c10;\n        SVar26 = STATUS_OKAY;\n        *(uint *)view = uVar39 & 0xffff0000 | uVar40;\n      }\n      else {\n        if (rel_type != 9) goto LAB_002c4653;\n        p_Var30 = (_List_node_base *)operator_new(0x40);\n        *(undefined1 *)((long)&p_Var30[3]._M_prev + 4) = 0;\n        SVar26 = STATUS_OKAY;\n        *(undefined4 *)((long)&p_Var30[2]._M_prev + 4) = 0;\n        pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs;\n        p_Var30[1]._M_next = (_List_node_base *)view;\n        p_Var30[1]._M_prev = (_List_node_base *)this_00;\n        p_Var30[2]._M_next = (_List_node_base *)psymval;\n        *(Value *)&p_Var30[2]._M_prev = local_cc;\n        *(_Rb_tree_color *)&p_Var30[3]._M_next = _Var51;\n        *(char *)((long)&p_Var30[3]._M_next + 4) = (char)local_b8;\n        *(Mips_address *)&p_Var30[3]._M_prev = address;\n        std::__detail::_List_node_base::_M_hook\n                  (p_Var30,(_List_node_base *)\n                           &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs)\n        ;\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case (Mips_relobj<32,_false> *)0x41:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view;\n      pp_Var43 = (_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0') {\n        pp_Var43 = (_List_node_base **)((ulong)uVar40 & 0xffff);\n        local_b0 = (Value)pp_Var43 - 0x10000;\n        if ((uVar40 & 0x8000) == 0) {\n          local_b0 = (Value)pp_Var43;\n        }\n      }\n      if ((rel_type == 9) &&\n         (local_98 = (Mips_relobj<32,_false> *)\n                     (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs,\n         (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs !=\n         (_List_node_base *)&(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs\n         )) {\n        do {\n          pp_Var43 = (_List_node_base **)(ulong)_Var51;\n          if (_Var51 == *(_Rb_tree_color *)&((_List_node_base *)((long)local_98 + 0x30))->_M_next) {\n            in_stack_fffffffffffffee8 =\n                 (Mips_relobj<32,_false> *)((_List_node_base *)((long)local_98 + 0x10))->_M_next;\n            VVar23 = *(Value *)&((_List_node_base *)((long)local_98 + 0x20))->_M_prev;\n            in_stack_fffffffffffffef8 =\n                 *(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object;\n            if (*(char *)((long)&((_List_node_base *)((long)local_98 + 0x30))->_M_next + 4) != '\0')" (binary_expression "(Mips_relobj<32,_false> *)0x40:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_40:\n      if (rel_type == 4) {\n        uVar39 = *(uint *)view;\n        VVar23 = uVar39 << 0x10;\n        if ((char)local_b8 == '\0') {\n          VVar23 = local_cc;\n        }\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n        uVar40 = (VVar23 - address) + 0x8000 >> 0x10;\n        if ((bool)calculate_only != false) goto LAB_002c3c10;\n        SVar26 = STATUS_OKAY;\n        *(uint *)view = uVar39 & 0xffff0000 | uVar40;\n      }\n      else {\n        if (rel_type != 9) goto LAB_002c4653;\n        p_Var30 = (_List_node_base *)operator_new(0x40);\n        *(undefined1 *)((long)&p_Var30[3]._M_prev + 4) = 0;\n        SVar26 = STATUS_OKAY;\n        *(undefined4 *)((long)&p_Var30[2]._M_prev + 4) = 0;\n        pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs;\n        p_Var30[1]._M_next = (_List_node_base *)view;\n        p_Var30[1]._M_prev = (_List_node_base *)this_00;\n        p_Var30[2]._M_next = (_List_node_base *)psymval;\n        *(Value *)&p_Var30[2]._M_prev = local_cc;\n        *(_Rb_tree_color *)&p_Var30[3]._M_next = _Var51;\n        *(char *)((long)&p_Var30[3]._M_next + 4) = (char)local_b8;\n        *(Mips_address *)&p_Var30[3]._M_prev = address;\n        std::__detail::_List_node_base::_M_hook\n                  (p_Var30,(_List_node_base *)\n                           &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs)\n        ;\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case (Mips_relobj<32,_false> *)0x41:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar40 = *(uint *)view" (assignment_expression "(Mips_relobj<32,_false> *)0x40:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_40:\n      if (rel_type == 4) {\n        uVar39 = *(uint *)view;\n        VVar23 = uVar39 << 0x10;\n        if ((char)local_b8 == '\0') {\n          VVar23 = local_cc;\n        }\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n        uVar40 = (VVar23 - address) + 0x8000 >> 0x10;\n        if ((bool)calculate_only != false) goto LAB_002c3c10;\n        SVar26 = STATUS_OKAY;\n        *(uint *)view = uVar39 & 0xffff0000 | uVar40;\n      }\n      else {\n        if (rel_type != 9) goto LAB_002c4653;\n        p_Var30 = (_List_node_base *)operator_new(0x40);\n        *(undefined1 *)((long)&p_Var30[3]._M_prev + 4) = 0;\n        SVar26 = STATUS_OKAY;\n        *(undefined4 *)((long)&p_Var30[2]._M_prev + 4) = 0;\n        pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs;\n        p_Var30[1]._M_next = (_List_node_base *)view;\n        p_Var30[1]._M_prev = (_List_node_base *)this_00;\n        p_Var30[2]._M_next = (_List_node_base *)psymval;\n        *(Value *)&p_Var30[2]._M_prev = local_cc;\n        *(_Rb_tree_color *)&p_Var30[3]._M_next = _Var51;\n        *(char *)((long)&p_Var30[3]._M_next + 4) = (char)local_b8;\n        *(Mips_address *)&p_Var30[3]._M_prev = address;\n        std::__detail::_List_node_base::_M_hook\n                  (p_Var30,(_List_node_base *)\n                           &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs)\n        ;\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case (Mips_relobj<32,_false> *)0x41:\n      local_b8 = (_Bit_type *)0x0" (parenthesized_expression "(Mips_relobj<32,_false> *)0x40:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_40:\n      if (rel_type == 4) {\n        uVar39 = *(uint *)view;\n        VVar23 = uVar39 << 0x10;\n        if ((char)local_b8 == '\0') {\n          VVar23 = local_cc;\n        }\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n        uVar40 = (VVar23 - address) + 0x8000 >> 0x10;\n        if ((bool)calculate_only != false) goto LAB_002c3c10;\n        SVar26 = STATUS_OKAY;\n        *(uint *)view = uVar39 & 0xffff0000 | uVar40;\n      }\n      else {\n        if (rel_type != 9) goto LAB_002c4653;\n        p_Var30 = (_List_node_base *)operator_new(0x40);\n        *(undefined1 *)((long)&p_Var30[3]._M_prev + 4) = 0;\n        SVar26 = STATUS_OKAY;\n        *(undefined4 *)((long)&p_Var30[2]._M_prev + 4) = 0;\n        pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs;\n        p_Var30[1]._M_next = (_List_node_base *)view;\n        p_Var30[1]._M_prev = (_List_node_base *)this_00;\n        p_Var30[2]._M_next = (_List_node_base *)psymval;\n        *(Value *)&p_Var30[2]._M_prev = local_cc;\n        *(_Rb_tree_color *)&p_Var30[3]._M_next = _Var51;\n        *(char *)((long)&p_Var30[3]._M_next + 4) = (char)local_b8;\n        *(Mips_address *)&p_Var30[3]._M_prev = address;\n        std::__detail::_List_node_base::_M_hook\n                  (p_Var30,(_List_node_base *)\n                           &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs)\n        ;\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case (Mips_relobj<32,_false> *)" ( (ERROR "Mips_relobj<32,_false> *)0x40:\n      local_b8 = (_Bit_type *)0x0;\nswitchD_002c18c9_caseD_40:\n      if (rel_type == 4) {\n        uVar39 = *(uint *)view;\n        VVar23 = uVar39 << 0x10;\n        if ((char)local_b8 == '\0') {\n          VVar23 = local_cc;\n        }\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n        uVar40 = (VVar23 - address) + 0x8000 >> 0x10;\n        if ((bool)calculate_only != false) goto LAB_002c3c10;\n        SVar26 = STATUS_OKAY;\n        *(uint *)view = uVar39 & 0xffff0000 | uVar40;\n      }\n      else" (comma_expression "Mips_relobj<32,_false> *)0x40" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x40" identifier > (pointer_expression "*)0x40" * (ERROR ")" )) number_literal))) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; (call_expression "switchD_002c18c9_caseD_40:\n      if (rel_type == 4)" identifier (ERROR ":\n      if" : if) (argument_list "(rel_type == 4)" ( (binary_expression "rel_type == 4" identifier == number_literal) ))) (compound_statement "{\n        uVar39 = *(uint *)view;\n        VVar23 = uVar39 << 0x10;\n        if ((char)local_b8 == '\0') {\n          VVar23 = local_cc;\n        }\n        pp_Var56 = (_List_node_base **)this_00;\n        VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);\n        uVar40 = (VVar23 - address) + 0x8000 >> 0x10;\n        if ((bool)calculate_only != false) goto LAB_002c3c10;\n        SVar26 = STATUS_OKAY;\n        *(uint *)view = uVar39 & 0xffff0000 | uVar40;\n      }" { (expression_statement "uVar39 = *(uint *)view;" (assignment_expression "uVar39 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "VVar23 = uVar39 << 0x10;" (assignment_expression "VVar23 = uVar39 << 0x10" identifier = (binary_expression "uVar39 << 0x10" identifier << number_literal)) ;) (if_statement "if ((char)local_b8 == '\0') {\n          VVar23 = local_cc;\n        }" if (parenthesized_expression "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          VVar23 = local_cc;\n        }" { (expression_statement "VVar23 = local_cc;" (assignment_expression "VVar23 = local_cc" identifier = identifier) ;) })) (expression_statement "pp_Var56 = (_List_node_base **)this_00;" (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);" (binary_expression "VVar23 = gold::Symbol_value<32>::value<false>\n                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23)" (binary_expression "VVar23 = gold::Symbol_value<32>::value<false" (binary_expression "VVar23 = gold::Symbol_value<32>::value" (binary_expression "VVar23 = gold::Symbol_value<32" (assignment_expression "VVar23 = gold" identifier = identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "::" : :) identifier) < false) > (parenthesized_expression "(psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23)" ( (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,VVar23)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,VVar23" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,VVar23" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ))) ;) (expression_statement "uVar40 = (VVar23 - address) + 0x8000 >> 0x10;" (assignment_expression "uVar40 = (VVar23 - address) + 0x8000 >> 0x10" identifier = (binary_expression "(VVar23 - address) + 0x8000 >> 0x10" (binary_expression "(VVar23 - address) + 0x8000" (parenthesized_expression "(VVar23 - address)" ( (binary_expression "VVar23 - address" identifier - identifier) )) + number_literal) >> number_literal)) ;) (if_statement "if ((bool)calculate_only != false) goto LAB_002c3c10;" if (parenthesized_expression "((bool)calculate_only != false)" ( (binary_expression "(bool)calculate_only != false" (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier) != false) )) (goto_statement "goto LAB_002c3c10;" goto statement_identifier ;)) (expression_statement "SVar26 = STATUS_OKAY;" (assignment_expression "SVar26 = STATUS_OKAY" identifier = identifier) ;) (expression_statement "*(uint *)view = uVar39 & 0xffff0000 | uVar40;" (assignment_expression "*(uint *)view = uVar39 & 0xffff0000 | uVar40" (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar39 & 0xffff0000 | uVar40" (binary_expression "uVar39 & 0xffff0000" identifier & number_literal) | identifier)) ;) }) else) (compound_statement "{\n        if (rel_type != 9) goto LAB_002c4653;\n        p_Var30 = (_List_node_base *)operator_new(0x40);\n        *(undefined1 *)((long)&p_Var30[3]._M_prev + 4) = 0;\n        SVar26 = STATUS_OKAY;\n        *(undefined4 *)((long)&p_Var30[2]._M_prev + 4) = 0;\n        pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs;\n        p_Var30[1]._M_next = (_List_node_base *)view;\n        p_Var30[1]._M_prev = (_List_node_base *)this_00;\n        p_Var30[2]._M_next = (_List_node_base *)psymval;\n        *(Value *)&p_Var30[2]._M_prev = local_cc;\n        *(_Rb_tree_color *)&p_Var30[3]._M_next = _Var51;\n        *(char *)((long)&p_Var30[3]._M_next + 4) = (char)local_b8;\n        *(Mips_address *)&p_Var30[3]._M_prev = address;\n        std::__detail::_List_node_base::_M_hook\n                  (p_Var30,(_List_node_base *)\n                           &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs)\n        ;\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }" { (if_statement "if (rel_type != 9) goto LAB_002c4653;" if (parenthesized_expression "(rel_type != 9)" ( (binary_expression "rel_type != 9" identifier != number_literal) )) (goto_statement "goto LAB_002c4653;" goto statement_identifier ;)) (expression_statement "p_Var30 = (_List_node_base *)operator_new(0x40);" (assignment_expression "p_Var30 = (_List_node_base *)operator_new(0x40)" identifier = (cast_expression "(_List_node_base *)operator_new(0x40)" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x40)" identifier (argument_list "(0x40)" ( number_literal ))))) ;) (expression_statement "*(undefined1 *)((long)&p_Var30[3]._M_prev + 4) = 0;" (assignment_expression "*(undefined1 *)((long)&p_Var30[3]._M_prev + 4) = 0" (pointer_expression "*(undefined1 *)((long)&p_Var30[3]._M_prev + 4)" * (cast_expression "(undefined1 *)((long)&p_Var30[3]._M_prev + 4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&p_Var30[3]._M_prev + 4)" ( (binary_expression "(long)&p_Var30[3]._M_prev + 4" (cast_expression "(long)&p_Var30[3]._M_prev" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var30[3]._M_prev" & (field_expression "p_Var30[3]._M_prev" (subscript_expression "p_Var30[3]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "SVar26 = STATUS_OKAY;" (assignment_expression "SVar26 = STATUS_OKAY" identifier = identifier) ;) (expression_statement "*(undefined4 *)((long)&p_Var30[2]._M_prev + 4) = 0;" (assignment_expression "*(undefined4 *)((long)&p_Var30[2]._M_prev + 4) = 0" (pointer_expression "*(undefined4 *)((long)&p_Var30[2]._M_prev + 4)" * (cast_expression "(undefined4 *)((long)&p_Var30[2]._M_prev + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&p_Var30[2]._M_prev + 4)" ( (binary_expression "(long)&p_Var30[2]._M_prev + 4" (cast_expression "(long)&p_Var30[2]._M_prev" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var30[2]._M_prev" & (field_expression "p_Var30[2]._M_prev" (subscript_expression "p_Var30[2]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs;" (comma_expression "pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs" (binary_expression "pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32" (assignment_expression "pp_Var56 = &(anonymous_namespace)" identifier = (pointer_expression "&(anonymous_namespace)" & (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Mips_relocate_functions" : : identifier) < number_literal) , (binary_expression "false>::pchi16_relocs" false > (ERROR "::" : :) identifier)) ;) (expression_statement "p_Var30[1]._M_next = (_List_node_base *)view;" (assignment_expression "p_Var30[1]._M_next = (_List_node_base *)view" (field_expression "p_Var30[1]._M_next" (subscript_expression "p_Var30[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_List_node_base *)view" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "p_Var30[1]._M_prev = (_List_node_base *)this_00;" (assignment_expression "p_Var30[1]._M_prev = (_List_node_base *)this_00" (field_expression "p_Var30[1]._M_prev" (subscript_expression "p_Var30[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_List_node_base *)this_00" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "p_Var30[2]._M_next = (_List_node_base *)psymval;" (assignment_expression "p_Var30[2]._M_next = (_List_node_base *)psymval" (field_expression "p_Var30[2]._M_next" (subscript_expression "p_Var30[2]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_List_node_base *)psymval" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(Value *)&p_Var30[2]._M_prev = local_cc;" (assignment_expression "*(Value *)&p_Var30[2]._M_prev = local_cc" (pointer_expression "*(Value *)&p_Var30[2]._M_prev" * (cast_expression "(Value *)&p_Var30[2]._M_prev" ( (type_descriptor "Value *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var30[2]._M_prev" & (field_expression "p_Var30[2]._M_prev" (subscript_expression "p_Var30[2]" identifier [ number_literal ]) . field_identifier)))) = identifier) ;) (expression_statement "*(_Rb_tree_color *)&p_Var30[3]._M_next = _Var51;" (assignment_expression "*(_Rb_tree_color *)&p_Var30[3]._M_next = _Var51" (pointer_expression "*(_Rb_tree_color *)&p_Var30[3]._M_next" * (cast_expression "(_Rb_tree_color *)&p_Var30[3]._M_next" ( (type_descriptor "_Rb_tree_color *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var30[3]._M_next" & (field_expression "p_Var30[3]._M_next" (subscript_expression "p_Var30[3]" identifier [ number_literal ]) . field_identifier)))) = identifier) ;) (expression_statement "*(char *)((long)&p_Var30[3]._M_next + 4) = (char)local_b8;" (assignment_expression "*(char *)((long)&p_Var30[3]._M_next + 4) = (char)local_b8" (pointer_expression "*(char *)((long)&p_Var30[3]._M_next + 4)" * (cast_expression "(char *)((long)&p_Var30[3]._M_next + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&p_Var30[3]._M_next + 4)" ( (binary_expression "(long)&p_Var30[3]._M_next + 4" (cast_expression "(long)&p_Var30[3]._M_next" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&p_Var30[3]._M_next" & (field_expression "p_Var30[3]._M_next" (subscript_expression "p_Var30[3]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) = (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "*(Mips_address *)&p_Var30[3]._M_prev = address;" (assignment_expression "*(Mips_address *)&p_Var30[3]._M_prev = address" (pointer_expression "*(Mips_address *)&p_Var30[3]._M_prev" * (cast_expression "(Mips_address *)&p_Var30[3]._M_prev" ( (type_descriptor "Mips_address *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var30[3]._M_prev" & (field_expression "p_Var30[3]._M_prev" (subscript_expression "p_Var30[3]" identifier [ number_literal ]) . field_identifier)))) = identifier) ;) (labeled_statement "std::__detail::_List_node_base::_M_hook\n                  (p_Var30,(_List_node_base *)\n                           &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs)\n        ;" statement_identifier : (ERROR ":" :) (labeled_statement "__detail::_List_node_base::_M_hook\n                  (p_Var30,(_List_node_base *)\n                           &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs)\n        ;" statement_identifier : (ERROR ":" :) (labeled_statement "_List_node_base::_M_hook\n                  (p_Var30,(_List_node_base *)\n                           &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs)\n        ;" statement_identifier : (ERROR ":" :) (expression_statement "_M_hook\n                  (p_Var30,(_List_node_base *)\n                           &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs)\n        ;" (call_expression "_M_hook\n                  (p_Var30,(_List_node_base *)\n                           &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs)" identifier (argument_list "(p_Var30,(_List_node_base *)\n                           &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs)" ( identifier , (binary_expression "(_List_node_base *)\n                           &(anonymous_namespace)::Mips_relocate_functions<32" (cast_expression "(_List_node_base *)\n                           &(anonymous_namespace)" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(anonymous_namespace)" & (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Mips_relocate_functions" : : identifier) < number_literal) , (binary_expression "false>::pchi16_relocs" false > (ERROR "::" : :) identifier) ))) ;)))) (expression_statement "_DAT_0067dab0 = _DAT_0067dab0 + 1;" (assignment_expression "_DAT_0067dab0 = _DAT_0067dab0 + 1" identifier = (binary_expression "_DAT_0067dab0 + 1" identifier + number_literal)) ;) }) (ERROR "break;\n    case (Mips_relobj<32,_false> *" break ; case ( identifier < number_literal , identifier > *) )) (ERROR "0x41:\n      local_b8" number_literal : identifier) = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) (ERROR ";\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar40 =" ; identifier : identifier = identifier ; identifier =) * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) (ERROR ";\n      pp_Var43 =" ; identifier =) (argument_list "(_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0') {\n        pp_Var43 = (_List_node_base **)((ulong)uVar40 & 0xffff);\n        local_b0 = (Value)pp_Var43 - 0x10000;\n        if ((uVar40 & 0x8000) == 0) {\n          local_b0 = (Value)pp_Var43;\n        }\n      }\n      if ((rel_type == 9) &&\n         (local_98 = (Mips_relobj<32,_false> *)\n                     (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs,\n         (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs !=\n         (_List_node_base *)&(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs\n         )) {\n        do {\n          pp_Var43 = (_List_node_base **)(ulong)_Var51;\n          if (_Var51 == *(_Rb_tree_color *)&((_List_node_base *)((long)local_98 + 0x30))->_M_next) {\n            in_stack_fffffffffffffee8 =\n                 (Mips_relobj<32,_false> *)((_List_node_base *)((long)local_98 + 0x10))->_M_next;\n            VVar23 = *(Value *)&((_List_node_base *)((long)local_98 + 0x20))->_M_prev;\n            in_stack_fffffffffffffef8 =\n                 *(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object;\n            if (*(char *)((long)&((_List_node_base *)((long)local_98 + 0x30))->_M_next + 4) != '\0')" ( (ERROR "_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0') {\n        pp_Var43 = (_List_node_base **)((ulong)uVar40 & 0xffff);\n        local_b0 = (Value)pp_Var43 - 0x10000;\n        if ((uVar40 & 0x8000) == 0) {\n          local_b0 = (Value)pp_Var43;\n        }\n      }\n      if" (call_expression "_List_node_base **)puVar44;\n      if ((char)local_b8 != '\0')" (binary_expression "_List_node_base **)puVar44" identifier * (pointer_expression "*)puVar44" * (ERROR ")" )) identifier)) (ERROR ";\n      if" ; if) (argument_list "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) (compound_statement "{\n        pp_Var43 = (_List_node_base **)((ulong)uVar40 & 0xffff);\n        local_b0 = (Value)pp_Var43 - 0x10000;\n        if ((uVar40 & 0x8000) == 0) {\n          local_b0 = (Value)pp_Var43;\n        }\n      }" { (expression_statement "pp_Var43 = (_List_node_base **)((ulong)uVar40 & 0xffff);" (assignment_expression "pp_Var43 = (_List_node_base **)((ulong)uVar40 & 0xffff)" identifier = (cast_expression "(_List_node_base **)((ulong)uVar40 & 0xffff)" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((ulong)uVar40 & 0xffff)" ( (binary_expression "(ulong)uVar40 & 0xffff" (cast_expression "(ulong)uVar40" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "local_b0 = (Value)pp_Var43 - 0x10000;" (assignment_expression "local_b0 = (Value)pp_Var43 - 0x10000" identifier = (binary_expression "(Value)pp_Var43 - 0x10000" (cast_expression "(Value)pp_Var43" ( (type_descriptor "Value" type_identifier) ) identifier) - number_literal)) ;) (if_statement "if ((uVar40 & 0x8000) == 0) {\n          local_b0 = (Value)pp_Var43;\n        }" if (parenthesized_expression "((uVar40 & 0x8000) == 0)" ( (binary_expression "(uVar40 & 0x8000) == 0" (parenthesized_expression "(uVar40 & 0x8000)" ( (binary_expression "uVar40 & 0x8000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = (Value)pp_Var43;\n        }" { (expression_statement "local_b0 = (Value)pp_Var43;" (assignment_expression "local_b0 = (Value)pp_Var43" identifier = (cast_expression "(Value)pp_Var43" ( (type_descriptor "Value" type_identifier) ) identifier)) ;) })) }) if) (binary_expression "((rel_type == 9) &&\n         (local_98 = (Mips_relobj<32,_false> *)\n                     (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs,\n         (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs !=\n         (_List_node_base *)&(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs\n         )) {\n        do {\n          pp_Var43 = (_List_node_base **)(ulong)_Var51;\n          if (_Var51 == *(_Rb_tree_color *)&((_List_node_base *)((long)local_98 + 0x30))->_M_next) {\n            in_stack_fffffffffffffee8 =\n                 (Mips_relobj<32,_false> *)((_List_node_base *)((long)local_98 + 0x10))->_M_next;\n            VVar23 = *(Value *)&((_List_node_base *)((long)local_98 + 0x20))->_M_prev;\n            in_stack_fffffffffffffef8 =\n                 *(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object;\n            if (*(char *)((long)&((_List_node_base *)((long)local_98 + 0x30))->_M_next + 4) != '\0'" (call_expression "((rel_type == 9) &&\n         (local_98 = (Mips_relobj<32,_false> *)\n                     (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs,\n         (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs !=\n         (_List_node_base *)&(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs\n         )) {\n        do {\n          pp_Var43 = (_List_node_base **)(ulong)_Var51;\n          if (_Var51 == *(_Rb_tree_color *)&((_List_node_base *)((long)local_98 + 0x30))->_M_next) {\n            in_stack_fffffffffffffee8 =\n                 (Mips_relobj<32,_false> *)((_List_node_base *)((long)local_98 + 0x10))->_M_next;\n            VVar23 = *(Value *)&((_List_node_base *)((long)local_98 + 0x20))->_M_prev;\n            in_stack_fffffffffffffef8 =\n                 *(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object;\n            if (*(char *)((long)&((_List_node_base *)((long)local_98 + 0x30))->_M_next + 4)" (parenthesized_expression "((rel_type == 9) &&\n         (local_98 = (Mips_relobj<32,_false> *)\n                     (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs,\n         (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs !=\n         (_List_node_base *)&(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs\n         )) {\n        do {\n          pp_Var43 = (_List_node_base **)(ulong)_Var51;\n          if (_Var51 == *(_Rb_tree_color *)&((_List_node_base *)((long)local_98 + 0x30))->_M_next) {\n            in_stack_fffffffffffffee8 =\n                 (Mips_relobj<32,_false> *)((_List_node_base *)((long)local_98 + 0x10))->_M_next;\n            VVar23 = *(Value *)&((_List_node_base *)((long)local_98 + 0x20))->_M_prev;\n            in_stack_fffffffffffffef8 =\n                 *(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object;\n            if (*(char *)" ( (comma_expression "(rel_type == 9) &&\n         (local_98 = (Mips_relobj<32,_false> *)\n                     (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs,\n         (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs !=\n         (_List_node_base *)&(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs\n         )) {\n        do {\n          pp_Var43 = (_List_node_base **)(ulong)_Var51;\n          if (_Var51 == *(_Rb_tree_color *)&((_List_node_base *)((long)local_98 + 0x30))->_M_next) {\n            in_stack_fffffffffffffee8 =\n                 (Mips_relobj<32,_false> *)((_List_node_base *)((long)local_98 + 0x10))->_M_next;\n            VVar23 = *(Value *)&((_List_node_base *)((long)local_98 + 0x20))->_M_prev;\n            in_stack_fffffffffffffef8 =\n                 *(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object" (binary_expression "(rel_type == 9) &&\n         (local_98 = (Mips_relobj<32,_false> *)\n                     (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs,\n         (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs !=\n         (_List_node_base *)&(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs\n         )) {\n        do {\n          pp_Var43 = (_List_node_base **)(ulong)_Var51;\n          if (_Var51 == *(_Rb_tree_color *)&((_List_node_base *)((long)local_98 + 0x30))->_M_next) {\n            in_stack_fffffffffffffee8 =\n                 (Mips_relobj<32,_false> *)((_List_node_base *)((long)local_98 + 0x10))->_M_next;\n            VVar23 = *(Value *)&((_List_node_base *)((long)local_98 + 0x20))->_M_prev;\n            in_stack_fffffffffffffef8 =\n                 *(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj<32" (binary_expression "(rel_type == 9) &&\n         (local_98 = (Mips_relobj<32,_false> *)\n                     (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs,\n         (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs !=\n         (_List_node_base *)&(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs\n         )) {\n        do {\n          pp_Var43 = (_List_node_base **)(ulong)_Var51;\n          if (_Var51 == *(_Rb_tree_color *)&((_List_node_base *)((long)local_98 + 0x30))->_M_next) {\n            in_stack_fffffffffffffee8 =\n                 (Mips_relobj<32,_false> *)((_List_node_base *)((long)local_98 + 0x10))->_M_next;\n            VVar23 = *(Value *)&((_List_node_base *)((long)local_98 + 0x20))->_M_prev;\n            in_stack_fffffffffffffef8 =\n                 *(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj" (binary_expression "(rel_type == 9) &&\n         (local_98 = (Mips_relobj<32,_false> *)\n                     (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs,\n         (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs !=\n         (_List_node_base *)&(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs\n         )) {\n        do {\n          pp_Var43 = (_List_node_base **)(ulong)_Var51;\n          if (_Var51 == *(_Rb_tree_color *)&((_List_node_base *)((long)local_98 + 0x30))->_M_next) {\n            in_stack_fffffffffffffee8 =\n                 (Mips_relobj<32,_false> *)((_List_node_base *)((long)local_98 + 0x10))->_M_next;\n            VVar23 = *(Value *)&((_List_node_base *)((long)local_98 + 0x20))->_M_prev" (assignment_expression "(rel_type == 9) &&\n         (local_98 = (Mips_relobj<32,_false> *)\n                     (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs,\n         (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs !=\n         (_List_node_base *)&(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs\n         )) {\n        do {\n          pp_Var43 = (_List_node_base **)(ulong)_Var51;\n          if (_Var51 == *(_Rb_tree_color *)&((_List_node_base *)((long)local_98 + 0x30))->_M_next) {\n            in_stack_fffffffffffffee8 =\n                 (Mips_relobj<32,_false> *)((_List_node_base *)((long)local_98 + 0x10))->_M_next" (call_expression "(rel_type == 9) &&\n         (local_98 = (Mips_relobj<32,_false> *)\n                     (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs,\n         (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs !=\n         (_List_node_base *)&(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs\n         )) {\n        do {\n          pp_Var43 = (_List_node_base **)(ulong)_Var51;\n          if (_Var51 == *(_Rb_tree_color *)&((_List_node_base *)((long)local_98 + 0x30))->_M_next)" (binary_expression "(rel_type == 9) &&\n         (local_98 = (Mips_relobj<32,_false> *)\n                     (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs,\n         (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs !=\n         (_List_node_base *)&(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs\n         )) {\n        do {\n          pp_Var43 = (_List_node_base **)(ulong)_Var51" (parenthesized_expression "(rel_type == 9)" ( (binary_expression "rel_type == 9" identifier == number_literal) )) && (assignment_expression "(local_98 = (Mips_relobj<32,_false> *)\n                     (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs,\n         (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs !=\n         (_List_node_base *)&(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs\n         )) {\n        do {\n          pp_Var43 = (_List_node_base **)(ulong)_Var51" (parenthesized_expression "(local_98 = (Mips_relobj<32,_false> *)\n                     (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs,\n         (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs !=\n         (_List_node_base *)&(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs\n         ))" ( (assignment_expression "local_98 = (Mips_relobj<32,_false> *)\n                     (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs,\n         (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs !=\n         (_List_node_base *)&(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs\n         )" identifier = (parenthesized_expression "(Mips_relobj<32,_false> *)\n                     (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs,\n         (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs !=\n         (_List_node_base *)&(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs\n         )" ( (ERROR "Mips_relobj<32,_false> *)\n                     (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs,\n         (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs !=\n         (_List_node_base *)&(anonymous_namespace)::" (comma_expression "Mips_relobj<32,_false> *)\n                     (anonymous_namespace)" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)\n                     (anonymous_namespace)" identifier > (pointer_expression "*)\n                     (anonymous_namespace)" * (ERROR ")" )) (parenthesized_expression "(anonymous_namespace)" ( identifier ))))) : : (comma_expression "Mips_relocate_functions<32,false>::pchi16_relocs,\n         (anonymous_namespace)" (binary_expression "Mips_relocate_functions<32" identifier < number_literal) , (comma_expression "false>::pchi16_relocs,\n         (anonymous_namespace)" (binary_expression "false>::pchi16_relocs" false > (ERROR "::" : :) identifier) , (parenthesized_expression "(anonymous_namespace)" ( identifier )))) : : (comma_expression "Mips_relocate_functions<32,false>::pchi16_relocs !=\n         (_List_node_base *)&(anonymous_namespace)" (binary_expression "Mips_relocate_functions<32" identifier < number_literal) , (binary_expression "false>::pchi16_relocs !=\n         (_List_node_base *)&(anonymous_namespace)" (binary_expression "false>::pchi16_relocs" false > (ERROR "::" : :) identifier) != (cast_expression "(_List_node_base *)&(anonymous_namespace)" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(anonymous_namespace)" & (parenthesized_expression "(anonymous_namespace)" ( identifier )))))) : :) (comma_expression "Mips_relocate_functions<32,false>::pchi16_relocs" (binary_expression "Mips_relocate_functions<32" identifier < number_literal) , (binary_expression "false>::pchi16_relocs" false > (ERROR "::" : :) identifier)) ))) )) (ERROR "{\n        do {\n          pp_Var43" { do { identifier) = (cast_expression "(_List_node_base **)(ulong)_Var51" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(ulong)_Var51" ( (type_descriptor "ulong" type_identifier) ) identifier)))) (ERROR ";\n          if" ; if) (argument_list "(_Var51 == *(_Rb_tree_color *)&((_List_node_base *)((long)local_98 + 0x30))->_M_next)" ( (binary_expression "_Var51 == *(_Rb_tree_color *)&((_List_node_base *)((long)local_98 + 0x30))->_M_next" identifier == (pointer_expression "*(_Rb_tree_color *)&((_List_node_base *)((long)local_98 + 0x30))->_M_next" * (cast_expression "(_Rb_tree_color *)&((_List_node_base *)((long)local_98 + 0x30))->_M_next" ( (type_descriptor "_Rb_tree_color *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((_List_node_base *)((long)local_98 + 0x30))->_M_next" & (field_expression "((_List_node_base *)((long)local_98 + 0x30))->_M_next" (parenthesized_expression "((_List_node_base *)((long)local_98 + 0x30))" ( (cast_expression "(_List_node_base *)((long)local_98 + 0x30)" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_98 + 0x30)" ( (binary_expression "(long)local_98 + 0x30" (cast_expression "(long)local_98" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) )) -> field_identifier))))) ))) (ERROR "{\n            in_stack_fffffffffffffee8" { identifier) = (field_expression "(Mips_relobj<32,_false> *)((_List_node_base *)((long)local_98 + 0x10))->_M_next" (call_expression "(Mips_relobj<32,_false> *)((_List_node_base *)((long)local_98 + 0x10))" (parenthesized_expression "(Mips_relobj<32,_false> *)" ( (comma_expression "Mips_relobj<32,_false> *" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) (argument_list "((_List_node_base *)((long)local_98 + 0x10))" ( (cast_expression "(_List_node_base *)((long)local_98 + 0x10)" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_98 + 0x10)" ( (binary_expression "(long)local_98 + 0x10" (cast_expression "(long)local_98" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) ))) -> field_identifier)) (ERROR ";\n            VVar23 =" ; identifier =) * (cast_expression "(Value *)&((_List_node_base *)((long)local_98 + 0x20))->_M_prev" ( (type_descriptor "Value *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((_List_node_base *)((long)local_98 + 0x20))->_M_prev" & (field_expression "((_List_node_base *)((long)local_98 + 0x20))->_M_prev" (parenthesized_expression "((_List_node_base *)((long)local_98 + 0x20))" ( (cast_expression "(_List_node_base *)((long)local_98 + 0x20)" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_98 + 0x20)" ( (binary_expression "(long)local_98 + 0x20" (cast_expression "(long)local_98" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) )) -> field_identifier)))) (ERROR ";\n            in_stack_fffffffffffffef8 =" ; identifier =) * (cast_expression "(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj" & (field_expression "(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                           super_Sized_relobj" (parenthesized_expression "(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>)" ( (comma_expression "in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false" (binary_expression "in_stack_fffffffffffffee8->super_Sized_relobj_file<32" (field_expression "in_stack_fffffffffffffee8->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier)))) < number_literal) , (field_expression "_false>.super_Relobj.super_Object._vptr_Object" (field_expression "_false>.super_Relobj.super_Object" (field_expression "_false>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier)) (ERROR ";\n            if (*(char *" ; if ( * ( primitive_type *) )) (argument_list "((long)&((_List_node_base *)((long)local_98 + 0x30))->_M_next + 4)" ( (binary_expression "(long)&((_List_node_base *)((long)local_98 + 0x30))->_M_next + 4" (cast_expression "(long)&((_List_node_base *)((long)local_98 + 0x30))->_M_next" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&((_List_node_base *)((long)local_98 + 0x30))->_M_next" & (field_expression "((_List_node_base *)((long)local_98 + 0x30))->_M_next" (parenthesized_expression "((_List_node_base *)((long)local_98 + 0x30))" ( (cast_expression "(_List_node_base *)((long)local_98 + 0x30)" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_98 + 0x30)" ( (binary_expression "(long)local_98 + 0x30" (cast_expression "(long)local_98" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) )) -> field_identifier))) + number_literal) ))) != (char_literal "'\0'" ' escape_sequence ')) ))) (ERROR "{\n              VVar23" { identifier) = (binary_expression "local_b0 + in_stack_fffffffffffffef8 * 0x10000" identifier + (binary_expression "in_stack_fffffffffffffef8 * 0x10000" identifier * number_literal))) (ERROR ";\n            }\n            iVar25 =" ; } identifier =) * (cast_expression "(int *)&((_List_node_base *)((long)local_98 + 0x30))->_M_prev" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&((_List_node_base *)((long)local_98 + 0x30))->_M_prev" & (field_expression "((_List_node_base *)((long)local_98 + 0x30))->_M_prev" (parenthesized_expression "((_List_node_base *)((long)local_98 + 0x30))" ( (cast_expression "(_List_node_base *)((long)local_98 + 0x30)" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_98 + 0x30)" ( (binary_expression "(long)local_98 + 0x30" (cast_expression "(long)local_98" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) )) -> field_identifier)))) (ERROR ";\n            VVar23 = gold::Symbol_value" ; identifier = identifier : : identifier) < number_literal) > (ERROR "::" : :) identifier) < false) > ( ( (ERROR "Symbol_value<32> *)\n                                ((_List_node_base *)((long)local_98 + 0x20))->_M_next,\n                                (Sized_relobj_file<32,_false> *)\n                                ((_List_node_base *)((long)local_98 + 0x10))->_M_prev,VVar23);\n            uVar39 = (0x8000 - iVar25) + VVar23 >> 0x10;\n            if ((bool)calculate_only == false) {\n              *(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                        super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object =\n                   uVar39 | in_stack_fffffffffffffef8 & 0xffff0000;\n            }\n            else {\n              this->calculated_value_ = uVar39;\n            }\n            p_Var30 = *(_List_node_base **)&local_98->super_Sized_relobj_file<32,_false>;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            std::__detail::_List_node_base::_M_unhook((_List_node_base *)local_98);\n            operator_delete(local_98);" (comma_expression "Symbol_value<32> *)\n                                ((_List_node_base *)((long)local_98 + 0x20))->_M_next,\n                                (Sized_relobj_file<32,_false> *)\n                                ((_List_node_base *)((long)local_98 + 0x10))->_M_prev,VVar23)" (binary_expression "Symbol_value<32> *)\n                                ((_List_node_base *)((long)local_98 + 0x20))->_M_next" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)\n                                ((_List_node_base *)((long)local_98 + 0x20))->_M_next" * (ERROR ")" )) (field_expression "((_List_node_base *)((long)local_98 + 0x20))->_M_next" (parenthesized_expression "((_List_node_base *)((long)local_98 + 0x20))" ( (cast_expression "(_List_node_base *)((long)local_98 + 0x20)" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_98 + 0x20)" ( (binary_expression "(long)local_98 + 0x20" (cast_expression "(long)local_98" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) )) -> field_identifier))) , (parenthesized_expression "(Sized_relobj_file<32,_false> *)\n                                ((_List_node_base *)((long)local_98 + 0x10))->_M_prev,VVar23)" ( (comma_expression "Sized_relobj_file<32,_false> *)\n                                ((_List_node_base *)((long)local_98 + 0x10))->_M_prev,VVar23" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)\n                                ((_List_node_base *)((long)local_98 + 0x10))->_M_prev,VVar23" (binary_expression "_false> *)\n                                ((_List_node_base *)((long)local_98 + 0x10))->_M_prev" identifier > (pointer_expression "*)\n                                ((_List_node_base *)((long)local_98 + 0x10))->_M_prev" * (ERROR ")" )) (field_expression "((_List_node_base *)((long)local_98 + 0x10))->_M_prev" (parenthesized_expression "((_List_node_base *)((long)local_98 + 0x10))" ( (cast_expression "(_List_node_base *)((long)local_98 + 0x10)" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_98 + 0x10)" ( (binary_expression "(long)local_98 + 0x10" (cast_expression "(long)local_98" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))) )) -> field_identifier))) , identifier)) ))) ; (call_expression "uVar39 = (0x8000 - iVar25) + VVar23 >> 0x10;\n            if ((bool)calculate_only == false)" (assignment_expression "uVar39 = (0x8000 - iVar25) + VVar23 >> 0x10" identifier = (binary_expression "(0x8000 - iVar25) + VVar23 >> 0x10" (binary_expression "(0x8000 - iVar25) + VVar23" (parenthesized_expression "(0x8000 - iVar25)" ( (binary_expression "0x8000 - iVar25" number_literal - identifier) )) + identifier) >> number_literal)) (ERROR ";\n            if" ; if) (argument_list "((bool)calculate_only == false)" ( (binary_expression "(bool)calculate_only == false" (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier) == false) ))) (compound_statement "{\n              *(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                        super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object =\n                   uVar39 | in_stack_fffffffffffffef8 & 0xffff0000;\n            }" { (expression_statement "*(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                        super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object =\n                   uVar39 | in_stack_fffffffffffffef8 & 0xffff0000;" (comma_expression "*(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                        super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object =\n                   uVar39 | in_stack_fffffffffffffef8 & 0xffff0000" (binary_expression "*(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                        super_Sized_relobj<32" (pointer_expression "*(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                        super_Sized_relobj" * (cast_expression "(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                        super_Sized_relobj" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                        super_Sized_relobj" & (field_expression "(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).\n                        super_Sized_relobj" (parenthesized_expression "(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>)" ( (comma_expression "in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false" (binary_expression "in_stack_fffffffffffffee8->super_Sized_relobj_file<32" (field_expression "in_stack_fffffffffffffee8->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier)))) < number_literal) , (assignment_expression "_false>.super_Relobj.super_Object._vptr_Object =\n                   uVar39 | in_stack_fffffffffffffef8 & 0xffff0000" (field_expression "_false>.super_Relobj.super_Object._vptr_Object" (field_expression "_false>.super_Relobj.super_Object" (field_expression "_false>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) = (binary_expression "uVar39 | in_stack_fffffffffffffef8 & 0xffff0000" identifier | (binary_expression "in_stack_fffffffffffffef8 & 0xffff0000" identifier & number_literal)))) ;) }) else (compound_statement "{\n              this->calculated_value_ = uVar39;\n            }" { (expression_statement "this->calculated_value_ = uVar39;" (assignment_expression "this->calculated_value_ = uVar39" (field_expression "this->calculated_value_" identifier -> field_identifier) = identifier) ;) }) (comma_expression "p_Var30 = *(_List_node_base **)&local_98->super_Sized_relobj_file<32,_false>;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1" (assignment_expression "p_Var30 = *(_List_node_base **)&local_98->super_Sized_relobj_file<32" identifier = (binary_expression "*(_List_node_base **)&local_98->super_Sized_relobj_file<32" (pointer_expression "*(_List_node_base **)&local_98->super_Sized_relobj_file" * (cast_expression "(_List_node_base **)&local_98->super_Sized_relobj_file" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_98->super_Sized_relobj_file" & (field_expression "local_98->super_Sized_relobj_file" identifier -> field_identifier)))) < number_literal)) , (binary_expression "_false>;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1" identifier > (ERROR ";" ;) (assignment_expression "_DAT_0067dab0 = _DAT_0067dab0 + -1" identifier = (binary_expression "_DAT_0067dab0 + -1" identifier + number_literal)))) ; identifier : : identifier : : identifier : : (call_expression "_M_unhook((_List_node_base *)local_98)" identifier (argument_list "((_List_node_base *)local_98)" ( (cast_expression "(_List_node_base *)local_98" ( (type_descriptor "_List_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ; (call_expression "operator_delete(local_98)" identifier (argument_list "(local_98)" ( identifier ))) ;) identifier = ( (ERROR "Mips_relobj<32,_false> *)p_Var30;\n          }\n          else {\n            local_98 = *(Mips_relobj<32,_false> **)&local_98->super_Sized_relobj_file<32,_false>;\n          }\n        } while (local_98 !=\n                 (Mips_relobj<32,_false> *)\n                 &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs);\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::" (comma_expression "Mips_relobj<32,_false> *)p_Var30" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)p_Var30" identifier > (pointer_expression "*)p_Var30" * (ERROR ")" )) identifier))) ; } else (compound_statement "{\n            local_98 = *(Mips_relobj<32,_false> **)&local_98->super_Sized_relobj_file<32,_false>;\n          }\n        } while (local_98 !=\n                 (Mips_relobj<32,_false> *)\n                 &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs);\n      }" { (expression_statement "local_98 = *(Mips_relobj<32,_false> **)&local_98->super_Sized_relobj_file<32,_false>;\n          }\n        } while (local_98 !=\n                 (Mips_relobj<32,_false> *)\n                 &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs);" (assignment_expression "local_98 = *(Mips_relobj<32,_false> **)&local_98->super_Sized_relobj_file<32,_false>;\n          }\n        } while (local_98 !=\n                 (Mips_relobj<32,_false> *)\n                 &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs)" identifier = (pointer_expression "*(Mips_relobj<32,_false> **)&local_98->super_Sized_relobj_file<32,_false>;\n          }\n        } while (local_98 !=\n                 (Mips_relobj<32,_false> *)\n                 &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs)" * (parenthesized_expression "(Mips_relobj<32,_false> **)&local_98->super_Sized_relobj_file<32,_false>;\n          }\n        } while (local_98 !=\n                 (Mips_relobj<32,_false> *)\n                 &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs)" ( (ERROR "Mips_relobj<32,_false> **)&local_98->super_Sized_relobj_file<32,_false>;\n          }\n        } while (local_98 !=\n                 (Mips_relobj<32,_false> *)\n                 &(anonymous_namespace)::" (comma_expression "Mips_relobj<32,_false> **)&local_98->super_Sized_relobj_file<32,_false" (binary_expression "Mips_relobj<32" identifier < number_literal) , (comma_expression "_false> **)&local_98->super_Sized_relobj_file<32,_false" (binary_expression "_false> **)&local_98->super_Sized_relobj_file<32" (binary_expression "_false> **)&local_98->super_Sized_relobj_file" identifier > (pointer_expression "**)&local_98->super_Sized_relobj_file" * (pointer_expression "*)&local_98->super_Sized_relobj_file" * (ERROR ")" )) (pointer_expression "&local_98->super_Sized_relobj_file" & (field_expression "local_98->super_Sized_relobj_file" identifier -> field_identifier))))) < number_literal) , identifier)) (ERROR ">;\n          }\n        } while (local_98 !=\n                 (Mips_relobj<32,_false> *)\n                 &(anonymous_namespace)" > (ERROR ";\n          }\n        } while" ; } } while) ( identifier != ( (comma_expression "Mips_relobj<32,_false> *)\n                 &(anonymous_namespace)" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)\n                 &(anonymous_namespace)" identifier > (pointer_expression "*)\n                 &(anonymous_namespace)" * (ERROR ")" )) (pointer_expression "&(anonymous_namespace)" & (parenthesized_expression "(anonymous_namespace)" ( identifier ))))))) : :) (comma_expression "Mips_relocate_functions<32,false>::pchi16_relocs" (binary_expression "Mips_relocate_functions<32" identifier < number_literal) , (binary_expression "false>::pchi16_relocs" false > (ERROR "::" : :) identifier)) )))) ;) }) (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ; (assignment_expression "VVar23 = gold" identifier = identifier) : :) (binary_expression "Symbol_value<32>::value<false" (binary_expression "Symbol_value<32>::value" (binary_expression "Symbol_value<32" identifier < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar39 = VVar23 - address;\n      if ((bool)calculate_only != false) goto LAB_002c1f30;" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,local_b0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,local_b0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,local_b0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; (call_expression "uVar39 = VVar23 - address;\n      if ((bool)calculate_only != false)" (assignment_expression "uVar39 = VVar23 - address" identifier = (binary_expression "VVar23 - address" identifier - identifier)) (ERROR ";\n      if" ; if) (argument_list "((bool)calculate_only != false)" ( (binary_expression "(bool)calculate_only != false" (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier) != false) ))) identifier identifier ;) (binary_expression "SVar26 = STATUS_OKAY;\n      *(uint *)view = (uVar39 ^ uVar40) & 0xffff ^ uVar40;\n      break;\n    case (Mips_relobj<32,_false> *)0x8b:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar39 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar40 = uVar39 * 2 & 0xff;\n        local_b0 = uVar40 - 0x100;\n        if ((uVar39 * 2 & 0x80) == 0) {\n          local_b0 = uVar40;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false" (binary_expression "SVar26 = STATUS_OKAY;\n      *(uint *)view = (uVar39 ^ uVar40) & 0xffff ^ uVar40;\n      break;\n    case (Mips_relobj<32,_false> *)0x8b:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar39 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar40 = uVar39 * 2 & 0xff;\n        local_b0 = uVar40 - 0x100;\n        if ((uVar39 * 2 & 0x80) == 0) {\n          local_b0 = uVar40;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value" (binary_expression "SVar26 = STATUS_OKAY;\n      *(uint *)view = (uVar39 ^ uVar40) & 0xffff ^ uVar40;\n      break;\n    case (Mips_relobj<32,_false> *)0x8b:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar39 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar40 = uVar39 * 2 & 0xff;\n        local_b0 = uVar40 - 0x100;\n        if ((uVar39 * 2 & 0x80) == 0) {\n          local_b0 = uVar40;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32" (assignment_expression "SVar26 = STATUS_OKAY;\n      *(uint *)view = (uVar39 ^ uVar40) & 0xffff ^ uVar40;\n      break;\n    case (Mips_relobj<32,_false> *)0x8b:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar39 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar40 = uVar39 * 2 & 0xff;\n        local_b0 = uVar40 - 0x100;\n        if ((uVar39 * 2 & 0x80) == 0) {\n          local_b0 = uVar40;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold" (call_expression "SVar26 = STATUS_OKAY;\n      *(uint *)view = (uVar39 ^ uVar40) & 0xffff ^ uVar40;\n      break;\n    case (Mips_relobj<32,_false> *)0x8b:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar39 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar40 = uVar39 * 2 & 0xff;\n        local_b0 = uVar40 - 0x100;\n        if ((uVar39 * 2 & 0x80) == 0) {\n          local_b0 = uVar40;\n        }\n      }\n      pp_Var56 = (_List_node_base **)" (binary_expression "SVar26 = STATUS_OKAY;\n      *(uint *)view = (uVar39 ^ uVar40) & 0xffff ^ uVar40" (assignment_expression "SVar26 = STATUS_OKAY" identifier = identifier) (ERROR ";" ;) * (cast_expression "(uint *)view = (uVar39 ^ uVar40) & 0xffff ^ uVar40" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "view = (uVar39 ^ uVar40) & 0xffff ^ uVar40" identifier = (binary_expression "(uVar39 ^ uVar40) & 0xffff ^ uVar40" (binary_expression "(uVar39 ^ uVar40) & 0xffff" (parenthesized_expression "(uVar39 ^ uVar40)" ( (binary_expression "uVar39 ^ uVar40" identifier ^ identifier) )) & number_literal) ^ identifier)))) (ERROR ";\n      break;\n    case" ; break ; case) (argument_list "(Mips_relobj<32,_false> *)0x8b:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar39 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar40 = uVar39 * 2 & 0xff;\n        local_b0 = uVar40 - 0x100;\n        if ((uVar39 * 2 & 0x80) == 0) {\n          local_b0 = uVar40;\n        }\n      }\n      pp_Var56 = (_List_node_base **)" ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (ERROR "_false> *)0x8b:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar39 = *(uint *)view;\n      if ((char)local_b8 != '\0')" (binary_expression "_false> *)0x8b" identifier > (pointer_expression "*)0x8b" * (ERROR ")" )) number_literal)) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier : (assignment_expression "local_cc = local_b0" identifier = identifier) ; (call_expression "uVar39 = *(uint *)view;\n      if ((char)local_b8 != '\0')" (assignment_expression "uVar39 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) (ERROR ";\n      if" ; if) (argument_list "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )))) (compound_statement "{\n        uVar40 = uVar39 * 2 & 0xff;\n        local_b0 = uVar40 - 0x100;\n        if ((uVar39 * 2 & 0x80) == 0) {\n          local_b0 = uVar40;\n        }\n      }" { (expression_statement "uVar40 = uVar39 * 2 & 0xff;" (assignment_expression "uVar40 = uVar39 * 2 & 0xff" identifier = (binary_expression "uVar39 * 2 & 0xff" (binary_expression "uVar39 * 2" identifier * number_literal) & number_literal)) ;) (expression_statement "local_b0 = uVar40 - 0x100;" (assignment_expression "local_b0 = uVar40 - 0x100" identifier = (binary_expression "uVar40 - 0x100" identifier - number_literal)) ;) (if_statement "if ((uVar39 * 2 & 0x80) == 0) {\n          local_b0 = uVar40;\n        }" if (parenthesized_expression "((uVar39 * 2 & 0x80) == 0)" ( (binary_expression "(uVar39 * 2 & 0x80) == 0" (parenthesized_expression "(uVar39 * 2 & 0x80)" ( (binary_expression "uVar39 * 2 & 0x80" (binary_expression "uVar39 * 2" identifier * number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar40;\n        }" { (expression_statement "local_b0 = uVar40;" (assignment_expression "local_b0 = uVar40" identifier = identifier) ;) })) }) (ERROR "pp_Var56 = (_List_node_base **" identifier = ( identifier * *) ))) (ERROR "this_00;\n      VVar23" identifier ; identifier) = identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar40 = VVar23 - address >> 1;\n      if ((bool)calculate_only == false) {\n        *(uint *)view = (uVar40 ^ uVar39) & 0x7f ^ uVar39;\n        SVar26 = (Status)(0xff < (VVar23 - address) + 0x80);\n      }\n      else {\nLAB_002c3c10:\n        SVar26 = STATUS_OKAY;\n        this->calculated_value_ = uVar40;\n      }\n      break;\n    case" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,local_b0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,local_b0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,local_b0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; (call_expression "uVar40 = VVar23 - address >> 1;\n      if ((bool)calculate_only == false)" (assignment_expression "uVar40 = VVar23 - address >> 1" identifier = (binary_expression "VVar23 - address >> 1" (binary_expression "VVar23 - address" identifier - identifier) >> number_literal)) (ERROR ";\n      if" ; if) (argument_list "((bool)calculate_only == false)" ( (binary_expression "(bool)calculate_only == false" (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier) == false) ))) (compound_statement "{\n        *(uint *)view = (uVar40 ^ uVar39) & 0x7f ^ uVar39;\n        SVar26 = (Status)(0xff < (VVar23 - address) + 0x80);\n      }" { (expression_statement "*(uint *)view = (uVar40 ^ uVar39) & 0x7f ^ uVar39;" (assignment_expression "*(uint *)view = (uVar40 ^ uVar39) & 0x7f ^ uVar39" (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(uVar40 ^ uVar39) & 0x7f ^ uVar39" (binary_expression "(uVar40 ^ uVar39) & 0x7f" (parenthesized_expression "(uVar40 ^ uVar39)" ( (binary_expression "uVar40 ^ uVar39" identifier ^ identifier) )) & number_literal) ^ identifier)) ;) (expression_statement "SVar26 = (Status)(0xff < (VVar23 - address) + 0x80);" (assignment_expression "SVar26 = (Status)(0xff < (VVar23 - address) + 0x80)" identifier = (call_expression "(Status)(0xff < (VVar23 - address) + 0x80)" (parenthesized_expression "(Status)" ( identifier )) (argument_list "(0xff < (VVar23 - address) + 0x80)" ( (binary_expression "0xff < (VVar23 - address) + 0x80" number_literal < (binary_expression "(VVar23 - address) + 0x80" (parenthesized_expression "(VVar23 - address)" ( (binary_expression "VVar23 - address" identifier - identifier) )) + number_literal)) )))) ;) }) else (compound_statement "{\nLAB_002c3c10:\n        SVar26 = STATUS_OKAY;\n        this->calculated_value_ = uVar40;\n      }" { (labeled_statement "LAB_002c3c10:\n        SVar26 = STATUS_OKAY;" statement_identifier : (expression_statement "SVar26 = STATUS_OKAY;" (assignment_expression "SVar26 = STATUS_OKAY" identifier = identifier) ;)) (expression_statement "this->calculated_value_ = uVar40;" (assignment_expression "this->calculated_value_ = uVar40" (field_expression "this->calculated_value_" identifier -> field_identifier) = identifier) ;) }) break ; case) ( (ERROR "Mips_relobj<32,_false> *)0x8c:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c328d:\n      local_cc = local_b0;\n      uVar39 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar40 = uVar39 * 2 & 0x7fe;\n        local_b0 = uVar40 - 0x800;\n        if ((uVar39 * 2 & 0x400) == 0) {\n          local_b0 = uVar40;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::" (comma_expression "Mips_relobj<32,_false> *)0x8c" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)0x8c" identifier > (pointer_expression "*)0x8c" * (ERROR ")" )) number_literal))) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier : (assignment_expression "local_cc = local_b0" identifier = identifier) ; (call_expression "uVar39 = *(uint *)view;\n      if ((char)local_b8 != '\0')" (assignment_expression "uVar39 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) (ERROR ";\n      if" ; if) (argument_list "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) (compound_statement "{\n        uVar40 = uVar39 * 2 & 0x7fe;\n        local_b0 = uVar40 - 0x800;\n        if ((uVar39 * 2 & 0x400) == 0) {\n          local_b0 = uVar40;\n        }\n      }" { (expression_statement "uVar40 = uVar39 * 2 & 0x7fe;" (assignment_expression "uVar40 = uVar39 * 2 & 0x7fe" identifier = (binary_expression "uVar39 * 2 & 0x7fe" (binary_expression "uVar39 * 2" identifier * number_literal) & number_literal)) ;) (expression_statement "local_b0 = uVar40 - 0x800;" (assignment_expression "local_b0 = uVar40 - 0x800" identifier = (binary_expression "uVar40 - 0x800" identifier - number_literal)) ;) (if_statement "if ((uVar39 * 2 & 0x400) == 0) {\n          local_b0 = uVar40;\n        }" if (parenthesized_expression "((uVar39 * 2 & 0x400) == 0)" ( (binary_expression "(uVar39 * 2 & 0x400) == 0" (parenthesized_expression "(uVar39 * 2 & 0x400)" ( (binary_expression "uVar39 * 2 & 0x400" (binary_expression "uVar39 * 2" identifier * number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar40;\n        }" { (expression_statement "local_b0 = uVar40;" (assignment_expression "local_b0 = uVar40" identifier = identifier) ;) })) }) (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ; (assignment_expression "VVar23 = gold" identifier = identifier) : :) (binary_expression "Symbol_value<32>::value<false" (binary_expression "Symbol_value<32>::value" (binary_expression "Symbol_value<32" identifier < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar40 = VVar23 - address >> 1;\n      if ((bool)calculate_only != false) goto LAB_002c3c10;\n      *(uint *)view = (uVar40 ^ uVar39) & 0x3ff ^ uVar39;" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,local_b0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,local_b0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,local_b0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; (call_expression "uVar40 = VVar23 - address >> 1;\n      if ((bool)calculate_only != false)" (assignment_expression "uVar40 = VVar23 - address >> 1" identifier = (binary_expression "VVar23 - address >> 1" (binary_expression "VVar23 - address" identifier - identifier) >> number_literal)) (ERROR ";\n      if" ; if) (argument_list "((bool)calculate_only != false)" ( (binary_expression "(bool)calculate_only != false" (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier) != false) ))) identifier (binary_expression "LAB_002c3c10;\n      *(uint *)view = (uVar40 ^ uVar39) & 0x3ff ^ uVar39" identifier (ERROR ";" ;) * (cast_expression "(uint *)view = (uVar40 ^ uVar39) & 0x3ff ^ uVar39" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "view = (uVar40 ^ uVar39) & 0x3ff ^ uVar39" identifier = (binary_expression "(uVar40 ^ uVar39) & 0x3ff ^ uVar39" (binary_expression "(uVar40 ^ uVar39) & 0x3ff" (parenthesized_expression "(uVar40 ^ uVar39)" ( (binary_expression "uVar40 ^ uVar39" identifier ^ identifier) )) & number_literal) ^ identifier)))) ;) (binary_expression "SVar26 = (Status)(0x7ff < (VVar23 - address) + 0x400);\n      break;\n    case (Mips_relobj<32,_false> *)0x8d:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar39 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar40 = uVar39 * 2 & 0x1fffe;\n        local_b0 = uVar40 - 0x20000;\n        if ((uVar39 * 2 & 0x10000) == 0) {\n          local_b0 = uVar40;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false" (binary_expression "SVar26 = (Status)(0x7ff < (VVar23 - address) + 0x400);\n      break;\n    case (Mips_relobj<32,_false> *)0x8d:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar39 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar40 = uVar39 * 2 & 0x1fffe;\n        local_b0 = uVar40 - 0x20000;\n        if ((uVar39 * 2 & 0x10000) == 0) {\n          local_b0 = uVar40;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value" (binary_expression "SVar26 = (Status)(0x7ff < (VVar23 - address) + 0x400);\n      break;\n    case (Mips_relobj<32,_false> *)0x8d:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar39 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar40 = uVar39 * 2 & 0x1fffe;\n        local_b0 = uVar40 - 0x20000;\n        if ((uVar39 * 2 & 0x10000) == 0) {\n          local_b0 = uVar40;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32" (assignment_expression "SVar26 = (Status)(0x7ff < (VVar23 - address) + 0x400);\n      break;\n    case (Mips_relobj<32,_false> *)0x8d:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar39 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar40 = uVar39 * 2 & 0x1fffe;\n        local_b0 = uVar40 - 0x20000;\n        if ((uVar39 * 2 & 0x10000) == 0) {\n          local_b0 = uVar40;\n        }\n      }\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold" (call_expression "SVar26 = (Status)(0x7ff < (VVar23 - address) + 0x400);\n      break;\n    case (Mips_relobj<32,_false> *)0x8d:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar39 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar40 = uVar39 * 2 & 0x1fffe;\n        local_b0 = uVar40 - 0x20000;\n        if ((uVar39 * 2 & 0x10000) == 0) {\n          local_b0 = uVar40;\n        }\n      }\n      pp_Var56 = (_List_node_base **)" (assignment_expression "SVar26 = (Status)(0x7ff < (VVar23 - address) + 0x400)" identifier = (call_expression "(Status)(0x7ff < (VVar23 - address) + 0x400)" (parenthesized_expression "(Status)" ( identifier )) (argument_list "(0x7ff < (VVar23 - address) + 0x400)" ( (binary_expression "0x7ff < (VVar23 - address) + 0x400" number_literal < (binary_expression "(VVar23 - address) + 0x400" (parenthesized_expression "(VVar23 - address)" ( (binary_expression "VVar23 - address" identifier - identifier) )) + number_literal)) )))) (ERROR ";\n      break;\n    case" ; break ; case) (argument_list "(Mips_relobj<32,_false> *)0x8d:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar39 = *(uint *)view;\n      if ((char)local_b8 != '\0') {\n        uVar40 = uVar39 * 2 & 0x1fffe;\n        local_b0 = uVar40 - 0x20000;\n        if ((uVar39 * 2 & 0x10000) == 0) {\n          local_b0 = uVar40;\n        }\n      }\n      pp_Var56 = (_List_node_base **)" ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (ERROR "_false> *)0x8d:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar39 = *(uint *)view;\n      if ((char)local_b8 != '\0')" (binary_expression "_false> *)0x8d" identifier > (pointer_expression "*)0x8d" * (ERROR ")" )) number_literal)) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier : (assignment_expression "local_cc = local_b0" identifier = identifier) ; (call_expression "uVar39 = *(uint *)view;\n      if ((char)local_b8 != '\0')" (assignment_expression "uVar39 = *(uint *)view" identifier = (pointer_expression "*(uint *)view" * (cast_expression "(uint *)view" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) (ERROR ";\n      if" ; if) (argument_list "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )))) (compound_statement "{\n        uVar40 = uVar39 * 2 & 0x1fffe;\n        local_b0 = uVar40 - 0x20000;\n        if ((uVar39 * 2 & 0x10000) == 0) {\n          local_b0 = uVar40;\n        }\n      }" { (expression_statement "uVar40 = uVar39 * 2 & 0x1fffe;" (assignment_expression "uVar40 = uVar39 * 2 & 0x1fffe" identifier = (binary_expression "uVar39 * 2 & 0x1fffe" (binary_expression "uVar39 * 2" identifier * number_literal) & number_literal)) ;) (expression_statement "local_b0 = uVar40 - 0x20000;" (assignment_expression "local_b0 = uVar40 - 0x20000" identifier = (binary_expression "uVar40 - 0x20000" identifier - number_literal)) ;) (if_statement "if ((uVar39 * 2 & 0x10000) == 0) {\n          local_b0 = uVar40;\n        }" if (parenthesized_expression "((uVar39 * 2 & 0x10000) == 0)" ( (binary_expression "(uVar39 * 2 & 0x10000) == 0" (parenthesized_expression "(uVar39 * 2 & 0x10000)" ( (binary_expression "uVar39 * 2 & 0x10000" (binary_expression "uVar39 * 2" identifier * number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar40;\n        }" { (expression_statement "local_b0 = uVar40;" (assignment_expression "local_b0 = uVar40" identifier = identifier) ;) })) }) (ERROR "pp_Var56 = (_List_node_base **" identifier = ( identifier * *) ))) (ERROR "this_00;\n      VVar23" identifier ; identifier) = identifier) (ERROR "::Symbol_value" : : identifier) < number_literal) > (ERROR "::" : :) identifier) < false) > ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar40 = VVar23 - address >> 1;\n      if ((bool)calculate_only != false) goto LAB_002c3c10;\n      *(uint *)view = (uVar40 ^ uVar39) & 0xffff ^ uVar39;" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,local_b0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,local_b0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,local_b0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; (call_expression "uVar40 = VVar23 - address >> 1;\n      if ((bool)calculate_only != false)" (assignment_expression "uVar40 = VVar23 - address >> 1" identifier = (binary_expression "VVar23 - address >> 1" (binary_expression "VVar23 - address" identifier - identifier) >> number_literal)) (ERROR ";\n      if" ; if) (argument_list "((bool)calculate_only != false)" ( (binary_expression "(bool)calculate_only != false" (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier) != false) ))) identifier (binary_expression "LAB_002c3c10;\n      *(uint *)view = (uVar40 ^ uVar39) & 0xffff ^ uVar39" identifier (ERROR ";" ;) * (cast_expression "(uint *)view = (uVar40 ^ uVar39) & 0xffff ^ uVar39" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (assignment_expression "view = (uVar40 ^ uVar39) & 0xffff ^ uVar39" identifier = (binary_expression "(uVar40 ^ uVar39) & 0xffff ^ uVar39" (binary_expression "(uVar40 ^ uVar39) & 0xffff" (parenthesized_expression "(uVar40 ^ uVar39)" ( (binary_expression "uVar40 ^ uVar39" identifier ^ identifier) )) & number_literal) ^ identifier)))) ;) (assignment_expression "SVar26 = (Status)(0x1ffff < (VVar23 - address) + 0x10000)" identifier = (call_expression "(Status)(0x1ffff < (VVar23 - address) + 0x10000)" (parenthesized_expression "(Status)" ( identifier )) (argument_list "(0x1ffff < (VVar23 - address) + 0x10000)" ( (binary_expression "0x1ffff < (VVar23 - address) + 0x10000" number_literal < (binary_expression "(VVar23 - address) + 0x10000" (parenthesized_expression "(VVar23 - address)" ( (binary_expression "VVar23 - address" identifier - identifier) )) + number_literal)) )))) (ERROR ";\n      break;\n    case" ; break ; case) ( (binary_expression "Mips_relobj<32" identifier < number_literal) , (ERROR "_false> *)0xf8:\n      local_b8 = (_Bit_type *)0x0;\nLAB_002c3260:\n      pp_Var56 = (_List_node_base **)this_00;\n      VVar23 = gold::Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar39 = VVar23 - address;\n      pp_Var43 = (_List_node_base **)puVar44;\njoined_r0x002c327b:\n      if ((bool)calculate_only == false) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    }\nLAB_002c1e60:\n    lo16_reloc = (_Rb_tree_color)pp_Var56;\n    unaff_R13 = (Mips_symbol<64> *)\n                ((long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4);\n    if (local_d8 == unaff_R13) break;\n    lo16_reloc = *(_Rb_tree_color *)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_;\n    pMVar28 = (Mips_symbol<64> *)(ulong)lo16_reloc;\n  }\n  local_c8 = (Mips_relobj<32,_false> *)&symval;\n  uVar39 = uVar65 - 0x85;\n  if (local_f0 < 0xd) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    if (uVar39 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;\n        lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100)) {\n      if (uVar65 != 100) goto LAB_002c1c8c;\n      uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(short *)(view + 2) = (short)lo16_reloc;\n    *(ushort *)view = uVar38;\n  }\n  else if (((uVar39 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) != 0)) &&\n          (1 < uVar65 - 0x8b)) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    goto LAB_002c19bf;\n  }\n  if (SVar26 == STATUS_OVERFLOW) {\n    if (gsym == (Sized_symbol<32> *)0x0) {\n      pcVar16 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                super_Relobj.super_Object.name_._M_dataplus._M_p;\n      lo16_reloc = 0x2c3cf7;\n      pcVar61 = (char *)gettext("relocation overflow: %u against local symbol %u in %s");\n      gold::gold_error_at_location<32,_false>\n                (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,(ulong)_Var51,pcVar16);\n    }\n    else {\n      bVar21 = (gsym->super_Symbol).field_0x3a;\n      if ((bVar21 & 7) == 0) {\n        uVar39 = (gsym->super_Symbol).u2_.shndx;\n        if (((gsym->super_Symbol).field_0x3b & 0x20) == 0) {\n          bVar67 = gold::Symbol::is_common_shndx(uVar39);\n          bVar67 = !bVar67;\n        }\n        else {\n          bVar67 = uVar39 != 0;\n        }\n      }\n      else {\n        bVar67 = (bVar21 & 7) != 4;\n      }\n      if ((bVar67) && (((gsym->super_Symbol).field_0x3a & 7) == 0)) {\n        uVar11 = ((gsym->super_Symbol).u1_.output_data)->address_;\n        gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);\n        _Var19._M_p = local_58._M_dataplus._M_p;\n        pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    /* try { // try from 002c1a5e to 002c1a62 has its CatchHandler @ 002c47ab */\n        gold::gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p,uVar11);\n        lo16_reloc = (_Rb_tree_color)relnum;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;\n      }\n      else {\n        gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);\n        _Var19._M_p = local_58._M_dataplus._M_p;\n        pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\'");\n                    /* try { // try from 002c2bde to 002c2be2 has its CatchHandler @ 002c47b3 */\n        gold::gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p);\n        lo16_reloc = (_Rb_tree_color)relnum;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;\n      }\n      operator_delete(local_58._M_dataplus._M_p);\n    }\n  }\n  else if (SVar26 != STATUS_OKAY) {\n    if (SVar26 == STATUS_BAD_RELOC) {\n      pcVar61 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (SVar26 != STATUS_PCREL_UNALIGNED) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar61 = "unaligned PC-relative relocation";\n    }\n    pcVar61 = (char *)gettext(pcVar61);\n    gold::" (binary_expression "_false> *)0xf8" identifier > (pointer_expression "*)0xf8" * (ERROR ")" )) number_literal)) : (assignment_expression "local_b8 = (_Bit_type *)0x0" identifier = (cast_expression "(_Bit_type *)0x0" ( (type_descriptor "_Bit_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ; identifier : (assignment_expression "pp_Var56 = (_List_node_base **)this_00" identifier = (cast_expression "(_List_node_base **)this_00" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ; (assignment_expression "VVar23 = gold" identifier = identifier) : : (call_expression "Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar39 = VVar23 - address;\n      pp_Var43 = (_List_node_base **)puVar44;\njoined_r0x002c327b:\n      if ((bool)calculate_only == false) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    }\nLAB_002c1e60:\n    lo16_reloc = (_Rb_tree_color)pp_Var56;\n    unaff_R13 = (Mips_symbol<64> *)\n                ((long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4);\n    if (local_d8 == unaff_R13) break;\n    lo16_reloc = *(_Rb_tree_color *)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_;\n    pMVar28 = (Mips_symbol<64> *)(ulong)lo16_reloc;\n  }\n  local_c8 = (Mips_relobj<32,_false> *)&symval;\n  uVar39 = uVar65 - 0x85;\n  if (local_f0 < 0xd) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    if (uVar39 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;\n        lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100)) {\n      if (uVar65 != 100) goto LAB_002c1c8c;\n      uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(short *)(view + 2) = (short)lo16_reloc;\n    *(ushort *)view = uVar38;\n  }\n  else if (((uVar39 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) != 0)) &&\n          (1 < uVar65 - 0x8b)) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    goto LAB_002c19bf;\n  }\n  if (SVar26 == STATUS_OVERFLOW) {\n    if (gsym == (Sized_symbol<32> *)0x0) {\n      pcVar16 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                super_Relobj.super_Object.name_._M_dataplus._M_p;\n      lo16_reloc = 0x2c3cf7;\n      pcVar61 = (char *)gettext("relocation overflow: %u against local symbol %u in %s");\n      gold::gold_error_at_location<32,_false>\n                (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,(ulong)_Var51,pcVar16);\n    }\n    else {\n      bVar21 = (gsym->super_Symbol).field_0x3a;\n      if ((bVar21 & 7) == 0) {\n        uVar39 = (gsym->super_Symbol).u2_.shndx;\n        if (((gsym->super_Symbol).field_0x3b & 0x20) == 0) {\n          bVar67 = gold::Symbol::is_common_shndx(uVar39);\n          bVar67 = !bVar67;\n        }\n        else {\n          bVar67 = uVar39 != 0;\n        }\n      }\n      else {\n        bVar67 = (bVar21 & 7) != 4;\n      }\n      if ((bVar67) && (((gsym->super_Symbol).field_0x3a & 7) == 0)) {\n        uVar11 = ((gsym->super_Symbol).u1_.output_data)->address_;\n        gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);\n        _Var19._M_p = local_58._M_dataplus._M_p;\n        pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    /* try { // try from 002c1a5e to 002c1a62 has its CatchHandler @ 002c47ab */\n        gold::gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p,uVar11);\n        lo16_reloc = (_Rb_tree_color)relnum;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;\n      }\n      else {\n        gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);\n        _Var19._M_p = local_58._M_dataplus._M_p;\n        pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\'");\n                    /* try { // try from 002c2bde to 002c2be2 has its CatchHandler @ 002c47b3 */\n        gold::gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p);\n        lo16_reloc = (_Rb_tree_color)relnum;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;\n      }\n      operator_delete(local_58._M_dataplus._M_p);\n    }\n  }\n  else if (SVar26 != STATUS_OKAY) {\n    if (SVar26 == STATUS_BAD_RELOC) {\n      pcVar61 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (SVar26 != STATUS_PCREL_UNALIGNED)" (assignment_expression "Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar39 = VVar23 - address;\n      pp_Var43 = (_List_node_base **)puVar44;\njoined_r0x002c327b:\n      if ((bool)calculate_only == false) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    }\nLAB_002c1e60:\n    lo16_reloc = (_Rb_tree_color)pp_Var56;\n    unaff_R13 = (Mips_symbol<64> *)\n                ((long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4);\n    if (local_d8 == unaff_R13) break;\n    lo16_reloc = *(_Rb_tree_color *)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_;\n    pMVar28 = (Mips_symbol<64> *)(ulong)lo16_reloc;\n  }\n  local_c8 = (Mips_relobj<32,_false> *)&symval;\n  uVar39 = uVar65 - 0x85;\n  if (local_f0 < 0xd) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    if (uVar39 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;\n        lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100)) {\n      if (uVar65 != 100) goto LAB_002c1c8c;\n      uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(short *)(view + 2) = (short)lo16_reloc;\n    *(ushort *)view = uVar38;\n  }\n  else if (((uVar39 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) != 0)) &&\n          (1 < uVar65 - 0x8b)) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    goto LAB_002c19bf;\n  }\n  if (SVar26 == STATUS_OVERFLOW) {\n    if (gsym == (Sized_symbol<32> *)0x0) {\n      pcVar16 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                super_Relobj.super_Object.name_._M_dataplus._M_p;\n      lo16_reloc = 0x2c3cf7;\n      pcVar61 = (char *)gettext("relocation overflow: %u against local symbol %u in %s");\n      gold::gold_error_at_location<32,_false>\n                (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,(ulong)_Var51,pcVar16);\n    }\n    else {\n      bVar21 = (gsym->super_Symbol).field_0x3a;\n      if ((bVar21 & 7) == 0) {\n        uVar39 = (gsym->super_Symbol).u2_.shndx;\n        if (((gsym->super_Symbol).field_0x3b & 0x20) == 0) {\n          bVar67 = gold::Symbol::is_common_shndx(uVar39);\n          bVar67 = !bVar67;\n        }\n        else {\n          bVar67 = uVar39 != 0;\n        }\n      }\n      else {\n        bVar67 = (bVar21 & 7) != 4;\n      }\n      if ((bVar67) && (((gsym->super_Symbol).field_0x3a & 7) == 0)) {\n        uVar11 = ((gsym->super_Symbol).u1_.output_data)->address_;\n        gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);\n        _Var19._M_p = local_58._M_dataplus._M_p;\n        pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    /* try { // try from 002c1a5e to 002c1a62 has its CatchHandler @ 002c47ab */\n        gold::gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p,uVar11);\n        lo16_reloc = (_Rb_tree_color)relnum;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;\n      }\n      else {\n        gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);\n        _Var19._M_p = local_58._M_dataplus._M_p;\n        pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\'");\n                    /* try { // try from 002c2bde to 002c2be2 has its CatchHandler @ 002c47b3 */\n        gold::gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p);\n        lo16_reloc = (_Rb_tree_color)relnum;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;\n      }\n      operator_delete(local_58._M_dataplus._M_p);\n    }\n  }\n  else if (SVar26 != STATUS_OKAY) {\n    if (SVar26 == STATUS_BAD_RELOC) {\n      pcVar61 = "unexpected opcode while processing relocation"" (call_expression "Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar39 = VVar23 - address;\n      pp_Var43 = (_List_node_base **)puVar44;\njoined_r0x002c327b:\n      if ((bool)calculate_only == false) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    }\nLAB_002c1e60:\n    lo16_reloc = (_Rb_tree_color)pp_Var56;\n    unaff_R13 = (Mips_symbol<64> *)\n                ((long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4);\n    if (local_d8 == unaff_R13) break;\n    lo16_reloc = *(_Rb_tree_color *)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_;\n    pMVar28 = (Mips_symbol<64> *)(ulong)lo16_reloc;\n  }\n  local_c8 = (Mips_relobj<32,_false> *)&symval;\n  uVar39 = uVar65 - 0x85;\n  if (local_f0 < 0xd) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    if (uVar39 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;\n        lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100)) {\n      if (uVar65 != 100) goto LAB_002c1c8c;\n      uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(short *)(view + 2) = (short)lo16_reloc;\n    *(ushort *)view = uVar38;\n  }\n  else if (((uVar39 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) != 0)) &&\n          (1 < uVar65 - 0x8b)) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    goto LAB_002c19bf;\n  }\n  if (SVar26 == STATUS_OVERFLOW) {\n    if (gsym == (Sized_symbol<32> *)0x0) {\n      pcVar16 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                super_Relobj.super_Object.name_._M_dataplus._M_p;\n      lo16_reloc = 0x2c3cf7;\n      pcVar61 = (char *)gettext("relocation overflow: %u against local symbol %u in %s");\n      gold::gold_error_at_location<32,_false>\n                (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,(ulong)_Var51,pcVar16);\n    }\n    else {\n      bVar21 = (gsym->super_Symbol).field_0x3a;\n      if ((bVar21 & 7) == 0) {\n        uVar39 = (gsym->super_Symbol).u2_.shndx;\n        if (((gsym->super_Symbol).field_0x3b & 0x20) == 0) {\n          bVar67 = gold::Symbol::is_common_shndx(uVar39);\n          bVar67 = !bVar67;\n        }\n        else {\n          bVar67 = uVar39 != 0;\n        }\n      }\n      else {\n        bVar67 = (bVar21 & 7) != 4;\n      }\n      if ((bVar67) && (((gsym->super_Symbol).field_0x3a & 7) == 0)) {\n        uVar11 = ((gsym->super_Symbol).u1_.output_data)->address_;\n        gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);\n        _Var19._M_p = local_58._M_dataplus._M_p;\n        pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    /* try { // try from 002c1a5e to 002c1a62 has its CatchHandler @ 002c47ab */\n        gold::gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p,uVar11);\n        lo16_reloc = (_Rb_tree_color)relnum;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;\n      }\n      else {\n        gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);\n        _Var19._M_p = local_58._M_dataplus._M_p;\n        pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\'");\n                    /* try { // try from 002c2bde to 002c2be2 has its CatchHandler @ 002c47b3 */\n        gold::gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p);\n        lo16_reloc = (_Rb_tree_color)relnum;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;\n      }\n      operator_delete(local_58._M_dataplus._M_p);\n    }\n  }\n  else if (SVar26 != STATUS_OKAY) {\n    if (SVar26 == STATUS_BAD_RELOC)" (call_expression "Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar39 = VVar23 - address;\n      pp_Var43 = (_List_node_base **)puVar44;\njoined_r0x002c327b:\n      if ((bool)calculate_only == false) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    }\nLAB_002c1e60:\n    lo16_reloc = (_Rb_tree_color)pp_Var56;\n    unaff_R13 = (Mips_symbol<64> *)\n                ((long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4);\n    if (local_d8 == unaff_R13) break;\n    lo16_reloc = *(_Rb_tree_color *)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_;\n    pMVar28 = (Mips_symbol<64> *)(ulong)lo16_reloc;\n  }\n  local_c8 = (Mips_relobj<32,_false> *)&symval;\n  uVar39 = uVar65 - 0x85;\n  if (local_f0 < 0xd) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    if (uVar39 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;\n        lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100)) {\n      if (uVar65 != 100) goto LAB_002c1c8c;\n      uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(short *)(view + 2) = (short)lo16_reloc;\n    *(ushort *)view = uVar38;\n  }\n  else if (((uVar39 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) != 0)) &&\n          (1 < uVar65 - 0x8b)) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    goto LAB_002c19bf;\n  }\n  if (SVar26 == STATUS_OVERFLOW) {\n    if (gsym == (Sized_symbol<32> *)0x0) {\n      pcVar16 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                super_Relobj.super_Object.name_._M_dataplus._M_p;\n      lo16_reloc = 0x2c3cf7;\n      pcVar61 = (char *)gettext("relocation overflow: %u against local symbol %u in %s");\n      gold::gold_error_at_location<32,_false>\n                (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,(ulong)_Var51,pcVar16);\n    }\n    else {\n      bVar21 = (gsym->super_Symbol).field_0x3a;\n      if ((bVar21 & 7) == 0) {\n        uVar39 = (gsym->super_Symbol).u2_.shndx;\n        if (((gsym->super_Symbol).field_0x3b & 0x20) == 0) {\n          bVar67 = gold::Symbol::is_common_shndx(uVar39);\n          bVar67 = !bVar67;\n        }\n        else {\n          bVar67 = uVar39 != 0;\n        }\n      }\n      else {\n        bVar67 = (bVar21 & 7) != 4;\n      }\n      if ((bVar67) && (((gsym->super_Symbol).field_0x3a & 7) == 0)) {\n        uVar11 = ((gsym->super_Symbol).u1_.output_data)->address_;\n        gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);\n        _Var19._M_p = local_58._M_dataplus._M_p;\n        pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    /* try { // try from 002c1a5e to 002c1a62 has its CatchHandler @ 002c47ab */\n        gold::gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p,uVar11);\n        lo16_reloc = (_Rb_tree_color)relnum;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;\n      }\n      else {\n        gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);\n        _Var19._M_p = local_58._M_dataplus._M_p;\n        pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\'");\n                    /* try { // try from 002c2bde to 002c2be2 has its CatchHandler @ 002c47b3 */\n        gold::gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p);\n        lo16_reloc = (_Rb_tree_color)relnum;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;\n      }\n      operator_delete(local_58._M_dataplus._M_p);\n    }\n  }\n  else if (SVar26 != STATUS_OKAY)" (call_expression "Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar39 = VVar23 - address;\n      pp_Var43 = (_List_node_base **)puVar44;\njoined_r0x002c327b:\n      if ((bool)calculate_only == false) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    }\nLAB_002c1e60:\n    lo16_reloc = (_Rb_tree_color)pp_Var56;\n    unaff_R13 = (Mips_symbol<64> *)\n                ((long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4);\n    if (local_d8 == unaff_R13) break;\n    lo16_reloc = *(_Rb_tree_color *)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_;\n    pMVar28 = (Mips_symbol<64> *)(ulong)lo16_reloc;\n  }\n  local_c8 = (Mips_relobj<32,_false> *)&symval;\n  uVar39 = uVar65 - 0x85;\n  if (local_f0 < 0xd) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    if (uVar39 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;\n        lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100)) {\n      if (uVar65 != 100) goto LAB_002c1c8c;\n      uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(short *)(view + 2) = (short)lo16_reloc;\n    *(ushort *)view = uVar38;\n  }\n  else if (((uVar39 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) != 0)) &&\n          (1 < uVar65 - 0x8b)) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    goto LAB_002c19bf;\n  }\n  if (SVar26 == STATUS_OVERFLOW)" (call_expression "Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar39 = VVar23 - address;\n      pp_Var43 = (_List_node_base **)puVar44;\njoined_r0x002c327b:\n      if ((bool)calculate_only == false) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    }\nLAB_002c1e60:\n    lo16_reloc = (_Rb_tree_color)pp_Var56;\n    unaff_R13 = (Mips_symbol<64> *)\n                ((long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4);\n    if (local_d8 == unaff_R13) break;\n    lo16_reloc = *(_Rb_tree_color *)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_;\n    pMVar28 = (Mips_symbol<64> *)(ulong)lo16_reloc;\n  }\n  local_c8 = (Mips_relobj<32,_false> *)&symval;\n  uVar39 = uVar65 - 0x85;\n  if (local_f0 < 0xd) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    if (uVar39 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;\n        lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100)) {\n      if (uVar65 != 100) goto LAB_002c1c8c;\n      uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(short *)(view + 2) = (short)lo16_reloc;\n    *(ushort *)view = uVar38;\n  }\n  else if (((uVar39 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) != 0)) &&\n          (1 < uVar65 - 0x8b)) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10)" (call_expression "Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar39 = VVar23 - address;\n      pp_Var43 = (_List_node_base **)puVar44;\njoined_r0x002c327b:\n      if ((bool)calculate_only == false) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    }\nLAB_002c1e60:\n    lo16_reloc = (_Rb_tree_color)pp_Var56;\n    unaff_R13 = (Mips_symbol<64> *)\n                ((long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4);\n    if (local_d8 == unaff_R13) break;\n    lo16_reloc = *(_Rb_tree_color *)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_;\n    pMVar28 = (Mips_symbol<64> *)(ulong)lo16_reloc;\n  }\n  local_c8 = (Mips_relobj<32,_false> *)&symval;\n  uVar39 = uVar65 - 0x85;\n  if (local_f0 < 0xd) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    if (uVar39 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;\n        lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100)) {\n      if (uVar65 != 100) goto LAB_002c1c8c;\n      uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(short *)(view + 2) = (short)lo16_reloc;\n    *(ushort *)view = uVar38;\n  }\n  else if (((uVar39 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) != 0)) &&\n          (1 < uVar65 - 0x8b)) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)" (binary_expression "Symbol_value<32>::value<false>\n                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar39 = VVar23 - address;\n      pp_Var43 = (_List_node_base **)puVar44;\njoined_r0x002c327b:\n      if ((bool)calculate_only == false) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    }\nLAB_002c1e60:\n    lo16_reloc = (_Rb_tree_color)pp_Var56;\n    unaff_R13 = (Mips_symbol<64> *)\n                ((long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4);\n    if (local_d8 == unaff_R13) break;\n    lo16_reloc = *(_Rb_tree_color *)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_;\n    pMVar28 = (Mips_symbol<64> *)(ulong)lo16_reloc;\n  }\n  local_c8 = (Mips_relobj<32,_false> *)&symval;\n  uVar39 = uVar65 - 0x85;\n  if (local_f0 < 0xd) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    if (uVar39 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;\n        lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100)) {\n      if (uVar65 != 100) goto LAB_002c1c8c;\n      uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(short *)(view + 2) = (short)lo16_reloc;\n    *(ushort *)view = uVar38;\n  }\n  else if (((uVar39 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) != 0)) &&\n          (1 < uVar65 - 0x8b)) {\n    lo16_reloc = *(_Rb_tree_color *)view" (binary_expression "Symbol_value<32>::value<false" (binary_expression "Symbol_value<32>::value" (binary_expression "Symbol_value<32" identifier < number_literal) > (ERROR "::" : :) identifier) < false) > (assignment_expression "(psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar39 = VVar23 - address;\n      pp_Var43 = (_List_node_base **)puVar44;\njoined_r0x002c327b:\n      if ((bool)calculate_only == false) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    }\nLAB_002c1e60:\n    lo16_reloc = (_Rb_tree_color)pp_Var56;\n    unaff_R13 = (Mips_symbol<64> *)\n                ((long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4);\n    if (local_d8 == unaff_R13) break;\n    lo16_reloc = *(_Rb_tree_color *)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_;\n    pMVar28 = (Mips_symbol<64> *)(ulong)lo16_reloc;\n  }\n  local_c8 = (Mips_relobj<32,_false> *)&symval;\n  uVar39 = uVar65 - 0x85;\n  if (local_f0 < 0xd) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    if (uVar39 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;\n        lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100)) {\n      if (uVar65 != 100) goto LAB_002c1c8c;\n      uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(short *)(view + 2) = (short)lo16_reloc;\n    *(ushort *)view = uVar38;\n  }\n  else if (((uVar39 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) != 0)) &&\n          (1 < uVar65 - 0x8b)) {\n    lo16_reloc = *(_Rb_tree_color *)view" (parenthesized_expression "(psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar39 = VVar23 - address;\n      pp_Var43 = (_List_node_base **)puVar44;\njoined_r0x002c327b:\n      if ((bool)calculate_only == false) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    }\nLAB_002c1e60:\n    lo16_reloc = (_Rb_tree_color)pp_Var56;\n    unaff_R13 = (Mips_symbol<64> *)\n                ((long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4);\n    if (local_d8 == unaff_R13) break;\n    lo16_reloc = *(_Rb_tree_color *)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_;\n    pMVar28 = (Mips_symbol<64> *)(ulong)lo16_reloc;\n  }\n  local_c8 = (Mips_relobj<32,_false> *)&symval;\n  uVar39 = uVar65 - 0x85;\n  if (local_f0 < 0xd) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    if (uVar39 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;\n        lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100)) {\n      if (uVar65 != 100) goto LAB_002c1c8c;\n      uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(short *)(view + 2) = (short)lo16_reloc;\n    *(ushort *)view = uVar38;\n  }\n  else if (((uVar39 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) != 0)) &&\n          (1 < uVar65 - 0x8b))" ( (ERROR "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);\n      uVar39 = VVar23 - address;\n      pp_Var43 = (_List_node_base **)puVar44;\njoined_r0x002c327b:\n      if ((bool)calculate_only == false) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    }\nLAB_002c1e60:\n    lo16_reloc = (_Rb_tree_color)pp_Var56;" (comma_expression "psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_false> *)this_00,local_b0)" ( (comma_expression "Sized_relobj_file<32,_false> *)this_00,local_b0" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_false> *)this_00,local_b0" (binary_expression "_false> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier)) ))) ; (assignment_expression "uVar39 = VVar23 - address" identifier = (binary_expression "VVar23 - address" identifier - identifier)) ; (assignment_expression "pp_Var43 = (_List_node_base **)puVar44" identifier = (cast_expression "(_List_node_base **)puVar44" ( (type_descriptor "_List_node_base **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ; (call_expression "joined_r0x002c327b:\n      if ((bool)calculate_only == false)" identifier (ERROR ":\n      if" : if) (argument_list "((bool)calculate_only == false)" ( (binary_expression "(bool)calculate_only == false" (cast_expression "(bool)calculate_only" ( (type_descriptor "bool" primitive_type) ) identifier) == false) ))) identifier identifier ; goto identifier ; } identifier : (assignment_expression "lo16_reloc = (_Rb_tree_color)pp_Var56" identifier = (cast_expression "(_Rb_tree_color)pp_Var56" ( (type_descriptor "_Rb_tree_color" type_identifier) ) identifier)) ;) (assignment_expression "unaff_R13 = (Mips_symbol<64> *)\n                ((long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4);\n    if (local_d8 == unaff_R13) break;\n    lo16_reloc = *(_Rb_tree_color *)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_;\n    pMVar28 = (Mips_symbol<64> *)(ulong)lo16_reloc;\n  }\n  local_c8 = (Mips_relobj<32,_false> *)&symval;\n  uVar39 = uVar65 - 0x85;\n  if (local_f0 < 0xd) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    if (uVar39 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;\n        lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100)) {\n      if (uVar65 != 100) goto LAB_002c1c8c;\n      uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(short *)(view + 2) = (short)lo16_reloc;\n    *(ushort *)view = uVar38;\n  }\n  else if (((uVar39 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) != 0)) &&\n          (1 < uVar65 - 0x8b)" identifier = (binary_expression "(Mips_symbol<64> *)\n                ((long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4);\n    if (local_d8 == unaff_R13) break;\n    lo16_reloc = *(_Rb_tree_color *)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_;\n    pMVar28 = (Mips_symbol<64> *)(ulong)lo16_reloc;\n  }\n  local_c8 = (Mips_relobj<32,_false> *)&symval;\n  uVar39 = uVar65 - 0x85;\n  if (local_f0 < 0xd) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    if (uVar39 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;\n        lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100)) {\n      if (uVar65 != 100) goto LAB_002c1c8c;\n      uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(short *)(view + 2) = (short)lo16_reloc;\n    *(ushort *)view = uVar38;\n  }\n  else if (((uVar39 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) != 0)) &&\n          (1 < uVar65 - 0x8b)" (parenthesized_expression "(Mips_symbol<64> *)\n                ((long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4);\n    if (local_d8 == unaff_R13) break;\n    lo16_reloc = *(_Rb_tree_color *)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_;\n    pMVar28 = (Mips_symbol<64> *)(ulong)lo16_reloc;\n  }\n  local_c8 = (Mips_relobj<32,_false> *)&symval;\n  uVar39 = uVar65 - 0x85;\n  if (local_f0 < 0xd) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    if (uVar39 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;\n        lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100)) {\n      if (uVar65 != 100) goto LAB_002c1c8c;\n      uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(short *)(view + 2) = (short)lo16_reloc;\n    *(ushort *)view = uVar38;\n  }\n  else if (((uVar39 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) != 0))" ( (assignment_expression "Mips_symbol<64> *)\n                ((long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4);\n    if (local_d8 == unaff_R13) break;\n    lo16_reloc = *(_Rb_tree_color *)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_;\n    pMVar28 = (Mips_symbol<64> *)(ulong)lo16_reloc;\n  }\n  local_c8 = (Mips_relobj<32,_false> *)&symval;\n  uVar39 = uVar65 - 0x85;\n  if (local_f0 < 0xd) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    if (uVar39 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;\n        lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100)) {\n      if (uVar65 != 100) goto LAB_002c1c8c;\n      uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(short *)(view + 2) = (short)lo16_reloc;\n    *(ushort *)view = uVar38;\n  }\n  else if (((uVar39 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) != 0)" (call_expression "Mips_symbol<64> *)\n                ((long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4);\n    if (local_d8 == unaff_R13) break;\n    lo16_reloc = *(_Rb_tree_color *)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_;\n    pMVar28 = (Mips_symbol<64> *)(ulong)" (call_expression "Mips_symbol<64> *)\n                ((long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4);\n    if (local_d8 == unaff_R13) break;\n    lo16_reloc = *(_Rb_tree_color *)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_;\n    pMVar28 = (Mips_symbol<64> *)" (assignment_expression "Mips_symbol<64> *)\n                ((long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4);\n    if (local_d8 == unaff_R13) break;\n    lo16_reloc = *(_Rb_tree_color *)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_" (call_expression "Mips_symbol<64> *)\n                ((long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4);\n    if (local_d8 == unaff_R13)" (binary_expression "Mips_symbol<64> *)\n                ((long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4)" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*)\n                ((long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4)" * (ERROR ")" )) (parenthesized_expression "((long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4)" ( (binary_expression "(long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4" (cast_expression "(long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_" & (field_expression "(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_" (field_expression "(unaff_R13->super_Sized_symbol<64>).super_Symbol" (parenthesized_expression "(unaff_R13->super_Sized_symbol<64>)" ( (binary_expression "unaff_R13->super_Sized_symbol<64>" (binary_expression "unaff_R13->super_Sized_symbol<64" (field_expression "unaff_R13->super_Sized_symbol" identifier -> field_identifier) < number_literal) > identifier) )) . field_identifier) . field_identifier))) + number_literal) )))) (ERROR ";\n    if" ; if) (argument_list "(local_d8 == unaff_R13)" ( (binary_expression "local_d8 == unaff_R13" identifier == identifier) ))) (ERROR "break;\n    lo16_reloc" identifier ; identifier) = (pointer_expression "*(_Rb_tree_color *)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_" * (cast_expression "(_Rb_tree_color *)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_" ( (type_descriptor "_Rb_tree_color *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_" & (field_expression "(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_" (field_expression "(unaff_R13->super_Sized_symbol<64>).super_Symbol" (parenthesized_expression "(unaff_R13->super_Sized_symbol<64>)" ( (binary_expression "unaff_R13->super_Sized_symbol<64>" (binary_expression "unaff_R13->super_Sized_symbol<64" (field_expression "unaff_R13->super_Sized_symbol" identifier -> field_identifier) < number_literal) > identifier) )) . field_identifier) . field_identifier))))) (ERROR ";\n    pMVar28 =" ; identifier =) (argument_list "(Mips_symbol<64> *)" ( (binary_expression "Mips_symbol<64> *" (binary_expression "Mips_symbol<64" identifier < number_literal) > (pointer_expression "*" * identifier)) ))) (argument_list "(ulong)" ( identifier ))) (ERROR "lo16_reloc;\n  }\n  local_c8" identifier ; } identifier) = (binary_expression "(Mips_relobj<32,_false> *)&symval;\n  uVar39 = uVar65 - 0x85;\n  if (local_f0 < 0xd) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    if (uVar39 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;\n        lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100)) {\n      if (uVar65 != 100) goto LAB_002c1c8c;\n      uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(short *)(view + 2) = (short)lo16_reloc;\n    *(ushort *)view = uVar38;\n  }\n  else if (((uVar39 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) != 0)" (parenthesized_expression "(Mips_relobj<32,_false> *)&symval;\n  uVar39 = uVar65 - 0x85;\n  if (local_f0 < 0xd) {\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    if (uVar39 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;\n        lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100)) {\n      if (uVar65 != 100) goto LAB_002c1c8c;\n      uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(short *)(view + 2) = (short)lo16_reloc;\n    *(ushort *)view = uVar38;\n  }\n  else if (((uVar39 < 0x29)" ( (ERROR "Mips_relobj<32,_false> *)&symval;\n  uVar39 = uVar65 - 0x85;\n  if (local_f0 < 0xd)" (comma_expression "Mips_relobj<32,_false> *)&symval" (binary_expression "Mips_relobj<32" identifier < number_literal) , (binary_expression "_false> *)&symval" identifier > (pointer_expression "*)&symval" * (ERROR ")" )) (pointer_expression "&symval" & identifier)))) ; (call_expression "uVar39 = uVar65 - 0x85;\n  if (local_f0 < 0xd)" (assignment_expression "uVar39 = uVar65 - 0x85" identifier = (binary_expression "uVar65 - 0x85" identifier - number_literal)) (ERROR ";\n  if" ; if) (argument_list "(local_f0 < 0xd)" ( (binary_expression "local_f0 < 0xd" identifier < number_literal) )))) (compound_statement "{\n    lo16_reloc = *(_Rb_tree_color *)view;\n    uVar38 = (ushort)(lo16_reloc >> 0x10);\n    if (uVar39 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;\n        lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100)) {\n      if (uVar65 != 100) goto LAB_002c1c8c;\n      uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(short *)(view + 2) = (short)lo16_reloc;\n    *(ushort *)view = uVar38;\n  }" { (expression_statement "lo16_reloc = *(_Rb_tree_color *)view;" (assignment_expression "lo16_reloc = *(_Rb_tree_color *)view" identifier = (pointer_expression "*(_Rb_tree_color *)view" * (cast_expression "(_Rb_tree_color *)view" ( (type_descriptor "_Rb_tree_color *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar38 = (ushort)(lo16_reloc >> 0x10);" (assignment_expression "uVar38 = (ushort)(lo16_reloc >> 0x10)" identifier = (call_expression "(ushort)(lo16_reloc >> 0x10)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(lo16_reloc >> 0x10)" ( (binary_expression "lo16_reloc >> 0x10" identifier >> number_literal) )))) ;) (if_statement "if (uVar39 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;\n        lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100)) {\n      if (uVar65 != 100) goto LAB_002c1c8c;\n      uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;\n    }" if (parenthesized_expression "(uVar39 < 0x29)" ( (binary_expression "uVar39 < 0x29" identifier < number_literal) )) (compound_statement "{\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;\n        lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;\n      }\n    }" { (if_statement "if ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;\n        lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;\n      }" if (parenthesized_expression "((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0)" ( (binary_expression "(0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0" (parenthesized_expression "(0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1)" ( (binary_expression "0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1" (binary_expression "0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f)" number_literal >> (parenthesized_expression "((ulong)uVar39 & 0x3f)" ( (binary_expression "(ulong)uVar39 & 0x3f" (cast_expression "(ulong)uVar39" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) ))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_002c1c8c:\n        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;\n        lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;\n      }" { (labeled_statement "LAB_002c1c8c:\n        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;" statement_identifier : (expression_statement "uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;" (assignment_expression "uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f" identifier = (binary_expression "(ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f" (binary_expression "(ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800" (binary_expression "(ushort)lo16_reloc & 0x7e0" (cast_expression "(ushort)lo16_reloc" ( (type_descriptor "ushort" type_identifier) ) identifier) & number_literal) | (binary_expression "uVar38 & 0xf800" identifier & number_literal)) | (binary_expression "(ushort)(lo16_reloc >> 0xb) & 0x1f" (call_expression "(ushort)(lo16_reloc >> 0xb)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(lo16_reloc >> 0xb)" ( (binary_expression "lo16_reloc >> 0xb" identifier >> number_literal) ))) & number_literal))) ;)) (expression_statement "lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;" (assignment_expression "lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0" identifier = (binary_expression "lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0" (binary_expression "lo16_reloc & 0x1f" identifier & number_literal) | (binary_expression "lo16_reloc >> 0xb & 0xffffffe0" (binary_expression "lo16_reloc >> 0xb" identifier >> number_literal) & number_literal))) ;) })) }) (else_clause "else if (((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100)) {\n      if (uVar65 != 100) goto LAB_002c1c8c;\n      uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;\n    }" else (if_statement "if (((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100)) {\n      if (uVar65 != 100) goto LAB_002c1c8c;\n      uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;\n    }" if (parenthesized_expression "(((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100))" ( (binary_expression "((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100)" (parenthesized_expression "((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4)" ( (binary_expression "(uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4" (parenthesized_expression "(uVar65 == 0x85 || uVar65 == 100)" ( (binary_expression "uVar65 == 0x85 || uVar65 == 100" (binary_expression "uVar65 == 0x85" identifier == number_literal) || (binary_expression "uVar65 == 100" identifier == number_literal)) )) || (binary_expression "uVar65 == 4" identifier == number_literal)) )) || (parenthesized_expression "(uVar65 != 100)" ( (binary_expression "uVar65 != 100" identifier != number_literal) ))) )) (compound_statement "{\n      if (uVar65 != 100) goto LAB_002c1c8c;\n      uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;\n    }" { (if_statement "if (uVar65 != 100) goto LAB_002c1c8c;" if (parenthesized_expression "(uVar65 != 100)" ( (binary_expression "uVar65 != 100" identifier != number_literal) )) (goto_statement "goto LAB_002c1c8c;" goto statement_identifier ;)) (expression_statement "uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;" (assignment_expression "uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f" identifier = (binary_expression "uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f" (binary_expression "uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0" (binary_expression "uVar38 & 0xfc00" identifier & number_literal) | (binary_expression "(ushort)(lo16_reloc >> 0xb) & 0x3e0" (call_expression "(ushort)(lo16_reloc >> 0xb)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(lo16_reloc >> 0xb)" ( (binary_expression "lo16_reloc >> 0xb" identifier >> number_literal) ))) & number_literal)) | (binary_expression "uVar38 >> 5 & 0x1f" (binary_expression "uVar38 >> 5" identifier >> number_literal) & number_literal))) ;) })))) (labeled_statement "LAB_002c19bf:\n    *(short *)(view + 2) = (short)lo16_reloc;" statement_identifier : (expression_statement "*(short *)(view + 2) = (short)lo16_reloc;" (assignment_expression "*(short *)(view + 2) = (short)lo16_reloc" (pointer_expression "*(short *)(view + 2)" * (cast_expression "(short *)(view + 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(view + 2)" ( (binary_expression "view + 2" identifier + number_literal) )))) = (cast_expression "(short)lo16_reloc" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;)) (expression_statement "*(ushort *)view = uVar38;" (assignment_expression "*(ushort *)view = uVar38" (pointer_expression "*(ushort *)view" * (cast_expression "(ushort *)view" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (ERROR "else if (((uVar39 < 0x29" else if ( ( ( identifier < number_literal) )) && (parenthesized_expression "((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) != 0)" ( (binary_expression "(0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) != 0" (parenthesized_expression "(0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1)" ( (binary_expression "0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1" (binary_expression "0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f)" number_literal >> (parenthesized_expression "((ulong)uVar39 & 0x3f)" ( (binary_expression "(ulong)uVar39 & 0x3f" (cast_expression "(ulong)uVar39" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) ))) & number_literal) )) != number_literal) )))) )) && (parenthesized_expression "(1 < uVar65 - 0x8b)" ( (binary_expression "1 < uVar65 - 0x8b" number_literal < (binary_expression "uVar65 - 0x8b" identifier - number_literal)) )))) )) (ERROR "{\n    lo16_reloc" { identifier) = (pointer_expression "*(_Rb_tree_color *)view" * (cast_expression "(_Rb_tree_color *)view" ( (type_descriptor "_Rb_tree_color *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) (ERROR ";\n    uVar38 =" ; identifier =) (argument_list "(ushort)" ( identifier ))) (argument_list "(lo16_reloc >> 0x10)" ( (binary_expression "lo16_reloc >> 0x10" identifier >> number_literal) ))) (ERROR ";\n    goto LAB_002c19bf;\n  }\n  if" ; goto identifier ; } if) (argument_list "(SVar26 == STATUS_OVERFLOW)" ( (binary_expression "SVar26 == STATUS_OVERFLOW" identifier == identifier) ))) (ERROR "{\n    if" { if) (argument_list "(gsym == (Sized_symbol<32> *)0x0) {\n      pcVar16 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                super_Relobj.super_Object.name_._M_dataplus._M_p;\n      lo16_reloc = 0x2c3cf7;\n      pcVar61 = (char *)gettext("relocation overflow: %u against local symbol %u in %s");\n      gold::gold_error_at_location<32,_false>\n                (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,(ulong)_Var51,pcVar16);\n    }\n    else {\n      bVar21 = (gsym->super_Symbol).field_0x3a;\n      if ((bVar21 & 7) == 0) {\n        uVar39 = (gsym->super_Symbol).u2_.shndx;\n        if (((gsym->super_Symbol).field_0x3b & 0x20) == 0) {\n          bVar67 = gold::Symbol::is_common_shndx(uVar39);\n          bVar67 = !bVar67;\n        }\n        else {\n          bVar67 = uVar39 != 0;\n        }\n      }\n      else {\n        bVar67 = (bVar21 & 7) != 4;\n      }\n      if ((bVar67) && (((gsym->super_Symbol).field_0x3a & 7) == 0)) {\n        uVar11 = ((gsym->super_Symbol).u1_.output_data)->address_;\n        gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);\n        _Var19._M_p = local_58._M_dataplus._M_p;\n        pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    /* try { // try from 002c1a5e to 002c1a62 has its CatchHandler @ 002c47ab */\n        gold::gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p,uVar11);\n        lo16_reloc = (_Rb_tree_color)relnum;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;\n      }\n      else {\n        gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);\n        _Var19._M_p = local_58._M_dataplus._M_p;\n        pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\'");\n                    /* try { // try from 002c2bde to 002c2be2 has its CatchHandler @ 002c47b3 */\n        gold::gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p);\n        lo16_reloc = (_Rb_tree_color)relnum;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;\n      }\n      operator_delete(local_58._M_dataplus._M_p);\n    }\n  }\n  else if (SVar26 != STATUS_OKAY)" ( (ERROR "gsym == (Sized_symbol<32> *)0x0) {\n      pcVar16 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                super_Relobj.super_Object.name_._M_dataplus._M_p;\n      lo16_reloc = 0x2c3cf7;\n      pcVar61 = (char *)gettext("relocation overflow: %u against local symbol %u in %s");\n      gold::gold_error_at_location<32,_false>\n                (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,(ulong)_Var51,pcVar16);\n    }\n    else" (binary_expression "gsym == (Sized_symbol<32> *)0x0)" identifier == (parenthesized_expression "(Sized_symbol<32> *)0x0)" ( (binary_expression "Sized_symbol<32> *)0x0" (binary_expression "Sized_symbol<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) (compound_statement "{\n      pcVar16 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                super_Relobj.super_Object.name_._M_dataplus._M_p;\n      lo16_reloc = 0x2c3cf7;\n      pcVar61 = (char *)gettext("relocation overflow: %u against local symbol %u in %s");\n      gold::gold_error_at_location<32,_false>\n                (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,(ulong)_Var51,pcVar16);\n    }" { (expression_statement "pcVar16 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                super_Relobj.super_Object.name_._M_dataplus._M_p;" (comma_expression "pcVar16 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.\n                super_Relobj.super_Object.name_._M_dataplus._M_p" (assignment_expression "pcVar16 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" identifier = (binary_expression "(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32" (field_expression "(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj" (parenthesized_expression "(this_00->super_Sized_relobj_file<32,_false>)" ( (comma_expression "this_00->super_Sized_relobj_file<32,_false" (binary_expression "this_00->super_Sized_relobj_file<32" (field_expression "this_00->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal)) , (field_expression "_false>.\n                super_Relobj.super_Object.name_._M_dataplus._M_p" (field_expression "_false>.\n                super_Relobj.super_Object.name_._M_dataplus" (field_expression "_false>.\n                super_Relobj.super_Object.name_" (field_expression "_false>.\n                super_Relobj.super_Object" (field_expression "_false>.\n                super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "lo16_reloc = 0x2c3cf7;" (assignment_expression "lo16_reloc = 0x2c3cf7" identifier = number_literal) ;) (expression_statement "pcVar61 = (char *)gettext("relocation overflow: %u against local symbol %u in %s");" (assignment_expression "pcVar61 = (char *)gettext("relocation overflow: %u against local symbol %u in %s")" identifier = (cast_expression "(char *)gettext("relocation overflow: %u against local symbol %u in %s")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("relocation overflow: %u against local symbol %u in %s")" identifier (argument_list "("relocation overflow: %u against local symbol %u in %s")" ( (string_literal ""relocation overflow: %u against local symbol %u in %s"" " string_content ") ))))) ;) (labeled_statement "gold::gold_error_at_location<32,_false>\n                (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,(ulong)_Var51,pcVar16);" statement_identifier : (ERROR ":" :) (expression_statement "gold_error_at_location<32,_false>\n                (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,(ulong)_Var51,pcVar16);" (comma_expression "gold_error_at_location<32,_false>\n                (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,(ulong)_Var51,pcVar16)" (binary_expression "gold_error_at_location<32" identifier < number_literal) , (binary_expression "_false>\n                (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,(ulong)_Var51,pcVar16)" identifier > (parenthesized_expression "(relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,(ulong)_Var51,pcVar16)" ( (comma_expression "relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,(ulong)_Var51,pcVar16" identifier , (comma_expression "relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,(ulong)_Var51,pcVar16" identifier , (comma_expression "(ulong)uVar7,pcVar61,(ulong)uVar65,(ulong)_Var51,pcVar16" (cast_expression "(ulong)uVar7" ( (type_descriptor "ulong" type_identifier) ) identifier) , (comma_expression "pcVar61,(ulong)uVar65,(ulong)_Var51,pcVar16" identifier , (comma_expression "(ulong)uVar65,(ulong)_Var51,pcVar16" (cast_expression "(ulong)uVar65" ( (type_descriptor "ulong" type_identifier) ) identifier) , (comma_expression "(ulong)_Var51,pcVar16" (cast_expression "(ulong)_Var51" ( (type_descriptor "ulong" type_identifier) ) identifier) , identifier)))))) )))) ;)) }) else) (compound_statement "{\n      bVar21 = (gsym->super_Symbol).field_0x3a;\n      if ((bVar21 & 7) == 0) {\n        uVar39 = (gsym->super_Symbol).u2_.shndx;\n        if (((gsym->super_Symbol).field_0x3b & 0x20) == 0) {\n          bVar67 = gold::Symbol::is_common_shndx(uVar39);\n          bVar67 = !bVar67;\n        }\n        else {\n          bVar67 = uVar39 != 0;\n        }\n      }\n      else {\n        bVar67 = (bVar21 & 7) != 4;\n      }\n      if ((bVar67) && (((gsym->super_Symbol).field_0x3a & 7) == 0)) {\n        uVar11 = ((gsym->super_Symbol).u1_.output_data)->address_;\n        gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);\n        _Var19._M_p = local_58._M_dataplus._M_p;\n        pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    /* try { // try from 002c1a5e to 002c1a62 has its CatchHandler @ 002c47ab */\n        gold::gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p,uVar11);\n        lo16_reloc = (_Rb_tree_color)relnum;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;\n      }\n      else {\n        gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);\n        _Var19._M_p = local_58._M_dataplus._M_p;\n        pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\'");\n                    /* try { // try from 002c2bde to 002c2be2 has its CatchHandler @ 002c47b3 */\n        gold::gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p);\n        lo16_reloc = (_Rb_tree_color)relnum;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;\n      }\n      operator_delete(local_58._M_dataplus._M_p);\n    }" { (expression_statement "bVar21 = (gsym->super_Symbol).field_0x3a;" (assignment_expression "bVar21 = (gsym->super_Symbol).field_0x3a" identifier = (field_expression "(gsym->super_Symbol).field_0x3a" (parenthesized_expression "(gsym->super_Symbol)" ( (field_expression "gsym->super_Symbol" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((bVar21 & 7) == 0) {\n        uVar39 = (gsym->super_Symbol).u2_.shndx;\n        if (((gsym->super_Symbol).field_0x3b & 0x20) == 0) {\n          bVar67 = gold::Symbol::is_common_shndx(uVar39);\n          bVar67 = !bVar67;\n        }\n        else {\n          bVar67 = uVar39 != 0;\n        }\n      }\n      else {\n        bVar67 = (bVar21 & 7) != 4;\n      }" if (parenthesized_expression "((bVar21 & 7) == 0)" ( (binary_expression "(bVar21 & 7) == 0" (parenthesized_expression "(bVar21 & 7)" ( (binary_expression "bVar21 & 7" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar39 = (gsym->super_Symbol).u2_.shndx;\n        if (((gsym->super_Symbol).field_0x3b & 0x20) == 0) {\n          bVar67 = gold::Symbol::is_common_shndx(uVar39);\n          bVar67 = !bVar67;\n        }\n        else {\n          bVar67 = uVar39 != 0;\n        }\n      }" { (expression_statement "uVar39 = (gsym->super_Symbol).u2_.shndx;" (assignment_expression "uVar39 = (gsym->super_Symbol).u2_.shndx" identifier = (field_expression "(gsym->super_Symbol).u2_.shndx" (field_expression "(gsym->super_Symbol).u2_" (parenthesized_expression "(gsym->super_Symbol)" ( (field_expression "gsym->super_Symbol" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (((gsym->super_Symbol).field_0x3b & 0x20) == 0) {\n          bVar67 = gold::Symbol::is_common_shndx(uVar39);\n          bVar67 = !bVar67;\n        }\n        else {\n          bVar67 = uVar39 != 0;\n        }" if (parenthesized_expression "(((gsym->super_Symbol).field_0x3b & 0x20) == 0)" ( (binary_expression "((gsym->super_Symbol).field_0x3b & 0x20) == 0" (parenthesized_expression "((gsym->super_Symbol).field_0x3b & 0x20)" ( (binary_expression "(gsym->super_Symbol).field_0x3b & 0x20" (field_expression "(gsym->super_Symbol).field_0x3b" (parenthesized_expression "(gsym->super_Symbol)" ( (field_expression "gsym->super_Symbol" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n          bVar67 = gold::Symbol::is_common_shndx(uVar39);\n          bVar67 = !bVar67;\n        }" { (ERROR "bVar67 = gold::" (assignment_expression "bVar67 = gold" identifier = identifier) : :) (labeled_statement "Symbol::is_common_shndx(uVar39);" statement_identifier : (ERROR ":" :) (expression_statement "is_common_shndx(uVar39);" (call_expression "is_common_shndx(uVar39)" identifier (argument_list "(uVar39)" ( identifier ))) ;)) (expression_statement "bVar67 = !bVar67;" (assignment_expression "bVar67 = !bVar67" identifier = (unary_expression "!bVar67" ! identifier)) ;) }) (else_clause "else {\n          bVar67 = uVar39 != 0;\n        }" else (compound_statement "{\n          bVar67 = uVar39 != 0;\n        }" { (expression_statement "bVar67 = uVar39 != 0;" (assignment_expression "bVar67 = uVar39 != 0" identifier = (binary_expression "uVar39 != 0" identifier != number_literal)) ;) }))) }) (else_clause "else {\n        bVar67 = (bVar21 & 7) != 4;\n      }" else (compound_statement "{\n        bVar67 = (bVar21 & 7) != 4;\n      }" { (expression_statement "bVar67 = (bVar21 & 7) != 4;" (assignment_expression "bVar67 = (bVar21 & 7) != 4" identifier = (binary_expression "(bVar21 & 7) != 4" (parenthesized_expression "(bVar21 & 7)" ( (binary_expression "bVar21 & 7" identifier & number_literal) )) != number_literal)) ;) }))) (if_statement "if ((bVar67) && (((gsym->super_Symbol).field_0x3a & 7) == 0)) {\n        uVar11 = ((gsym->super_Symbol).u1_.output_data)->address_;\n        gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);\n        _Var19._M_p = local_58._M_dataplus._M_p;\n        pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    /* try { // try from 002c1a5e to 002c1a62 has its CatchHandler @ 002c47ab */\n        gold::gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p,uVar11);\n        lo16_reloc = (_Rb_tree_color)relnum;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;\n      }\n      else {\n        gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);\n        _Var19._M_p = local_58._M_dataplus._M_p;\n        pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\'");\n                    /* try { // try from 002c2bde to 002c2be2 has its CatchHandler @ 002c47b3 */\n        gold::gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p);\n        lo16_reloc = (_Rb_tree_color)relnum;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;\n      }" if (parenthesized_expression "((bVar67) && (((gsym->super_Symbol).field_0x3a & 7) == 0))" ( (binary_expression "(bVar67) && (((gsym->super_Symbol).field_0x3a & 7) == 0)" (parenthesized_expression "(bVar67)" ( identifier )) && (parenthesized_expression "(((gsym->super_Symbol).field_0x3a & 7) == 0)" ( (binary_expression "((gsym->super_Symbol).field_0x3a & 7) == 0" (parenthesized_expression "((gsym->super_Symbol).field_0x3a & 7)" ( (binary_expression "(gsym->super_Symbol).field_0x3a & 7" (field_expression "(gsym->super_Symbol).field_0x3a" (parenthesized_expression "(gsym->super_Symbol)" ( (field_expression "gsym->super_Symbol" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        uVar11 = ((gsym->super_Symbol).u1_.output_data)->address_;\n        gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);\n        _Var19._M_p = local_58._M_dataplus._M_p;\n        pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    /* try { // try from 002c1a5e to 002c1a62 has its CatchHandler @ 002c47ab */\n        gold::gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p,uVar11);\n        lo16_reloc = (_Rb_tree_color)relnum;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;\n      }" { (expression_statement "uVar11 = ((gsym->super_Symbol).u1_.output_data)->address_;" (assignment_expression "uVar11 = ((gsym->super_Symbol).u1_.output_data)->address_" identifier = (field_expression "((gsym->super_Symbol).u1_.output_data)->address_" (parenthesized_expression "((gsym->super_Symbol).u1_.output_data)" ( (field_expression "(gsym->super_Symbol).u1_.output_data" (field_expression "(gsym->super_Symbol).u1_" (parenthesized_expression "(gsym->super_Symbol)" ( (field_expression "gsym->super_Symbol" identifier -> field_identifier) )) . field_identifier) . field_identifier) )) -> field_identifier)) ;) (labeled_statement "gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);" statement_identifier : (ERROR ":" :) (labeled_statement "Symbol::demangled_name(&local_58,&gsym->super_Symbol);" statement_identifier : (ERROR ":" :) (expression_statement "demangled_name(&local_58,&gsym->super_Symbol);" (call_expression "demangled_name(&local_58,&gsym->super_Symbol)" identifier (argument_list "(&local_58,&gsym->super_Symbol)" ( (pointer_expression "&local_58" & identifier) , (pointer_expression "&gsym->super_Symbol" & (field_expression "gsym->super_Symbol" identifier -> field_identifier)) ))) ;))) (expression_statement "_Var19._M_p = local_58._M_dataplus._M_p;" (assignment_expression "_Var19._M_p = local_58._M_dataplus._M_p" (field_expression "_Var19._M_p" identifier . field_identifier) = (field_expression "local_58._M_dataplus._M_p" (field_expression "local_58._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\' defined in %s");" (assignment_expression "pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\' defined in %s")" identifier = (cast_expression "(char *)gettext("relocation overflow: %u against \'%s\' defined in %s")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("relocation overflow: %u against \'%s\' defined in %s")" identifier (argument_list "("relocation overflow: %u against \'%s\' defined in %s")" ( (string_literal ""relocation overflow: %u against \'%s\' defined in %s"" " string_content escape_sequence string_content escape_sequence string_content ") ))))) ;) comment (labeled_statement "gold::gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p,uVar11);" statement_identifier : (ERROR ":" :) (expression_statement "gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p,uVar11);" (comma_expression "gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p,uVar11)" (binary_expression "gold_error_at_location<32" identifier < number_literal) , (binary_expression "_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p,uVar11)" identifier > (parenthesized_expression "(relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p,uVar11)" ( (comma_expression "relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p,uVar11" identifier , (comma_expression "relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p,uVar11" identifier , (comma_expression "(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p,uVar11" (cast_expression "(ulong)uVar7" ( (type_descriptor "ulong" type_identifier) ) identifier) , (comma_expression "pcVar61,(ulong)uVar65,_Var19._M_p,uVar11" identifier , (comma_expression "(ulong)uVar65,_Var19._M_p,uVar11" (cast_expression "(ulong)uVar65" ( (type_descriptor "ulong" type_identifier) ) identifier) , (comma_expression "_Var19._M_p,uVar11" (field_expression "_Var19._M_p" identifier . field_identifier) , identifier)))))) )))) ;)) (expression_statement "lo16_reloc = (_Rb_tree_color)relnum;" (assignment_expression "lo16_reloc = (_Rb_tree_color)relnum" identifier = (cast_expression "(_Rb_tree_color)relnum" ( (type_descriptor "_Rb_tree_color" type_identifier) ) identifier)) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.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             *)local_58._M_dataplus._M_p == &local_58.field_2" (binary_expression "allocator<char>_>_9\n             *)local_58._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n             *)local_58._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "local_58._M_dataplus._M_p" (field_expression "local_58._M_dataplus" identifier . field_identifier) . field_identifier))) == (pointer_expression "&local_58.field_2" & (field_expression "local_58.field_2" identifier . field_identifier))) )) )) (goto_statement "goto LAB_002c193c;" goto statement_identifier ;)) }) (else_clause "else {\n        gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);\n        _Var19._M_p = local_58._M_dataplus._M_p;\n        pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\'");\n                    /* try { // try from 002c2bde to 002c2be2 has its CatchHandler @ 002c47b3 */\n        gold::gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p);\n        lo16_reloc = (_Rb_tree_color)relnum;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;\n      }" else (compound_statement "{\n        gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);\n        _Var19._M_p = local_58._M_dataplus._M_p;\n        pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\'");\n                    /* try { // try from 002c2bde to 002c2be2 has its CatchHandler @ 002c47b3 */\n        gold::gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p);\n        lo16_reloc = (_Rb_tree_color)relnum;\n        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;\n      }" { (labeled_statement "gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);" statement_identifier : (ERROR ":" :) (labeled_statement "Symbol::demangled_name(&local_58,&gsym->super_Symbol);" statement_identifier : (ERROR ":" :) (expression_statement "demangled_name(&local_58,&gsym->super_Symbol);" (call_expression "demangled_name(&local_58,&gsym->super_Symbol)" identifier (argument_list "(&local_58,&gsym->super_Symbol)" ( (pointer_expression "&local_58" & identifier) , (pointer_expression "&gsym->super_Symbol" & (field_expression "gsym->super_Symbol" identifier -> field_identifier)) ))) ;))) (expression_statement "_Var19._M_p = local_58._M_dataplus._M_p;" (assignment_expression "_Var19._M_p = local_58._M_dataplus._M_p" (field_expression "_Var19._M_p" identifier . field_identifier) = (field_expression "local_58._M_dataplus._M_p" (field_expression "local_58._M_dataplus" identifier . field_identifier) . field_identifier)) ;) (expression_statement "pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\'");" (assignment_expression "pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\'")" identifier = (cast_expression "(char *)gettext("relocation overflow: %u against \'%s\'")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("relocation overflow: %u against \'%s\'")" identifier (argument_list "("relocation overflow: %u against \'%s\'")" ( (string_literal ""relocation overflow: %u against \'%s\'"" " string_content escape_sequence string_content escape_sequence ") ))))) ;) comment (labeled_statement "gold::gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p);" statement_identifier : (ERROR ":" :) (expression_statement "gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p);" (comma_expression "gold_error_at_location<32,_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p)" (binary_expression "gold_error_at_location<32" identifier < number_literal) , (binary_expression "_false>\n                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p)" identifier > (parenthesized_expression "(relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p)" ( (comma_expression "relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p" identifier , (comma_expression "relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p" identifier , (comma_expression "(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p" (cast_expression "(ulong)uVar7" ( (type_descriptor "ulong" type_identifier) ) identifier) , (comma_expression "pcVar61,(ulong)uVar65,_Var19._M_p" identifier , (comma_expression "(ulong)uVar65,_Var19._M_p" (cast_expression "(ulong)uVar65" ( (type_descriptor "ulong" type_identifier) ) identifier) , (field_expression "_Var19._M_p" identifier . field_identifier)))))) )))) ;)) (expression_statement "lo16_reloc = (_Rb_tree_color)relnum;" (assignment_expression "lo16_reloc = (_Rb_tree_color)relnum" identifier = (cast_expression "(_Rb_tree_color)relnum" ( (type_descriptor "_Rb_tree_color" type_identifier) ) identifier)) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n             *)local_58._M_dataplus._M_p == &local_58.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             *)local_58._M_dataplus._M_p == &local_58.field_2" (binary_expression "allocator<char>_>_9\n             *)local_58._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n             *)local_58._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "local_58._M_dataplus._M_p" (field_expression "local_58._M_dataplus" identifier . field_identifier) . field_identifier))) == (pointer_expression "&local_58.field_2" & (field_expression "local_58.field_2" identifier . field_identifier))) )) )) (goto_statement "goto LAB_002c193c;" goto statement_identifier ;)) }))) (expression_statement "operator_delete(local_58._M_dataplus._M_p);" (call_expression "operator_delete(local_58._M_dataplus._M_p)" identifier (argument_list "(local_58._M_dataplus._M_p)" ( (field_expression "local_58._M_dataplus._M_p" (field_expression "local_58._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) }) (ERROR "}\n  else if (SVar26 != STATUS_OKAY" } else if ( identifier != identifier) ))) (ERROR "{\n    if" { if) (argument_list "(SVar26 == STATUS_BAD_RELOC)" ( (binary_expression "SVar26 == STATUS_BAD_RELOC" identifier == identifier) ))) (ERROR "{\n      pcVar61" { identifier) = (string_literal ""unexpected opcode while processing relocation"" " string_content ")) (ERROR ";\n    }\n    else {\n      if" ; } else { if) (argument_list "(SVar26 != STATUS_PCREL_UNALIGNED)" ( (binary_expression "SVar26 != STATUS_PCREL_UNALIGNED" identifier != identifier) ))) { comment identifier : : (call_expression "do_gold_unreachable("../../gold/mips.cc",0x3035,"relocate")" identifier (argument_list "("../../gold/mips.cc",0x3035,"relocate")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""relocate"" " string_content ") ))) ; } (assignment_expression "pcVar61 = "unaligned PC-relative relocation"" identifier = (string_literal ""unaligned PC-relative relocation"" " string_content ")) ; } (assignment_expression "pcVar61 = (char *)gettext(pcVar61)" identifier = (cast_expression "(char *)gettext(pcVar61)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(pcVar61)" identifier (argument_list "(pcVar61)" ( identifier ))))) ; identifier : :) (binary_expression "gold_error_at_location<32" identifier < number_literal) , (ERROR "_false>(relinfo,relnum,(ulong)uVar7,pcVar61);\n    lo16_reloc = (_Rb_tree_color)relnum;\n  }\nLAB_002c193c:\n  gold::" (binary_expression "_false>(relinfo,relnum,(ulong)uVar7,pcVar61)" identifier > (parenthesized_expression "(relinfo,relnum,(ulong)uVar7,pcVar61)" ( (comma_expression "relinfo,relnum,(ulong)uVar7,pcVar61" identifier , (comma_expression "relnum,(ulong)uVar7,pcVar61" identifier , (comma_expression "(ulong)uVar7,pcVar61" (cast_expression "(ulong)uVar7" ( (type_descriptor "ulong" type_identifier) ) identifier) , identifier))) ))) ; (assignment_expression "lo16_reloc = (_Rb_tree_color)relnum" identifier = (cast_expression "(_Rb_tree_color)relnum" ( (type_descriptor "_Rb_tree_color" type_identifier) ) identifier)) ; } identifier : identifier : :) (binary_expression "Symbol_value<32" identifier < number_literal) > (ERROR "::" : :) ~ identifier ( (parenthesized_expression "(Symbol_value<32> *)local_c8,lo16_reloc)" ( (comma_expression "Symbol_value<32> *)local_c8,lo16_reloc" (binary_expression "Symbol_value<32> *)local_c8" (binary_expression "Symbol_value<32" identifier < number_literal) > (pointer_expression "*)local_c8" * (ERROR ")" )) identifier)) , identifier) )) ; return true ; })
(translation_unit "undefined8\nFUN_002c1090(ulong *param_1,long param_2,int param_3,long param_4,undefined8 param_5,long param_6,\n            int *param_7,undefined8 *param_8,undefined8 *param_9,ulong *param_10,uint param_11)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  long *plVar6;\n  int *piVar7;\n  ulong uVar8;\n  uint *puVar9;\n  undefined8 *puVar10;\n  char cVar11;\n  undefined1 *puVar12;\n  byte bVar13;\n  byte bVar14;\n  char cVar15;\n  char cVar16;\n  uint uVar17;\n  uint uVar18;\n  undefined4 uVar19;\n  uint uVar20;\n  int iVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  ulong uVar24;\n  long lVar25;\n  long *plVar26;\n  long *plVar27;\n  long *plVar28;\n  long *plVar29;\n  ushort uVar30;\n  long lVar31;\n  int extraout_EDX;\n  ulong uVar32;\n  uint uVar33;\n  ulong *puVar34;\n  int iVar35;\n  uint uVar36;\n  byte *pbVar37;\n  byte *pbVar38;\n  char *pcVar39;\n  long *plVar40;\n  undefined8 uVar41;\n  byte bVar42;\n  uint *unaff_R13;\n  ulong uVar43;\n  uint uVar44;\n  bool bVar45;\n  bool bVar46;\n  byte bVar47;\n  bool bVar48;\n  bool bVar49;\n  sbyte local_118;\n  uint local_108;\n  undefined8 *local_100;\n  uint local_f0;\n  byte local_e8;\n  uint local_e4;\n  uint *local_d8;\n  byte local_cf;\n  byte local_ce;\n  bool local_cd;\n  uint local_cc;\n  undefined8 *local_c8;\n  int local_bc;\n  ulong local_b8;\n  uint local_b0;\n  undefined8 *local_98;\n  uint local_84;\n  undefined4 uStack_80;\n  undefined4 uStack_7c;\n  undefined8 local_78;\n  undefined4 local_70;\n  uint local_68;\n  undefined1 *local_58 [2];\n  undefined1 auStack_48 [24];\n  \n  bVar42 = 0;\n  uVar18 = param_7[1];\n  uVar32 = (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x14) /\n           (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x24);\n  iVar3 = *param_7;\n  uVar44 = uVar18 & 0xff;\n  uVar33 = uVar18 >> 8;\n  if (param_3 == 4) {\n    cVar11 = '\0';\n    local_cc = param_7[2];\n    local_bc = -1;\n    if (param_6 + 1U < uVar32) {\n      local_bc = param_7[3];\n      cVar11 = (char)param_7[4];\n    }\n  }\n  else if (param_6 + 1U < uVar32) {\n    local_cc = 0;\n    local_bc = param_7[2];\n    cVar11 = (char)param_7[3];\n  }\n  else {\n    cVar11 = '\0';\n    local_bc = -1;\n    local_cc = 0;\n  }\n  local_70 = 0x80000000;\n  local_68 = 0;\n  plVar6 = *(long **)(param_2 + 0x10);\n  local_78 = 0xffffffff00000000;\n  if (param_8 == (undefined8 *)0x0) {\n    if (((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46) <= (ulong)uVar33) {\n                    \n      FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");\n    }\n    local_e8 = (byte)(uVar18 >> 8);\n    uVar24 = 1L << (local_e8 & 0x3f);\n    uVar32 = *(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8);\n    local_b8 = plVar6[0x4c];\n    uVar43 = uVar24 & uVar32;\n    bVar47 = uVar43 != 0;\n    if (((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b) <= (ulong)uVar33) {\nLAB_002c45d2:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");\n    }\n    uVar8 = *(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8);\n    bVar14 = (uVar24 & uVar8) != 0;\n    local_cd = ((uVar32 | uVar8) & uVar24) != 0;\n    if (local_cd) {\n                    \n      local_68 = FUN_001a5ac0(param_9,plVar6,1);\n      param_9 = &local_78;\n    }\n    if (uVar44 == 100) {\n      plVar27 = (long *)plVar6[0x69];\n      plVar40 = plVar6 + 0x68;\n      plVar29 = plVar27;\n      plVar28 = plVar40;\n      if (plVar27 == (long *)0x0) goto LAB_002c1c10;\n      do {\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      } while (plVar26 != (long *)0x0);\n      if (((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))\n      goto LAB_002c1c10;\n      plVar29 = plVar40;\n      if (uVar43 != 0) {\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }\n      do {\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      } while (plVar27 != (long *)0x0);\n      lVar31 = 0;\n      if ((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)) {\n        lVar31 = plVar28[5];\n      }\n      bVar47 = 0;\n      cVar15 = '\0';\n      goto LAB_002c1d90;\n    }\n    plVar40 = (long *)plVar6[99];\n    plVar27 = plVar6 + 0x62;\n    if ((long *)plVar6[99] != (long *)0x0) {\n      do {\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      } while ((long *)plVar29[2] != (long *)0x0);\nLAB_002c2b6a:\n      if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;\n      goto LAB_002c15fe;\n    }\nLAB_002c1c10:\n    cVar15 = '\0';\nLAB_002c1c17:\n    bVar45 = uVar44 == 100;\nLAB_002c13a0:\n    bVar42 = bVar14 & bVar45;\n    bVar48 = (bool)bVar42;\n    if ((bool)bVar42 == false) {\nLAB_002c13ac:\n      bVar48 = bVar45;\n      if ((uVar18 & 0xf7) == 0x85) {\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }\n    }\n    else {\nLAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");\n      FUN_0034a750(uVar22);\n      bVar14 = bVar42;\n    }\nLAB_002c13d7:\n    if (param_8 != (undefined8 *)0x0) goto LAB_002c16b8;\n    local_cf = (bVar47 ^ 1) & bVar48;\n    local_ce = local_cf;\n    if (local_cf != 0) goto LAB_002c1402;\n    local_cf = (bVar14 ^ 1) & uVar44 == 0x85;\n    if (local_cf == 0) goto LAB_002c1bcf;\n    local_84 = 0x85;\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_f0 = 0x21;\n    local_b8 = (ulong)(param_3 == 9);\n    local_ce = local_cf;\nLAB_002c1d4a:\n    if (1 < local_84 - 0x8b) {\n      uVar17 = (uint)(ushort)*param_10;\n      uVar18 = (uint)*(ushort *)((long)param_10 + 2);\nLAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;\nLAB_002c1467:\n      *(uint *)param_10 = uVar18;\n    }\n  }\n  else {\n    bVar14 = *(byte *)((long)param_8 + 0x39) >> 2;\n    bVar47 = (bVar14 & 0x3c) == 0x3c;\n    bVar14 = (bVar14 & 0x30) == 0x20;\n    local_cd = (bool)bVar47 || (bool)bVar14;\n    if (((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)) {\n      local_68 = FUN_001a5ac0(param_9,plVar6,0);\n      local_68 = local_68 | 1;\n      param_9 = &local_78;\n    }\n    else {\n      local_cd = false;\n    }\n    local_c8 = &local_78;\n    iVar35 = 0;\n    if (uVar44 - 1 < 0xf9) {\n      iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];\n    }\n                    \n    cVar15 = FUN_00228fa0(param_8,iVar35);\n    if (cVar15 == '\0') {\n      bVar45 = false;\n      bVar48 = *(char *)((long)param_8 + 0x65) == '\0';\n      if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }\n    }\n    else {\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    \n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }\n    lVar31 = 9;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"_gp_disp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar45 = *pbVar37 < *pbVar38;\n      bVar48 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar48);\n    lVar31 = 0xf;\n    bVar48 = !bVar45 && !bVar48;\n    bVar46 = bVar48 < bVar45;\n    bVar49 = bVar48 == bVar45;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"__gnu_local_gp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar46 = *pbVar37 < *pbVar38;\n      bVar49 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar49);\n    if (bVar48 != bVar45) {\n      if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }\nLAB_002c15d8:\n      cVar15 = '\0';\n      if (uVar44 != 100) goto LAB_002c15e9;\nLAB_002c12e3:\n      lVar25 = param_8[0xf];\n      if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    \n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = true;\nLAB_002c1320:\n      local_c8 = &local_78;\n      if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    \n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }\n      goto LAB_002c13a0;\n    }\n    local_b8 = (ulong)*(byte *)((long)plVar6 + 0x36c);\n    bVar42 = *(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1;\n    if ((!bVar46 && !bVar49) == bVar46) {\n      if (bVar42 == 0) goto LAB_002c1750;\n    }\n    else if (bVar42 == 0) goto LAB_002c15d8;\n    if ((((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40)) {\n      uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n    }\n    cVar15 = '\x01';\n    if (uVar44 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    if (param_8[0xe] == 0) {\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    if ((uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0')) {\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = false;\n      goto LAB_002c13ac;\n    }\nLAB_002c15fe:\n    local_c8 = &local_78;\n    uVar17 = *(uint *)(param_2 + 0x30);\n    unaff_R13 = (uint *)(ulong)uVar17;\n    cVar16 = FUN_002972f0(plVar6,unaff_R13);\n    if ((cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e))) {\n      if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }\n    if (param_8 == (undefined8 *)0x0) {\n      plVar40 = (long *)plVar6[99];\n      plVar27 = plVar6 + 0x62;\n      if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }\nLAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);\n      bVar48 = uVar44 == 100;\n      bVar47 = 0;\n      if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }\n      param_9 = local_c8;\n      local_cd = true;\n      goto LAB_002c13d7;\n    }\n    if (*(char *)(param_8 + 9) == '\0') {\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");\n    }\n    if (*(int *)((long)param_8 + 0x4c) == -1) {\n      plVar40 = (long *)param_8[0xe];\n      goto LAB_002c3d91;\n    }\n    lVar31 = *(long *)(param_4 + 0x98);\n    if (lVar31 == 0) {\n      FUN_00290900();\nLAB_002c46d8:\n      FUN_00290940();\n      goto LAB_002c46dd;\n    }\n    local_cd = (bool)(*(byte *)(lVar31 + 0x20) & 1);\n    if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c4670:\n                    \n      FUN_00291e90();\n    }\n    bVar48 = uVar44 == 100;\n    local_68 = *(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8);\n    bVar47 = 0;\n    if ((uVar18 & 0xf7) != 0x85) {\n      param_9 = local_c8;\n      goto LAB_002c13c4;\n    }\n    param_9 = local_c8;\nLAB_002c16b8:\n    cVar16 = FUN_002e7200(param_8);\n    if (cVar16 == '\0') {\n      local_cf = (bVar47 ^ 1) & bVar48;\n      if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    else {\n      local_cf = 0;\n    }\n    if (*(char *)((long)param_8 + 100) != '\0') {\n      local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n      if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar44 - 100;\n      uVar32 = (ulong)(uVar44 - 0x85);\n      local_b8 = (ulong)(param_3 == 9);\n      uStack_80 = 0;\n      uStack_7c = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar30 = (ushort)*param_10;\n      uVar17 = (uint)uVar30;\n      uVar2 = *(ushort *)((long)param_10 + 2);\n      uVar18 = (uint)uVar2;\n      local_84 = uVar44;\n      if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    \n    local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0);\n    if ((local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    if (uVar44 - 0x85 < 0x29) {\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_ce = 0;\n    local_b8 = (ulong)(param_3 == 9);\nLAB_002c1b2f:\n    local_84 = uVar44;\n    if (((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;\n  }\n  uStack_80 = 0;\n  uStack_7c = 0;\n  unaff_R13 = &local_84;\n  uVar17 = 0;\n  local_e4 = 0;\n  local_d8 = (uint *)&local_78;\n  uVar44 = local_84;\n  uVar18 = local_84;\n  while (local_c8 = &local_78, uVar18 != 0) {\n    bVar45 = local_bc == iVar3;\n    bVar48 = cVar11 != '\0';\n    bVar14 = bVar45 && bVar48;\n    puVar34 = param_1;\n    if (*(char *)((long)param_1 + 4) == '\0') {\n      *(byte *)((long)param_1 + 4) = bVar14;\n      switch(uVar18) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }\n    }\n    local_cc = (uint)*param_1;\n    *(byte *)((long)param_1 + 4) = bVar14;\n    local_b0 = local_cc;\n    switch(uVar18) {\n    default:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);\n      break;\n    case 1:\n      local_b8 = 0;\n      local_b0 = local_cc;\nLAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar14 != 0) goto LAB_002c1f30;\n      *(ushort *)param_10 = (ushort)uVar36;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);\n      if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }\n      if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }\n      break;\n    case 3:\nswitchD_002c14fa_caseD_3:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");\n    case 4:\n    case 100:\n    case 0x85:\n      local_b8 = 0;\n      bVar42 = (!bVar45 || !bVar48) & local_cf;\n      uVar17 = (uint)*param_10;\n      goto LAB_002c38d3;\n    case 5:\n    case 0x68:\n    case 0x86:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }\n      break;\n    case 6:\n    case 0x69:\n    case 0x87:\n    case 0x9d:\n      local_b8 = 0;\n      local_108 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }\n      if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\nLAB_002c1ebf:\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;\n      break;\n    case 7:\n    case 8:\n    case 0x65:\n    case 0x88:\n    case 0x89:\n    case 0xac:\n      lVar31 = *(long *)(param_4 + 0x28);\n      if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }\n      local_b8 = 0;\n      iVar35 = 0;\n      uVar17 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar21 - iVar35;\n      if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }\n      uVar20 = (uVar36 ^ uVar17) & 0xffff;\n      if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar17 ^ uVar20;\n      if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }\n      goto LAB_002c1fd6;\n    case 9:\n    case 0x66:\n    case 0x8a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case 10:\n      local_b8 = 0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }\n      break;\n    case 0xb:\n    case 0x67:\n    case 0x8e:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;\n    case 0xc:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);\n      goto joined_r0x002c327b;\n    case 0x12:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);\n      if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }\n      break;\n    case 0x13:\n    case 0x91:\n    case 0xf9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }\n      if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }\n      local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n      if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }\n      if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;\n      goto LAB_002c1fd4;\n    case 0x14:\n    case 0x92:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) goto LAB_002c4726;\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }\n      if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }\n      uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);\n      if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;\n      goto LAB_002c2590;\n    case 0x15:\n    case 0x93:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;\n      local_b0 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }\n      if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }\n      break;\n    case 0x16:\n    case 0x1e:\n    case 0x94:\n    case 0x99:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }\n      goto LAB_002c46d8;\n    case 0x17:\n    case 0x1f:\n    case 0x95:\n    case 0x9a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }\nLAB_002c4792:\n      FUN_00290940();\nLAB_002c4797:\n      FUN_00290940();\nLAB_002c479c:\n      FUN_00290940();\nLAB_002c47a1:\n      FUN_00290940();\nLAB_002c47a6:\n      FUN_00290940();\n                    \n      uVar22 = FUN_0017eb9a();\n      return uVar22;\n    case 0x18:\n    case 0x96:\n      local_b8 = 0;\nLAB_002c2efa:\n      uVar18 = -local_b0;\nLAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      if (bVar14 != '\0') goto LAB_002c1f30;\n      uVar17 = 0;\n      *param_10 = (ulong)uVar36;\n      break;\n    case 0x1c:\n    case 0x97:\n      local_b8 = 0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }\n      uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);\n      goto joined_r0x002c1f7e;\n    case 0x1d:\n    case 0x98:\n      local_b8 = 0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar36 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }\n      FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }\n      uVar36 = uVar36 & 0xffff0000;\n      goto LAB_002c1fd0;\n    case 0x25:\n    case 0x9c:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }\n      uVar17 = (uint)*param_10;\n      uVar36 = uVar17;\n      if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }\n      if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }\n      break;\n    case 0x27:\n    case 0x29:\n      goto switchD_002c14fa_caseD_27;\n    case 0x2a:\n    case 0x6a:\n    case 0xa2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }\n      FUN_00290940();\nswitchD_002c14fa_caseD_27:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_27:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      goto joined_r0x002c327b;\n    case 0x2b:\n    case 0x6b:\n    case 0xa3:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }\n      if (lVar25 == 0) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }\n      local_e4 = *(uint *)(lVar25 + 0x14);\n      uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\nLAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;\n      uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;\nLAB_002c2590:\n      *(uint *)param_10 = uVar18;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 0x2c:\n    case 0x6c:\n    case 0xa4:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      goto LAB_002c1f79;\n    case 0x2d:\n    case 0x6d:\n    case 0xa5:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x2e:\n    case 0x6e:\n    case 0xa6:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) goto LAB_002c2030;\n      goto LAB_002c47a1;\n    case 0x2f:\n    case 0x30:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    case 0x31:\n    case 0x6f:\n    case 0xa9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      uVar36 = iVar35 + 0x1000;\nLAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;\njoined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;\n      break;\n    case 0x32:\n    case 0x70:\n    case 0xaa:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x3c:\n      local_b8 = 0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }\n      break;\n    case 0x3d:\n      local_b8 = 0;\nLAB_002c304d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }\n      break;\n    case 0x3e:\n      local_b8 = 0;\nLAB_002c3104:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - (param_11 & 0xfffffff8);\n      uVar36 = uVar20 >> 3;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar32 = uVar32 & 7;\njoined_r0x002c324e:\n      uVar17 = 3;\n      if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }\n      break;\n    case 0x3f:\n      local_b8 = 0;\nLAB_002c31c0:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - param_11;\n      uVar36 = uVar20 >> 2;\n      if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }\nLAB_002c1f30:\n      uVar17 = 0;\n      *(uint *)param_1 = uVar36;\n      break;\n    case 0x40:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case 0x41:\n      local_b8 = 0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }\n      if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      break;\n    case 0x8b:\n      local_b8 = 0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }\n      break;\n    case 0x8c:\n      local_b8 = 0;\nLAB_002c328d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;\n      uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);\n      break;\n    case 0x8d:\n      local_b8 = 0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);\n      break;\n    case 0xf8:\n      local_b8 = 0;\nLAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\njoined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;\nLAB_002c1fd0:\n      puVar34 = param_10;\nLAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;\nLAB_002c1fd6:\n      uVar17 = 0;\n    }\nLAB_002c1e60:\n    unaff_R13 = unaff_R13 + 1;\n    if (local_d8 == unaff_R13) break;\n    uVar18 = *unaff_R13;\n  }\n  local_c8 = &local_78;\n  uVar18 = uVar44 - 0x85;\n  if (local_f0 < 0xd) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    if (uVar18 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)) {\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(ushort *)((long)param_10 + 2) = (ushort)uVar36;\n    *(ushort *)param_10 = uVar30;\n  }\n  else if (((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)) &&\n          (1 < uVar44 - 0x8b)) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    goto LAB_002c19bf;\n  }\n  if (uVar17 == 1) {\n    if (param_8 == (undefined8 *)0x0) {\n      lVar31 = plVar6[1];\n      uVar22 = gettext("relocation overflow: %u against local symbol %u in %s");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31);\n    }\n    else {\n      if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }\n      if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      FUN_0049e340();\n    }\n  }\n  else if (uVar17 != 0) {\n    if (uVar17 == 2) {\n      pcVar39 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (uVar17 != 3) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }\n    uVar22 = gettext(pcVar39);\n    FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n  }\nLAB_002c193c:\n  FUN_001a5bc0(local_c8);\n  return 1;\n}\n\n" (function_definition "undefined8\nFUN_002c1090(ulong *param_1,long param_2,int param_3,long param_4,undefined8 param_5,long param_6,\n            int *param_7,undefined8 *param_8,undefined8 *param_9,ulong *param_10,uint param_11)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  long *plVar6;\n  int *piVar7;\n  ulong uVar8;\n  uint *puVar9;\n  undefined8 *puVar10;\n  char cVar11;\n  undefined1 *puVar12;\n  byte bVar13;\n  byte bVar14;\n  char cVar15;\n  char cVar16;\n  uint uVar17;\n  uint uVar18;\n  undefined4 uVar19;\n  uint uVar20;\n  int iVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  ulong uVar24;\n  long lVar25;\n  long *plVar26;\n  long *plVar27;\n  long *plVar28;\n  long *plVar29;\n  ushort uVar30;\n  long lVar31;\n  int extraout_EDX;\n  ulong uVar32;\n  uint uVar33;\n  ulong *puVar34;\n  int iVar35;\n  uint uVar36;\n  byte *pbVar37;\n  byte *pbVar38;\n  char *pcVar39;\n  long *plVar40;\n  undefined8 uVar41;\n  byte bVar42;\n  uint *unaff_R13;\n  ulong uVar43;\n  uint uVar44;\n  bool bVar45;\n  bool bVar46;\n  byte bVar47;\n  bool bVar48;\n  bool bVar49;\n  sbyte local_118;\n  uint local_108;\n  undefined8 *local_100;\n  uint local_f0;\n  byte local_e8;\n  uint local_e4;\n  uint *local_d8;\n  byte local_cf;\n  byte local_ce;\n  bool local_cd;\n  uint local_cc;\n  undefined8 *local_c8;\n  int local_bc;\n  ulong local_b8;\n  uint local_b0;\n  undefined8 *local_98;\n  uint local_84;\n  undefined4 uStack_80;\n  undefined4 uStack_7c;\n  undefined8 local_78;\n  undefined4 local_70;\n  uint local_68;\n  undefined1 *local_58 [2];\n  undefined1 auStack_48 [24];\n  \n  bVar42 = 0;\n  uVar18 = param_7[1];\n  uVar32 = (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x14) /\n           (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x24);\n  iVar3 = *param_7;\n  uVar44 = uVar18 & 0xff;\n  uVar33 = uVar18 >> 8;\n  if (param_3 == 4) {\n    cVar11 = '\0';\n    local_cc = param_7[2];\n    local_bc = -1;\n    if (param_6 + 1U < uVar32) {\n      local_bc = param_7[3];\n      cVar11 = (char)param_7[4];\n    }\n  }\n  else if (param_6 + 1U < uVar32) {\n    local_cc = 0;\n    local_bc = param_7[2];\n    cVar11 = (char)param_7[3];\n  }\n  else {\n    cVar11 = '\0';\n    local_bc = -1;\n    local_cc = 0;\n  }\n  local_70 = 0x80000000;\n  local_68 = 0;\n  plVar6 = *(long **)(param_2 + 0x10);\n  local_78 = 0xffffffff00000000;\n  if (param_8 == (undefined8 *)0x0) {\n    if (((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46) <= (ulong)uVar33) {\n                    \n      FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");\n    }\n    local_e8 = (byte)(uVar18 >> 8);\n    uVar24 = 1L << (local_e8 & 0x3f);\n    uVar32 = *(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8);\n    local_b8 = plVar6[0x4c];\n    uVar43 = uVar24 & uVar32;\n    bVar47 = uVar43 != 0;\n    if (((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b) <= (ulong)uVar33) {\nLAB_002c45d2:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");\n    }\n    uVar8 = *(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8);\n    bVar14 = (uVar24 & uVar8) != 0;\n    local_cd = ((uVar32 | uVar8) & uVar24) != 0;\n    if (local_cd) {\n                    \n      local_68 = FUN_001a5ac0(param_9,plVar6,1);\n      param_9 = &local_78;\n    }\n    if (uVar44 == 100) {\n      plVar27 = (long *)plVar6[0x69];\n      plVar40 = plVar6 + 0x68;\n      plVar29 = plVar27;\n      plVar28 = plVar40;\n      if (plVar27 == (long *)0x0) goto LAB_002c1c10;\n      do {\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      } while (plVar26 != (long *)0x0);\n      if (((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))\n      goto LAB_002c1c10;\n      plVar29 = plVar40;\n      if (uVar43 != 0) {\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }\n      do {\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      } while (plVar27 != (long *)0x0);\n      lVar31 = 0;\n      if ((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)) {\n        lVar31 = plVar28[5];\n      }\n      bVar47 = 0;\n      cVar15 = '\0';\n      goto LAB_002c1d90;\n    }\n    plVar40 = (long *)plVar6[99];\n    plVar27 = plVar6 + 0x62;\n    if ((long *)plVar6[99] != (long *)0x0) {\n      do {\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      } while ((long *)plVar29[2] != (long *)0x0);\nLAB_002c2b6a:\n      if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;\n      goto LAB_002c15fe;\n    }\nLAB_002c1c10:\n    cVar15 = '\0';\nLAB_002c1c17:\n    bVar45 = uVar44 == 100;\nLAB_002c13a0:\n    bVar42 = bVar14 & bVar45;\n    bVar48 = (bool)bVar42;\n    if ((bool)bVar42 == false) {\nLAB_002c13ac:\n      bVar48 = bVar45;\n      if ((uVar18 & 0xf7) == 0x85) {\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }\n    }\n    else {\nLAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");\n      FUN_0034a750(uVar22);\n      bVar14 = bVar42;\n    }\nLAB_002c13d7:\n    if (param_8 != (undefined8 *)0x0) goto LAB_002c16b8;\n    local_cf = (bVar47 ^ 1) & bVar48;\n    local_ce = local_cf;\n    if (local_cf != 0) goto LAB_002c1402;\n    local_cf = (bVar14 ^ 1) & uVar44 == 0x85;\n    if (local_cf == 0) goto LAB_002c1bcf;\n    local_84 = 0x85;\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_f0 = 0x21;\n    local_b8 = (ulong)(param_3 == 9);\n    local_ce = local_cf;\nLAB_002c1d4a:\n    if (1 < local_84 - 0x8b) {\n      uVar17 = (uint)(ushort)*param_10;\n      uVar18 = (uint)*(ushort *)((long)param_10 + 2);\nLAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;\nLAB_002c1467:\n      *(uint *)param_10 = uVar18;\n    }\n  }\n  else {\n    bVar14 = *(byte *)((long)param_8 + 0x39) >> 2;\n    bVar47 = (bVar14 & 0x3c) == 0x3c;\n    bVar14 = (bVar14 & 0x30) == 0x20;\n    local_cd = (bool)bVar47 || (bool)bVar14;\n    if (((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)) {\n      local_68 = FUN_001a5ac0(param_9,plVar6,0);\n      local_68 = local_68 | 1;\n      param_9 = &local_78;\n    }\n    else {\n      local_cd = false;\n    }\n    local_c8 = &local_78;\n    iVar35 = 0;\n    if (uVar44 - 1 < 0xf9) {\n      iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];\n    }\n                    \n    cVar15 = FUN_00228fa0(param_8,iVar35);\n    if (cVar15 == '\0') {\n      bVar45 = false;\n      bVar48 = *(char *)((long)param_8 + 0x65) == '\0';\n      if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }\n    }\n    else {\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    \n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }\n    lVar31 = 9;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"_gp_disp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar45 = *pbVar37 < *pbVar38;\n      bVar48 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar48);\n    lVar31 = 0xf;\n    bVar48 = !bVar45 && !bVar48;\n    bVar46 = bVar48 < bVar45;\n    bVar49 = bVar48 == bVar45;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"__gnu_local_gp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar46 = *pbVar37 < *pbVar38;\n      bVar49 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar49);\n    if (bVar48 != bVar45) {\n      if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }\nLAB_002c15d8:\n      cVar15 = '\0';\n      if (uVar44 != 100) goto LAB_002c15e9;\nLAB_002c12e3:\n      lVar25 = param_8[0xf];\n      if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    \n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = true;\nLAB_002c1320:\n      local_c8 = &local_78;\n      if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    \n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }\n      goto LAB_002c13a0;\n    }\n    local_b8 = (ulong)*(byte *)((long)plVar6 + 0x36c);\n    bVar42 = *(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1;\n    if ((!bVar46 && !bVar49) == bVar46) {\n      if (bVar42 == 0) goto LAB_002c1750;\n    }\n    else if (bVar42 == 0) goto LAB_002c15d8;\n    if ((((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40)) {\n      uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n    }\n    cVar15 = '\x01';\n    if (uVar44 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    if (param_8[0xe] == 0) {\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    if ((uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0')) {\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = false;\n      goto LAB_002c13ac;\n    }\nLAB_002c15fe:\n    local_c8 = &local_78;\n    uVar17 = *(uint *)(param_2 + 0x30);\n    unaff_R13 = (uint *)(ulong)uVar17;\n    cVar16 = FUN_002972f0(plVar6,unaff_R13);\n    if ((cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e))) {\n      if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }\n    if (param_8 == (undefined8 *)0x0) {\n      plVar40 = (long *)plVar6[99];\n      plVar27 = plVar6 + 0x62;\n      if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }\nLAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);\n      bVar48 = uVar44 == 100;\n      bVar47 = 0;\n      if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }\n      param_9 = local_c8;\n      local_cd = true;\n      goto LAB_002c13d7;\n    }\n    if (*(char *)(param_8 + 9) == '\0') {\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");\n    }\n    if (*(int *)((long)param_8 + 0x4c) == -1) {\n      plVar40 = (long *)param_8[0xe];\n      goto LAB_002c3d91;\n    }\n    lVar31 = *(long *)(param_4 + 0x98);\n    if (lVar31 == 0) {\n      FUN_00290900();\nLAB_002c46d8:\n      FUN_00290940();\n      goto LAB_002c46dd;\n    }\n    local_cd = (bool)(*(byte *)(lVar31 + 0x20) & 1);\n    if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c4670:\n                    \n      FUN_00291e90();\n    }\n    bVar48 = uVar44 == 100;\n    local_68 = *(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8);\n    bVar47 = 0;\n    if ((uVar18 & 0xf7) != 0x85) {\n      param_9 = local_c8;\n      goto LAB_002c13c4;\n    }\n    param_9 = local_c8;\nLAB_002c16b8:\n    cVar16 = FUN_002e7200(param_8);\n    if (cVar16 == '\0') {\n      local_cf = (bVar47 ^ 1) & bVar48;\n      if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    else {\n      local_cf = 0;\n    }\n    if (*(char *)((long)param_8 + 100) != '\0') {\n      local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n      if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar44 - 100;\n      uVar32 = (ulong)(uVar44 - 0x85);\n      local_b8 = (ulong)(param_3 == 9);\n      uStack_80 = 0;\n      uStack_7c = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar30 = (ushort)*param_10;\n      uVar17 = (uint)uVar30;\n      uVar2 = *(ushort *)((long)param_10 + 2);\n      uVar18 = (uint)uVar2;\n      local_84 = uVar44;\n      if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    \n    local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0);\n    if ((local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    if (uVar44 - 0x85 < 0x29) {\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_ce = 0;\n    local_b8 = (ulong)(param_3 == 9);\nLAB_002c1b2f:\n    local_84 = uVar44;\n    if (((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;\n  }\n  uStack_80 = 0;\n  uStack_7c = 0;\n  unaff_R13 = &local_84;\n  uVar17 = 0;\n  local_e4 = 0;\n  local_d8 = (uint *)&local_78;\n  uVar44 = local_84;\n  uVar18 = local_84;\n  while (local_c8 = &local_78, uVar18 != 0) {\n    bVar45 = local_bc == iVar3;\n    bVar48 = cVar11 != '\0';\n    bVar14 = bVar45 && bVar48;\n    puVar34 = param_1;\n    if (*(char *)((long)param_1 + 4) == '\0') {\n      *(byte *)((long)param_1 + 4) = bVar14;\n      switch(uVar18) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }\n    }\n    local_cc = (uint)*param_1;\n    *(byte *)((long)param_1 + 4) = bVar14;\n    local_b0 = local_cc;\n    switch(uVar18) {\n    default:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);\n      break;\n    case 1:\n      local_b8 = 0;\n      local_b0 = local_cc;\nLAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar14 != 0) goto LAB_002c1f30;\n      *(ushort *)param_10 = (ushort)uVar36;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);\n      if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }\n      if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }\n      break;\n    case 3:\nswitchD_002c14fa_caseD_3:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");\n    case 4:\n    case 100:\n    case 0x85:\n      local_b8 = 0;\n      bVar42 = (!bVar45 || !bVar48) & local_cf;\n      uVar17 = (uint)*param_10;\n      goto LAB_002c38d3;\n    case 5:\n    case 0x68:\n    case 0x86:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }\n      break;\n    case 6:\n    case 0x69:\n    case 0x87:\n    case 0x9d:\n      local_b8 = 0;\n      local_108 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }\n      if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\nLAB_002c1ebf:\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;\n      break;\n    case 7:\n    case 8:\n    case 0x65:\n    case 0x88:\n    case 0x89:\n    case 0xac:\n      lVar31 = *(long *)(param_4 + 0x28);\n      if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }\n      local_b8 = 0;\n      iVar35 = 0;\n      uVar17 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar21 - iVar35;\n      if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }\n      uVar20 = (uVar36 ^ uVar17) & 0xffff;\n      if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar17 ^ uVar20;\n      if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }\n      goto LAB_002c1fd6;\n    case 9:\n    case 0x66:\n    case 0x8a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case 10:\n      local_b8 = 0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }\n      break;\n    case 0xb:\n    case 0x67:\n    case 0x8e:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;\n    case 0xc:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);\n      goto joined_r0x002c327b;\n    case 0x12:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);\n      if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }\n      break;\n    case 0x13:\n    case 0x91:\n    case 0xf9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }\n      if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }\n      local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n      if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }\n      if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;\n      goto LAB_002c1fd4;\n    case 0x14:\n    case 0x92:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) goto LAB_002c4726;\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }\n      if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }\n      uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);\n      if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;\n      goto LAB_002c2590;\n    case 0x15:\n    case 0x93:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;\n      local_b0 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }\n      if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }\n      break;\n    case 0x16:\n    case 0x1e:\n    case 0x94:\n    case 0x99:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }\n      goto LAB_002c46d8;\n    case 0x17:\n    case 0x1f:\n    case 0x95:\n    case 0x9a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }\nLAB_002c4792:\n      FUN_00290940();\nLAB_002c4797:\n      FUN_00290940();\nLAB_002c479c:\n      FUN_00290940();\nLAB_002c47a1:\n      FUN_00290940();\nLAB_002c47a6:\n      FUN_00290940();\n                    \n      uVar22 = FUN_0017eb9a();\n      return uVar22;\n    case 0x18:\n    case 0x96:\n      local_b8 = 0;\nLAB_002c2efa:\n      uVar18 = -local_b0;\nLAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      if (bVar14 != '\0') goto LAB_002c1f30;\n      uVar17 = 0;\n      *param_10 = (ulong)uVar36;\n      break;\n    case 0x1c:\n    case 0x97:\n      local_b8 = 0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }\n      uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);\n      goto joined_r0x002c1f7e;\n    case 0x1d:\n    case 0x98:\n      local_b8 = 0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar36 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }\n      FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }\n      uVar36 = uVar36 & 0xffff0000;\n      goto LAB_002c1fd0;\n    case 0x25:\n    case 0x9c:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }\n      uVar17 = (uint)*param_10;\n      uVar36 = uVar17;\n      if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }\n      if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }\n      break;\n    case 0x27:\n    case 0x29:\n      goto switchD_002c14fa_caseD_27;\n    case 0x2a:\n    case 0x6a:\n    case 0xa2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }\n      FUN_00290940();\nswitchD_002c14fa_caseD_27:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_27:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      goto joined_r0x002c327b;\n    case 0x2b:\n    case 0x6b:\n    case 0xa3:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }\n      if (lVar25 == 0) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }\n      local_e4 = *(uint *)(lVar25 + 0x14);\n      uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\nLAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;\n      uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;\nLAB_002c2590:\n      *(uint *)param_10 = uVar18;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 0x2c:\n    case 0x6c:\n    case 0xa4:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      goto LAB_002c1f79;\n    case 0x2d:\n    case 0x6d:\n    case 0xa5:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x2e:\n    case 0x6e:\n    case 0xa6:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) goto LAB_002c2030;\n      goto LAB_002c47a1;\n    case 0x2f:\n    case 0x30:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    case 0x31:\n    case 0x6f:\n    case 0xa9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      uVar36 = iVar35 + 0x1000;\nLAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;\njoined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;\n      break;\n    case 0x32:\n    case 0x70:\n    case 0xaa:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x3c:\n      local_b8 = 0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }\n      break;\n    case 0x3d:\n      local_b8 = 0;\nLAB_002c304d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }\n      break;\n    case 0x3e:\n      local_b8 = 0;\nLAB_002c3104:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - (param_11 & 0xfffffff8);\n      uVar36 = uVar20 >> 3;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar32 = uVar32 & 7;\njoined_r0x002c324e:\n      uVar17 = 3;\n      if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }\n      break;\n    case 0x3f:\n      local_b8 = 0;\nLAB_002c31c0:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - param_11;\n      uVar36 = uVar20 >> 2;\n      if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }\nLAB_002c1f30:\n      uVar17 = 0;\n      *(uint *)param_1 = uVar36;\n      break;\n    case 0x40:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case 0x41:\n      local_b8 = 0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }\n      if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      break;\n    case 0x8b:\n      local_b8 = 0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }\n      break;\n    case 0x8c:\n      local_b8 = 0;\nLAB_002c328d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;\n      uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);\n      break;\n    case 0x8d:\n      local_b8 = 0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);\n      break;\n    case 0xf8:\n      local_b8 = 0;\nLAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\njoined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;\nLAB_002c1fd0:\n      puVar34 = param_10;\nLAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;\nLAB_002c1fd6:\n      uVar17 = 0;\n    }\nLAB_002c1e60:\n    unaff_R13 = unaff_R13 + 1;\n    if (local_d8 == unaff_R13) break;\n    uVar18 = *unaff_R13;\n  }\n  local_c8 = &local_78;\n  uVar18 = uVar44 - 0x85;\n  if (local_f0 < 0xd) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    if (uVar18 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)) {\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(ushort *)((long)param_10 + 2) = (ushort)uVar36;\n    *(ushort *)param_10 = uVar30;\n  }\n  else if (((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)) &&\n          (1 < uVar44 - 0x8b)) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    goto LAB_002c19bf;\n  }\n  if (uVar17 == 1) {\n    if (param_8 == (undefined8 *)0x0) {\n      lVar31 = plVar6[1];\n      uVar22 = gettext("relocation overflow: %u against local symbol %u in %s");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31);\n    }\n    else {\n      if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }\n      if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      FUN_0049e340();\n    }\n  }\n  else if (uVar17 != 0) {\n    if (uVar17 == 2) {\n      pcVar39 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (uVar17 != 3) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }\n    uVar22 = gettext(pcVar39);\n    FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n  }\nLAB_002c193c:\n  FUN_001a5bc0(local_c8);\n  return 1;\n}" type_identifier (function_declarator "FUN_002c1090(ulong *param_1,long param_2,int param_3,long param_4,undefined8 param_5,long param_6,\n            int *param_7,undefined8 *param_8,undefined8 *param_9,ulong *param_10,uint param_11)" identifier (parameter_list "(ulong *param_1,long param_2,int param_3,long param_4,undefined8 param_5,long param_6,\n            int *param_7,undefined8 *param_8,undefined8 *param_9,ulong *param_10,uint param_11)" ( (parameter_declaration "ulong *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "long param_4" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_5" type_identifier identifier) , (parameter_declaration "long param_6" (sized_type_specifier "long" long) identifier) , (parameter_declaration "int *param_7" primitive_type (pointer_declarator "*param_7" * identifier)) , (parameter_declaration "undefined8 *param_8" type_identifier (pointer_declarator "*param_8" * identifier)) , (parameter_declaration "undefined8 *param_9" type_identifier (pointer_declarator "*param_9" * identifier)) , (parameter_declaration "ulong *param_10" type_identifier (pointer_declarator "*param_10" * identifier)) , (parameter_declaration "uint param_11" type_identifier identifier) ))) (compound_statement "{\n  byte bVar1;\n  ushort uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  long *plVar6;\n  int *piVar7;\n  ulong uVar8;\n  uint *puVar9;\n  undefined8 *puVar10;\n  char cVar11;\n  undefined1 *puVar12;\n  byte bVar13;\n  byte bVar14;\n  char cVar15;\n  char cVar16;\n  uint uVar17;\n  uint uVar18;\n  undefined4 uVar19;\n  uint uVar20;\n  int iVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  ulong uVar24;\n  long lVar25;\n  long *plVar26;\n  long *plVar27;\n  long *plVar28;\n  long *plVar29;\n  ushort uVar30;\n  long lVar31;\n  int extraout_EDX;\n  ulong uVar32;\n  uint uVar33;\n  ulong *puVar34;\n  int iVar35;\n  uint uVar36;\n  byte *pbVar37;\n  byte *pbVar38;\n  char *pcVar39;\n  long *plVar40;\n  undefined8 uVar41;\n  byte bVar42;\n  uint *unaff_R13;\n  ulong uVar43;\n  uint uVar44;\n  bool bVar45;\n  bool bVar46;\n  byte bVar47;\n  bool bVar48;\n  bool bVar49;\n  sbyte local_118;\n  uint local_108;\n  undefined8 *local_100;\n  uint local_f0;\n  byte local_e8;\n  uint local_e4;\n  uint *local_d8;\n  byte local_cf;\n  byte local_ce;\n  bool local_cd;\n  uint local_cc;\n  undefined8 *local_c8;\n  int local_bc;\n  ulong local_b8;\n  uint local_b0;\n  undefined8 *local_98;\n  uint local_84;\n  undefined4 uStack_80;\n  undefined4 uStack_7c;\n  undefined8 local_78;\n  undefined4 local_70;\n  uint local_68;\n  undefined1 *local_58 [2];\n  undefined1 auStack_48 [24];\n  \n  bVar42 = 0;\n  uVar18 = param_7[1];\n  uVar32 = (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x14) /\n           (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x24);\n  iVar3 = *param_7;\n  uVar44 = uVar18 & 0xff;\n  uVar33 = uVar18 >> 8;\n  if (param_3 == 4) {\n    cVar11 = '\0';\n    local_cc = param_7[2];\n    local_bc = -1;\n    if (param_6 + 1U < uVar32) {\n      local_bc = param_7[3];\n      cVar11 = (char)param_7[4];\n    }\n  }\n  else if (param_6 + 1U < uVar32) {\n    local_cc = 0;\n    local_bc = param_7[2];\n    cVar11 = (char)param_7[3];\n  }\n  else {\n    cVar11 = '\0';\n    local_bc = -1;\n    local_cc = 0;\n  }\n  local_70 = 0x80000000;\n  local_68 = 0;\n  plVar6 = *(long **)(param_2 + 0x10);\n  local_78 = 0xffffffff00000000;\n  if (param_8 == (undefined8 *)0x0) {\n    if (((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46) <= (ulong)uVar33) {\n                    \n      FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");\n    }\n    local_e8 = (byte)(uVar18 >> 8);\n    uVar24 = 1L << (local_e8 & 0x3f);\n    uVar32 = *(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8);\n    local_b8 = plVar6[0x4c];\n    uVar43 = uVar24 & uVar32;\n    bVar47 = uVar43 != 0;\n    if (((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b) <= (ulong)uVar33) {\nLAB_002c45d2:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");\n    }\n    uVar8 = *(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8);\n    bVar14 = (uVar24 & uVar8) != 0;\n    local_cd = ((uVar32 | uVar8) & uVar24) != 0;\n    if (local_cd) {\n                    \n      local_68 = FUN_001a5ac0(param_9,plVar6,1);\n      param_9 = &local_78;\n    }\n    if (uVar44 == 100) {\n      plVar27 = (long *)plVar6[0x69];\n      plVar40 = plVar6 + 0x68;\n      plVar29 = plVar27;\n      plVar28 = plVar40;\n      if (plVar27 == (long *)0x0) goto LAB_002c1c10;\n      do {\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      } while (plVar26 != (long *)0x0);\n      if (((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))\n      goto LAB_002c1c10;\n      plVar29 = plVar40;\n      if (uVar43 != 0) {\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }\n      do {\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      } while (plVar27 != (long *)0x0);\n      lVar31 = 0;\n      if ((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)) {\n        lVar31 = plVar28[5];\n      }\n      bVar47 = 0;\n      cVar15 = '\0';\n      goto LAB_002c1d90;\n    }\n    plVar40 = (long *)plVar6[99];\n    plVar27 = plVar6 + 0x62;\n    if ((long *)plVar6[99] != (long *)0x0) {\n      do {\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      } while ((long *)plVar29[2] != (long *)0x0);\nLAB_002c2b6a:\n      if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;\n      goto LAB_002c15fe;\n    }\nLAB_002c1c10:\n    cVar15 = '\0';\nLAB_002c1c17:\n    bVar45 = uVar44 == 100;\nLAB_002c13a0:\n    bVar42 = bVar14 & bVar45;\n    bVar48 = (bool)bVar42;\n    if ((bool)bVar42 == false) {\nLAB_002c13ac:\n      bVar48 = bVar45;\n      if ((uVar18 & 0xf7) == 0x85) {\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }\n    }\n    else {\nLAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");\n      FUN_0034a750(uVar22);\n      bVar14 = bVar42;\n    }\nLAB_002c13d7:\n    if (param_8 != (undefined8 *)0x0) goto LAB_002c16b8;\n    local_cf = (bVar47 ^ 1) & bVar48;\n    local_ce = local_cf;\n    if (local_cf != 0) goto LAB_002c1402;\n    local_cf = (bVar14 ^ 1) & uVar44 == 0x85;\n    if (local_cf == 0) goto LAB_002c1bcf;\n    local_84 = 0x85;\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_f0 = 0x21;\n    local_b8 = (ulong)(param_3 == 9);\n    local_ce = local_cf;\nLAB_002c1d4a:\n    if (1 < local_84 - 0x8b) {\n      uVar17 = (uint)(ushort)*param_10;\n      uVar18 = (uint)*(ushort *)((long)param_10 + 2);\nLAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;\nLAB_002c1467:\n      *(uint *)param_10 = uVar18;\n    }\n  }\n  else {\n    bVar14 = *(byte *)((long)param_8 + 0x39) >> 2;\n    bVar47 = (bVar14 & 0x3c) == 0x3c;\n    bVar14 = (bVar14 & 0x30) == 0x20;\n    local_cd = (bool)bVar47 || (bool)bVar14;\n    if (((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)) {\n      local_68 = FUN_001a5ac0(param_9,plVar6,0);\n      local_68 = local_68 | 1;\n      param_9 = &local_78;\n    }\n    else {\n      local_cd = false;\n    }\n    local_c8 = &local_78;\n    iVar35 = 0;\n    if (uVar44 - 1 < 0xf9) {\n      iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];\n    }\n                    \n    cVar15 = FUN_00228fa0(param_8,iVar35);\n    if (cVar15 == '\0') {\n      bVar45 = false;\n      bVar48 = *(char *)((long)param_8 + 0x65) == '\0';\n      if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }\n    }\n    else {\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    \n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }\n    lVar31 = 9;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"_gp_disp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar45 = *pbVar37 < *pbVar38;\n      bVar48 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar48);\n    lVar31 = 0xf;\n    bVar48 = !bVar45 && !bVar48;\n    bVar46 = bVar48 < bVar45;\n    bVar49 = bVar48 == bVar45;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"__gnu_local_gp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar46 = *pbVar37 < *pbVar38;\n      bVar49 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar49);\n    if (bVar48 != bVar45) {\n      if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }\nLAB_002c15d8:\n      cVar15 = '\0';\n      if (uVar44 != 100) goto LAB_002c15e9;\nLAB_002c12e3:\n      lVar25 = param_8[0xf];\n      if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    \n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = true;\nLAB_002c1320:\n      local_c8 = &local_78;\n      if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    \n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }\n      goto LAB_002c13a0;\n    }\n    local_b8 = (ulong)*(byte *)((long)plVar6 + 0x36c);\n    bVar42 = *(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1;\n    if ((!bVar46 && !bVar49) == bVar46) {\n      if (bVar42 == 0) goto LAB_002c1750;\n    }\n    else if (bVar42 == 0) goto LAB_002c15d8;\n    if ((((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40)) {\n      uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n    }\n    cVar15 = '\x01';\n    if (uVar44 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    if (param_8[0xe] == 0) {\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    if ((uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0')) {\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = false;\n      goto LAB_002c13ac;\n    }\nLAB_002c15fe:\n    local_c8 = &local_78;\n    uVar17 = *(uint *)(param_2 + 0x30);\n    unaff_R13 = (uint *)(ulong)uVar17;\n    cVar16 = FUN_002972f0(plVar6,unaff_R13);\n    if ((cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e))) {\n      if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }\n    if (param_8 == (undefined8 *)0x0) {\n      plVar40 = (long *)plVar6[99];\n      plVar27 = plVar6 + 0x62;\n      if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }\nLAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);\n      bVar48 = uVar44 == 100;\n      bVar47 = 0;\n      if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }\n      param_9 = local_c8;\n      local_cd = true;\n      goto LAB_002c13d7;\n    }\n    if (*(char *)(param_8 + 9) == '\0') {\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");\n    }\n    if (*(int *)((long)param_8 + 0x4c) == -1) {\n      plVar40 = (long *)param_8[0xe];\n      goto LAB_002c3d91;\n    }\n    lVar31 = *(long *)(param_4 + 0x98);\n    if (lVar31 == 0) {\n      FUN_00290900();\nLAB_002c46d8:\n      FUN_00290940();\n      goto LAB_002c46dd;\n    }\n    local_cd = (bool)(*(byte *)(lVar31 + 0x20) & 1);\n    if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c4670:\n                    \n      FUN_00291e90();\n    }\n    bVar48 = uVar44 == 100;\n    local_68 = *(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8);\n    bVar47 = 0;\n    if ((uVar18 & 0xf7) != 0x85) {\n      param_9 = local_c8;\n      goto LAB_002c13c4;\n    }\n    param_9 = local_c8;\nLAB_002c16b8:\n    cVar16 = FUN_002e7200(param_8);\n    if (cVar16 == '\0') {\n      local_cf = (bVar47 ^ 1) & bVar48;\n      if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    else {\n      local_cf = 0;\n    }\n    if (*(char *)((long)param_8 + 100) != '\0') {\n      local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n      if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar44 - 100;\n      uVar32 = (ulong)(uVar44 - 0x85);\n      local_b8 = (ulong)(param_3 == 9);\n      uStack_80 = 0;\n      uStack_7c = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar30 = (ushort)*param_10;\n      uVar17 = (uint)uVar30;\n      uVar2 = *(ushort *)((long)param_10 + 2);\n      uVar18 = (uint)uVar2;\n      local_84 = uVar44;\n      if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    \n    local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0);\n    if ((local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    if (uVar44 - 0x85 < 0x29) {\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_ce = 0;\n    local_b8 = (ulong)(param_3 == 9);\nLAB_002c1b2f:\n    local_84 = uVar44;\n    if (((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;\n  }\n  uStack_80 = 0;\n  uStack_7c = 0;\n  unaff_R13 = &local_84;\n  uVar17 = 0;\n  local_e4 = 0;\n  local_d8 = (uint *)&local_78;\n  uVar44 = local_84;\n  uVar18 = local_84;\n  while (local_c8 = &local_78, uVar18 != 0) {\n    bVar45 = local_bc == iVar3;\n    bVar48 = cVar11 != '\0';\n    bVar14 = bVar45 && bVar48;\n    puVar34 = param_1;\n    if (*(char *)((long)param_1 + 4) == '\0') {\n      *(byte *)((long)param_1 + 4) = bVar14;\n      switch(uVar18) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }\n    }\n    local_cc = (uint)*param_1;\n    *(byte *)((long)param_1 + 4) = bVar14;\n    local_b0 = local_cc;\n    switch(uVar18) {\n    default:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);\n      break;\n    case 1:\n      local_b8 = 0;\n      local_b0 = local_cc;\nLAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar14 != 0) goto LAB_002c1f30;\n      *(ushort *)param_10 = (ushort)uVar36;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);\n      if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }\n      if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }\n      break;\n    case 3:\nswitchD_002c14fa_caseD_3:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");\n    case 4:\n    case 100:\n    case 0x85:\n      local_b8 = 0;\n      bVar42 = (!bVar45 || !bVar48) & local_cf;\n      uVar17 = (uint)*param_10;\n      goto LAB_002c38d3;\n    case 5:\n    case 0x68:\n    case 0x86:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }\n      break;\n    case 6:\n    case 0x69:\n    case 0x87:\n    case 0x9d:\n      local_b8 = 0;\n      local_108 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }\n      if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\nLAB_002c1ebf:\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;\n      break;\n    case 7:\n    case 8:\n    case 0x65:\n    case 0x88:\n    case 0x89:\n    case 0xac:\n      lVar31 = *(long *)(param_4 + 0x28);\n      if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }\n      local_b8 = 0;\n      iVar35 = 0;\n      uVar17 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar21 - iVar35;\n      if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }\n      uVar20 = (uVar36 ^ uVar17) & 0xffff;\n      if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar17 ^ uVar20;\n      if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }\n      goto LAB_002c1fd6;\n    case 9:\n    case 0x66:\n    case 0x8a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case 10:\n      local_b8 = 0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }\n      break;\n    case 0xb:\n    case 0x67:\n    case 0x8e:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;\n    case 0xc:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);\n      goto joined_r0x002c327b;\n    case 0x12:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);\n      if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }\n      break;\n    case 0x13:\n    case 0x91:\n    case 0xf9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }\n      if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }\n      local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n      if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }\n      if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;\n      goto LAB_002c1fd4;\n    case 0x14:\n    case 0x92:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) goto LAB_002c4726;\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }\n      if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }\n      uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);\n      if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;\n      goto LAB_002c2590;\n    case 0x15:\n    case 0x93:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;\n      local_b0 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }\n      if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }\n      break;\n    case 0x16:\n    case 0x1e:\n    case 0x94:\n    case 0x99:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }\n      goto LAB_002c46d8;\n    case 0x17:\n    case 0x1f:\n    case 0x95:\n    case 0x9a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }\nLAB_002c4792:\n      FUN_00290940();\nLAB_002c4797:\n      FUN_00290940();\nLAB_002c479c:\n      FUN_00290940();\nLAB_002c47a1:\n      FUN_00290940();\nLAB_002c47a6:\n      FUN_00290940();\n                    \n      uVar22 = FUN_0017eb9a();\n      return uVar22;\n    case 0x18:\n    case 0x96:\n      local_b8 = 0;\nLAB_002c2efa:\n      uVar18 = -local_b0;\nLAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      if (bVar14 != '\0') goto LAB_002c1f30;\n      uVar17 = 0;\n      *param_10 = (ulong)uVar36;\n      break;\n    case 0x1c:\n    case 0x97:\n      local_b8 = 0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }\n      uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);\n      goto joined_r0x002c1f7e;\n    case 0x1d:\n    case 0x98:\n      local_b8 = 0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar36 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }\n      FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }\n      uVar36 = uVar36 & 0xffff0000;\n      goto LAB_002c1fd0;\n    case 0x25:\n    case 0x9c:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }\n      uVar17 = (uint)*param_10;\n      uVar36 = uVar17;\n      if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }\n      if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }\n      break;\n    case 0x27:\n    case 0x29:\n      goto switchD_002c14fa_caseD_27;\n    case 0x2a:\n    case 0x6a:\n    case 0xa2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }\n      FUN_00290940();\nswitchD_002c14fa_caseD_27:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_27:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      goto joined_r0x002c327b;\n    case 0x2b:\n    case 0x6b:\n    case 0xa3:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }\n      if (lVar25 == 0) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }\n      local_e4 = *(uint *)(lVar25 + 0x14);\n      uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\nLAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;\n      uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;\nLAB_002c2590:\n      *(uint *)param_10 = uVar18;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 0x2c:\n    case 0x6c:\n    case 0xa4:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      goto LAB_002c1f79;\n    case 0x2d:\n    case 0x6d:\n    case 0xa5:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x2e:\n    case 0x6e:\n    case 0xa6:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) goto LAB_002c2030;\n      goto LAB_002c47a1;\n    case 0x2f:\n    case 0x30:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    case 0x31:\n    case 0x6f:\n    case 0xa9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      uVar36 = iVar35 + 0x1000;\nLAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;\njoined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;\n      break;\n    case 0x32:\n    case 0x70:\n    case 0xaa:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x3c:\n      local_b8 = 0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }\n      break;\n    case 0x3d:\n      local_b8 = 0;\nLAB_002c304d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }\n      break;\n    case 0x3e:\n      local_b8 = 0;\nLAB_002c3104:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - (param_11 & 0xfffffff8);\n      uVar36 = uVar20 >> 3;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar32 = uVar32 & 7;\njoined_r0x002c324e:\n      uVar17 = 3;\n      if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }\n      break;\n    case 0x3f:\n      local_b8 = 0;\nLAB_002c31c0:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - param_11;\n      uVar36 = uVar20 >> 2;\n      if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }\nLAB_002c1f30:\n      uVar17 = 0;\n      *(uint *)param_1 = uVar36;\n      break;\n    case 0x40:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case 0x41:\n      local_b8 = 0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }\n      if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      break;\n    case 0x8b:\n      local_b8 = 0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }\n      break;\n    case 0x8c:\n      local_b8 = 0;\nLAB_002c328d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;\n      uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);\n      break;\n    case 0x8d:\n      local_b8 = 0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);\n      break;\n    case 0xf8:\n      local_b8 = 0;\nLAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\njoined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;\nLAB_002c1fd0:\n      puVar34 = param_10;\nLAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;\nLAB_002c1fd6:\n      uVar17 = 0;\n    }\nLAB_002c1e60:\n    unaff_R13 = unaff_R13 + 1;\n    if (local_d8 == unaff_R13) break;\n    uVar18 = *unaff_R13;\n  }\n  local_c8 = &local_78;\n  uVar18 = uVar44 - 0x85;\n  if (local_f0 < 0xd) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    if (uVar18 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)) {\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(ushort *)((long)param_10 + 2) = (ushort)uVar36;\n    *(ushort *)param_10 = uVar30;\n  }\n  else if (((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)) &&\n          (1 < uVar44 - 0x8b)) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    goto LAB_002c19bf;\n  }\n  if (uVar17 == 1) {\n    if (param_8 == (undefined8 *)0x0) {\n      lVar31 = plVar6[1];\n      uVar22 = gettext("relocation overflow: %u against local symbol %u in %s");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31);\n    }\n    else {\n      if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }\n      if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      FUN_0049e340();\n    }\n  }\n  else if (uVar17 != 0) {\n    if (uVar17 == 2) {\n      pcVar39 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (uVar17 != 3) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }\n    uVar22 = gettext(pcVar39);\n    FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n  }\nLAB_002c193c:\n  FUN_001a5bc0(local_c8);\n  return 1;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "long *plVar6;" (sized_type_specifier "long" long) (pointer_declarator "*plVar6" * identifier) ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "ulong uVar8;" type_identifier identifier ;) (declaration "uint *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined8 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "char cVar11;" primitive_type identifier ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "byte bVar14;" type_identifier identifier ;) (declaration "char cVar15;" primitive_type identifier ;) (declaration "char cVar16;" primitive_type identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "uint uVar18;" type_identifier identifier ;) (declaration "undefined4 uVar19;" type_identifier identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "undefined8 uVar22;" type_identifier identifier ;) (declaration "undefined8 uVar23;" type_identifier identifier ;) (declaration "ulong uVar24;" type_identifier identifier ;) (declaration "long lVar25;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar26;" (sized_type_specifier "long" long) (pointer_declarator "*plVar26" * identifier) ;) (declaration "long *plVar27;" (sized_type_specifier "long" long) (pointer_declarator "*plVar27" * identifier) ;) (declaration "long *plVar28;" (sized_type_specifier "long" long) (pointer_declarator "*plVar28" * identifier) ;) (declaration "long *plVar29;" (sized_type_specifier "long" long) (pointer_declarator "*plVar29" * identifier) ;) (declaration "ushort uVar30;" type_identifier identifier ;) (declaration "long lVar31;" (sized_type_specifier "long" long) identifier ;) (declaration "int extraout_EDX;" primitive_type identifier ;) (declaration "ulong uVar32;" type_identifier identifier ;) (declaration "uint uVar33;" type_identifier identifier ;) (declaration "ulong *puVar34;" type_identifier (pointer_declarator "*puVar34" * identifier) ;) (declaration "int iVar35;" primitive_type identifier ;) (declaration "uint uVar36;" type_identifier identifier ;) (declaration "byte *pbVar37;" type_identifier (pointer_declarator "*pbVar37" * identifier) ;) (declaration "byte *pbVar38;" type_identifier (pointer_declarator "*pbVar38" * identifier) ;) (declaration "char *pcVar39;" primitive_type (pointer_declarator "*pcVar39" * identifier) ;) (declaration "long *plVar40;" (sized_type_specifier "long" long) (pointer_declarator "*plVar40" * identifier) ;) (declaration "undefined8 uVar41;" type_identifier identifier ;) (declaration "byte bVar42;" type_identifier identifier ;) (declaration "uint *unaff_R13;" type_identifier (pointer_declarator "*unaff_R13" * identifier) ;) (declaration "ulong uVar43;" type_identifier identifier ;) (declaration "uint uVar44;" type_identifier identifier ;) (declaration "bool bVar45;" primitive_type identifier ;) (declaration "bool bVar46;" primitive_type identifier ;) (declaration "byte bVar47;" type_identifier identifier ;) (declaration "bool bVar48;" primitive_type identifier ;) (declaration "bool bVar49;" primitive_type identifier ;) (declaration "sbyte local_118;" type_identifier identifier ;) (declaration "uint local_108;" type_identifier identifier ;) (declaration "undefined8 *local_100;" type_identifier (pointer_declarator "*local_100" * identifier) ;) (declaration "uint local_f0;" type_identifier identifier ;) (declaration "byte local_e8;" type_identifier identifier ;) (declaration "uint local_e4;" type_identifier identifier ;) (declaration "uint *local_d8;" type_identifier (pointer_declarator "*local_d8" * identifier) ;) (declaration "byte local_cf;" type_identifier identifier ;) (declaration "byte local_ce;" type_identifier identifier ;) (declaration "bool local_cd;" primitive_type identifier ;) (declaration "uint local_cc;" type_identifier identifier ;) (declaration "undefined8 *local_c8;" type_identifier (pointer_declarator "*local_c8" * identifier) ;) (declaration "int local_bc;" primitive_type identifier ;) (declaration "ulong local_b8;" type_identifier identifier ;) (declaration "uint local_b0;" type_identifier identifier ;) (declaration "undefined8 *local_98;" type_identifier (pointer_declarator "*local_98" * identifier) ;) (declaration "uint local_84;" type_identifier identifier ;) (declaration "undefined4 uStack_80;" type_identifier identifier ;) (declaration "undefined4 uStack_7c;" type_identifier identifier ;) (declaration "undefined8 local_78;" type_identifier identifier ;) (declaration "undefined4 local_70;" type_identifier identifier ;) (declaration "uint local_68;" type_identifier identifier ;) (declaration "undefined1 *local_58 [2];" type_identifier (pointer_declarator "*local_58 [2]" * (array_declarator "local_58 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 auStack_48 [24];" type_identifier (array_declarator "auStack_48 [24]" identifier [ number_literal ]) ;) (expression_statement "bVar42 = 0;" (assignment_expression "bVar42 = 0" identifier = number_literal) ;) (expression_statement "uVar18 = param_7[1];" (assignment_expression "uVar18 = param_7[1]" identifier = (subscript_expression "param_7[1]" identifier [ number_literal ])) ;) (expression_statement "uVar32 = (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x14) /\n           (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x24);" (assignment_expression "uVar32 = (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x14) /\n           (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x24)" identifier = (binary_expression "(ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x14) /\n           (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x24)" (binary_expression "(ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x14) /\n           (ulong)" (binary_expression "(ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x14)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(*(long *)(param_2 + 0x20) + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_2 + 0x20) + 0x14)" ( (binary_expression "*(long *)(param_2 + 0x20) + 0x14" (pointer_expression "*(long *)(param_2 + 0x20)" * (cast_expression "(long *)(param_2 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) )))) + number_literal) )))) / (parenthesized_expression "(ulong)" ( identifier ))) * (cast_expression "(uint *)(*(long *)(param_2 + 0x20) + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_2 + 0x20) + 0x24)" ( (binary_expression "*(long *)(param_2 + 0x20) + 0x24" (pointer_expression "*(long *)(param_2 + 0x20)" * (cast_expression "(long *)(param_2 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar3 = *param_7;" (assignment_expression "iVar3 = *param_7" identifier = (pointer_expression "*param_7" * identifier)) ;) (expression_statement "uVar44 = uVar18 & 0xff;" (assignment_expression "uVar44 = uVar18 & 0xff" identifier = (binary_expression "uVar18 & 0xff" identifier & number_literal)) ;) (expression_statement "uVar33 = uVar18 >> 8;" (assignment_expression "uVar33 = uVar18 >> 8" identifier = (binary_expression "uVar18 >> 8" identifier >> number_literal)) ;) (if_statement "if (param_3 == 4) {\n    cVar11 = '\0';\n    local_cc = param_7[2];\n    local_bc = -1;\n    if (param_6 + 1U < uVar32) {\n      local_bc = param_7[3];\n      cVar11 = (char)param_7[4];\n    }\n  }\n  else if (param_6 + 1U < uVar32) {\n    local_cc = 0;\n    local_bc = param_7[2];\n    cVar11 = (char)param_7[3];\n  }\n  else {\n    cVar11 = '\0';\n    local_bc = -1;\n    local_cc = 0;\n  }" if (parenthesized_expression "(param_3 == 4)" ( (binary_expression "param_3 == 4" identifier == number_literal) )) (compound_statement "{\n    cVar11 = '\0';\n    local_cc = param_7[2];\n    local_bc = -1;\n    if (param_6 + 1U < uVar32) {\n      local_bc = param_7[3];\n      cVar11 = (char)param_7[4];\n    }\n  }" { (expression_statement "cVar11 = '\0';" (assignment_expression "cVar11 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_cc = param_7[2];" (assignment_expression "local_cc = param_7[2]" identifier = (subscript_expression "param_7[2]" identifier [ number_literal ])) ;) (expression_statement "local_bc = -1;" (assignment_expression "local_bc = -1" identifier = number_literal) ;) (if_statement "if (param_6 + 1U < uVar32) {\n      local_bc = param_7[3];\n      cVar11 = (char)param_7[4];\n    }" if (parenthesized_expression "(param_6 + 1U < uVar32)" ( (binary_expression "param_6 + 1U < uVar32" (binary_expression "param_6 + 1U" identifier + number_literal) < identifier) )) (compound_statement "{\n      local_bc = param_7[3];\n      cVar11 = (char)param_7[4];\n    }" { (expression_statement "local_bc = param_7[3];" (assignment_expression "local_bc = param_7[3]" identifier = (subscript_expression "param_7[3]" identifier [ number_literal ])) ;) (expression_statement "cVar11 = (char)param_7[4];" (assignment_expression "cVar11 = (char)param_7[4]" identifier = (cast_expression "(char)param_7[4]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_7[4]" identifier [ number_literal ]))) ;) })) }) (else_clause "else if (param_6 + 1U < uVar32) {\n    local_cc = 0;\n    local_bc = param_7[2];\n    cVar11 = (char)param_7[3];\n  }\n  else {\n    cVar11 = '\0';\n    local_bc = -1;\n    local_cc = 0;\n  }" else (if_statement "if (param_6 + 1U < uVar32) {\n    local_cc = 0;\n    local_bc = param_7[2];\n    cVar11 = (char)param_7[3];\n  }\n  else {\n    cVar11 = '\0';\n    local_bc = -1;\n    local_cc = 0;\n  }" if (parenthesized_expression "(param_6 + 1U < uVar32)" ( (binary_expression "param_6 + 1U < uVar32" (binary_expression "param_6 + 1U" identifier + number_literal) < identifier) )) (compound_statement "{\n    local_cc = 0;\n    local_bc = param_7[2];\n    cVar11 = (char)param_7[3];\n  }" { (expression_statement "local_cc = 0;" (assignment_expression "local_cc = 0" identifier = number_literal) ;) (expression_statement "local_bc = param_7[2];" (assignment_expression "local_bc = param_7[2]" identifier = (subscript_expression "param_7[2]" identifier [ number_literal ])) ;) (expression_statement "cVar11 = (char)param_7[3];" (assignment_expression "cVar11 = (char)param_7[3]" identifier = (cast_expression "(char)param_7[3]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_7[3]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n    cVar11 = '\0';\n    local_bc = -1;\n    local_cc = 0;\n  }" else (compound_statement "{\n    cVar11 = '\0';\n    local_bc = -1;\n    local_cc = 0;\n  }" { (expression_statement "cVar11 = '\0';" (assignment_expression "cVar11 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_bc = -1;" (assignment_expression "local_bc = -1" identifier = number_literal) ;) (expression_statement "local_cc = 0;" (assignment_expression "local_cc = 0" identifier = number_literal) ;) }))))) (expression_statement "local_70 = 0x80000000;" (assignment_expression "local_70 = 0x80000000" identifier = number_literal) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "plVar6 = *(long **)(param_2 + 0x10);" (assignment_expression "plVar6 = *(long **)(param_2 + 0x10)" identifier = (pointer_expression "*(long **)(param_2 + 0x10)" * (cast_expression "(long **)(param_2 + 0x10)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "local_78 = 0xffffffff00000000;" (assignment_expression "local_78 = 0xffffffff00000000" identifier = number_literal) ;) (if_statement "if (param_8 == (undefined8 *)0x0) {\n    if (((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46) <= (ulong)uVar33) {\n                    \n      FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");\n    }\n    local_e8 = (byte)(uVar18 >> 8);\n    uVar24 = 1L << (local_e8 & 0x3f);\n    uVar32 = *(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8);\n    local_b8 = plVar6[0x4c];\n    uVar43 = uVar24 & uVar32;\n    bVar47 = uVar43 != 0;\n    if (((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b) <= (ulong)uVar33) {\nLAB_002c45d2:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");\n    }\n    uVar8 = *(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8);\n    bVar14 = (uVar24 & uVar8) != 0;\n    local_cd = ((uVar32 | uVar8) & uVar24) != 0;\n    if (local_cd) {\n                    \n      local_68 = FUN_001a5ac0(param_9,plVar6,1);\n      param_9 = &local_78;\n    }\n    if (uVar44 == 100) {\n      plVar27 = (long *)plVar6[0x69];\n      plVar40 = plVar6 + 0x68;\n      plVar29 = plVar27;\n      plVar28 = plVar40;\n      if (plVar27 == (long *)0x0) goto LAB_002c1c10;\n      do {\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      } while (plVar26 != (long *)0x0);\n      if (((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))\n      goto LAB_002c1c10;\n      plVar29 = plVar40;\n      if (uVar43 != 0) {\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }\n      do {\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      } while (plVar27 != (long *)0x0);\n      lVar31 = 0;\n      if ((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)) {\n        lVar31 = plVar28[5];\n      }\n      bVar47 = 0;\n      cVar15 = '\0';\n      goto LAB_002c1d90;\n    }\n    plVar40 = (long *)plVar6[99];\n    plVar27 = plVar6 + 0x62;\n    if ((long *)plVar6[99] != (long *)0x0) {\n      do {\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      } while ((long *)plVar29[2] != (long *)0x0);\nLAB_002c2b6a:\n      if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;\n      goto LAB_002c15fe;\n    }\nLAB_002c1c10:\n    cVar15 = '\0';\nLAB_002c1c17:\n    bVar45 = uVar44 == 100;\nLAB_002c13a0:\n    bVar42 = bVar14 & bVar45;\n    bVar48 = (bool)bVar42;\n    if ((bool)bVar42 == false) {\nLAB_002c13ac:\n      bVar48 = bVar45;\n      if ((uVar18 & 0xf7) == 0x85) {\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }\n    }\n    else {\nLAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");\n      FUN_0034a750(uVar22);\n      bVar14 = bVar42;\n    }\nLAB_002c13d7:\n    if (param_8 != (undefined8 *)0x0) goto LAB_002c16b8;\n    local_cf = (bVar47 ^ 1) & bVar48;\n    local_ce = local_cf;\n    if (local_cf != 0) goto LAB_002c1402;\n    local_cf = (bVar14 ^ 1) & uVar44 == 0x85;\n    if (local_cf == 0) goto LAB_002c1bcf;\n    local_84 = 0x85;\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_f0 = 0x21;\n    local_b8 = (ulong)(param_3 == 9);\n    local_ce = local_cf;\nLAB_002c1d4a:\n    if (1 < local_84 - 0x8b) {\n      uVar17 = (uint)(ushort)*param_10;\n      uVar18 = (uint)*(ushort *)((long)param_10 + 2);\nLAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;\nLAB_002c1467:\n      *(uint *)param_10 = uVar18;\n    }\n  }\n  else {\n    bVar14 = *(byte *)((long)param_8 + 0x39) >> 2;\n    bVar47 = (bVar14 & 0x3c) == 0x3c;\n    bVar14 = (bVar14 & 0x30) == 0x20;\n    local_cd = (bool)bVar47 || (bool)bVar14;\n    if (((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)) {\n      local_68 = FUN_001a5ac0(param_9,plVar6,0);\n      local_68 = local_68 | 1;\n      param_9 = &local_78;\n    }\n    else {\n      local_cd = false;\n    }\n    local_c8 = &local_78;\n    iVar35 = 0;\n    if (uVar44 - 1 < 0xf9) {\n      iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];\n    }\n                    \n    cVar15 = FUN_00228fa0(param_8,iVar35);\n    if (cVar15 == '\0') {\n      bVar45 = false;\n      bVar48 = *(char *)((long)param_8 + 0x65) == '\0';\n      if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }\n    }\n    else {\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    \n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }\n    lVar31 = 9;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"_gp_disp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar45 = *pbVar37 < *pbVar38;\n      bVar48 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar48);\n    lVar31 = 0xf;\n    bVar48 = !bVar45 && !bVar48;\n    bVar46 = bVar48 < bVar45;\n    bVar49 = bVar48 == bVar45;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"__gnu_local_gp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar46 = *pbVar37 < *pbVar38;\n      bVar49 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar49);\n    if (bVar48 != bVar45) {\n      if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }\nLAB_002c15d8:\n      cVar15 = '\0';\n      if (uVar44 != 100) goto LAB_002c15e9;\nLAB_002c12e3:\n      lVar25 = param_8[0xf];\n      if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    \n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = true;\nLAB_002c1320:\n      local_c8 = &local_78;\n      if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    \n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }\n      goto LAB_002c13a0;\n    }\n    local_b8 = (ulong)*(byte *)((long)plVar6 + 0x36c);\n    bVar42 = *(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1;\n    if ((!bVar46 && !bVar49) == bVar46) {\n      if (bVar42 == 0) goto LAB_002c1750;\n    }\n    else if (bVar42 == 0) goto LAB_002c15d8;\n    if ((((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40)) {\n      uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n    }\n    cVar15 = '\x01';\n    if (uVar44 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    if (param_8[0xe] == 0) {\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    if ((uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0')) {\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = false;\n      goto LAB_002c13ac;\n    }\nLAB_002c15fe:\n    local_c8 = &local_78;\n    uVar17 = *(uint *)(param_2 + 0x30);\n    unaff_R13 = (uint *)(ulong)uVar17;\n    cVar16 = FUN_002972f0(plVar6,unaff_R13);\n    if ((cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e))) {\n      if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }\n    if (param_8 == (undefined8 *)0x0) {\n      plVar40 = (long *)plVar6[99];\n      plVar27 = plVar6 + 0x62;\n      if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }\nLAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);\n      bVar48 = uVar44 == 100;\n      bVar47 = 0;\n      if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }\n      param_9 = local_c8;\n      local_cd = true;\n      goto LAB_002c13d7;\n    }\n    if (*(char *)(param_8 + 9) == '\0') {\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");\n    }\n    if (*(int *)((long)param_8 + 0x4c) == -1) {\n      plVar40 = (long *)param_8[0xe];\n      goto LAB_002c3d91;\n    }\n    lVar31 = *(long *)(param_4 + 0x98);\n    if (lVar31 == 0) {\n      FUN_00290900();\nLAB_002c46d8:\n      FUN_00290940();\n      goto LAB_002c46dd;\n    }\n    local_cd = (bool)(*(byte *)(lVar31 + 0x20) & 1);\n    if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c4670:\n                    \n      FUN_00291e90();\n    }\n    bVar48 = uVar44 == 100;\n    local_68 = *(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8);\n    bVar47 = 0;\n    if ((uVar18 & 0xf7) != 0x85) {\n      param_9 = local_c8;\n      goto LAB_002c13c4;\n    }\n    param_9 = local_c8;\nLAB_002c16b8:\n    cVar16 = FUN_002e7200(param_8);\n    if (cVar16 == '\0') {\n      local_cf = (bVar47 ^ 1) & bVar48;\n      if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    else {\n      local_cf = 0;\n    }\n    if (*(char *)((long)param_8 + 100) != '\0') {\n      local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n      if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar44 - 100;\n      uVar32 = (ulong)(uVar44 - 0x85);\n      local_b8 = (ulong)(param_3 == 9);\n      uStack_80 = 0;\n      uStack_7c = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar30 = (ushort)*param_10;\n      uVar17 = (uint)uVar30;\n      uVar2 = *(ushort *)((long)param_10 + 2);\n      uVar18 = (uint)uVar2;\n      local_84 = uVar44;\n      if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    \n    local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0);\n    if ((local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    if (uVar44 - 0x85 < 0x29) {\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_ce = 0;\n    local_b8 = (ulong)(param_3 == 9);\nLAB_002c1b2f:\n    local_84 = uVar44;\n    if (((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;\n  }" if (parenthesized_expression "(param_8 == (undefined8 *)0x0)" ( (binary_expression "param_8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46) <= (ulong)uVar33) {\n                    \n      FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");\n    }\n    local_e8 = (byte)(uVar18 >> 8);\n    uVar24 = 1L << (local_e8 & 0x3f);\n    uVar32 = *(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8);\n    local_b8 = plVar6[0x4c];\n    uVar43 = uVar24 & uVar32;\n    bVar47 = uVar43 != 0;\n    if (((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b) <= (ulong)uVar33) {\nLAB_002c45d2:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");\n    }\n    uVar8 = *(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8);\n    bVar14 = (uVar24 & uVar8) != 0;\n    local_cd = ((uVar32 | uVar8) & uVar24) != 0;\n    if (local_cd) {\n                    \n      local_68 = FUN_001a5ac0(param_9,plVar6,1);\n      param_9 = &local_78;\n    }\n    if (uVar44 == 100) {\n      plVar27 = (long *)plVar6[0x69];\n      plVar40 = plVar6 + 0x68;\n      plVar29 = plVar27;\n      plVar28 = plVar40;\n      if (plVar27 == (long *)0x0) goto LAB_002c1c10;\n      do {\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      } while (plVar26 != (long *)0x0);\n      if (((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))\n      goto LAB_002c1c10;\n      plVar29 = plVar40;\n      if (uVar43 != 0) {\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }\n      do {\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      } while (plVar27 != (long *)0x0);\n      lVar31 = 0;\n      if ((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)) {\n        lVar31 = plVar28[5];\n      }\n      bVar47 = 0;\n      cVar15 = '\0';\n      goto LAB_002c1d90;\n    }\n    plVar40 = (long *)plVar6[99];\n    plVar27 = plVar6 + 0x62;\n    if ((long *)plVar6[99] != (long *)0x0) {\n      do {\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      } while ((long *)plVar29[2] != (long *)0x0);\nLAB_002c2b6a:\n      if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;\n      goto LAB_002c15fe;\n    }\nLAB_002c1c10:\n    cVar15 = '\0';\nLAB_002c1c17:\n    bVar45 = uVar44 == 100;\nLAB_002c13a0:\n    bVar42 = bVar14 & bVar45;\n    bVar48 = (bool)bVar42;\n    if ((bool)bVar42 == false) {\nLAB_002c13ac:\n      bVar48 = bVar45;\n      if ((uVar18 & 0xf7) == 0x85) {\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }\n    }\n    else {\nLAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");\n      FUN_0034a750(uVar22);\n      bVar14 = bVar42;\n    }\nLAB_002c13d7:\n    if (param_8 != (undefined8 *)0x0) goto LAB_002c16b8;\n    local_cf = (bVar47 ^ 1) & bVar48;\n    local_ce = local_cf;\n    if (local_cf != 0) goto LAB_002c1402;\n    local_cf = (bVar14 ^ 1) & uVar44 == 0x85;\n    if (local_cf == 0) goto LAB_002c1bcf;\n    local_84 = 0x85;\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_f0 = 0x21;\n    local_b8 = (ulong)(param_3 == 9);\n    local_ce = local_cf;\nLAB_002c1d4a:\n    if (1 < local_84 - 0x8b) {\n      uVar17 = (uint)(ushort)*param_10;\n      uVar18 = (uint)*(ushort *)((long)param_10 + 2);\nLAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;\nLAB_002c1467:\n      *(uint *)param_10 = uVar18;\n    }\n  }" { (if_statement "if (((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46) <= (ulong)uVar33) {\n                    \n      FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");\n    }" if (parenthesized_expression "(((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46) <= (ulong)uVar33)" ( (binary_expression "((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46) <= (ulong)uVar33" (binary_expression "((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46)" (parenthesized_expression "((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8)" ( (binary_expression "(ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8" (binary_expression "(ulong)*(uint *)(plVar6 + 0x48)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(plVar6 + 0x48)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0x48)" ( (binary_expression "plVar6 + 0x48" identifier + number_literal) )))) + (binary_expression "(plVar6[0x47] - plVar6[0x45]) * 8" (parenthesized_expression "(plVar6[0x47] - plVar6[0x45])" ( (binary_expression "plVar6[0x47] - plVar6[0x45]" (subscript_expression "plVar6[0x47]" identifier [ number_literal ]) - (subscript_expression "plVar6[0x45]" identifier [ number_literal ])) )) * number_literal)) )) - (binary_expression "(ulong)*(uint *)(plVar6 + 0x46)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(plVar6 + 0x46)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0x46)" ( (binary_expression "plVar6 + 0x46" identifier + number_literal) ))))) <= (cast_expression "(ulong)uVar33" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n                    \n      FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");\n    }" { (expression_statement "FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16")" identifier (argument_list "("../../gold/mips.cc",0x65f,"local_symbol_is_mips16")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""local_symbol_is_mips16"" " string_content ") ))) ;) })) (expression_statement "local_e8 = (byte)(uVar18 >> 8);" (assignment_expression "local_e8 = (byte)(uVar18 >> 8)" identifier = (call_expression "(byte)(uVar18 >> 8)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar18 >> 8)" ( (binary_expression "uVar18 >> 8" identifier >> number_literal) )))) ;) (expression_statement "uVar24 = 1L << (local_e8 & 0x3f);" (assignment_expression "uVar24 = 1L << (local_e8 & 0x3f)" identifier = (binary_expression "1L << (local_e8 & 0x3f)" number_literal << (parenthesized_expression "(local_e8 & 0x3f)" ( (binary_expression "local_e8 & 0x3f" identifier & number_literal) )))) ;) (expression_statement "uVar32 = *(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8);" (assignment_expression "uVar32 = *(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8)" identifier = (pointer_expression "*(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8)" * (cast_expression "(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8)" ( (binary_expression "plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8" (subscript_expression "plVar6[0x45]" identifier [ number_literal ]) + (binary_expression "(ulong)(uVar18 >> 0xe) * 8" (call_expression "(ulong)(uVar18 >> 0xe)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar18 >> 0xe)" ( (binary_expression "uVar18 >> 0xe" identifier >> number_literal) ))) * number_literal)) ))))) ;) (expression_statement "local_b8 = plVar6[0x4c];" (assignment_expression "local_b8 = plVar6[0x4c]" identifier = (subscript_expression "plVar6[0x4c]" identifier [ number_literal ])) ;) (expression_statement "uVar43 = uVar24 & uVar32;" (assignment_expression "uVar43 = uVar24 & uVar32" identifier = (binary_expression "uVar24 & uVar32" identifier & identifier)) ;) (expression_statement "bVar47 = uVar43 != 0;" (assignment_expression "bVar47 = uVar43 != 0" identifier = (binary_expression "uVar43 != 0" identifier != number_literal)) ;) (if_statement "if (((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b) <= (ulong)uVar33) {\nLAB_002c45d2:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");\n    }" if (parenthesized_expression "(((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b) <= (ulong)uVar33)" ( (binary_expression "((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b) <= (ulong)uVar33" (binary_expression "((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b)" (parenthesized_expression "((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8)" ( (binary_expression "(ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8" (binary_expression "(ulong)*(uint *)(plVar6 + 0x4d)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(plVar6 + 0x4d)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0x4d)" ( (binary_expression "plVar6 + 0x4d" identifier + number_literal) )))) + (binary_expression "(local_b8 - plVar6[0x4a]) * 8" (parenthesized_expression "(local_b8 - plVar6[0x4a])" ( (binary_expression "local_b8 - plVar6[0x4a]" identifier - (subscript_expression "plVar6[0x4a]" identifier [ number_literal ])) )) * number_literal)) )) - (binary_expression "(ulong)*(uint *)(plVar6 + 0x4b)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(plVar6 + 0x4b)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0x4b)" ( (binary_expression "plVar6 + 0x4b" identifier + number_literal) ))))) <= (cast_expression "(ulong)uVar33" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\nLAB_002c45d2:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");\n    }" { (labeled_statement "LAB_002c45d2:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");" statement_identifier : (expression_statement "FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips")" identifier (argument_list "("../../gold/mips.cc",0x668,"local_symbol_is_micromips")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""local_symbol_is_micromips"" " string_content ") ))) ;)) })) (expression_statement "uVar8 = *(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8);" (assignment_expression "uVar8 = *(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8)" identifier = (pointer_expression "*(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8)" * (cast_expression "(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8)" ( (binary_expression "plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8" (subscript_expression "plVar6[0x4a]" identifier [ number_literal ]) + (binary_expression "(ulong)(uVar18 >> 0xe) * 8" (call_expression "(ulong)(uVar18 >> 0xe)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar18 >> 0xe)" ( (binary_expression "uVar18 >> 0xe" identifier >> number_literal) ))) * number_literal)) ))))) ;) (expression_statement "bVar14 = (uVar24 & uVar8) != 0;" (assignment_expression "bVar14 = (uVar24 & uVar8) != 0" identifier = (binary_expression "(uVar24 & uVar8) != 0" (parenthesized_expression "(uVar24 & uVar8)" ( (binary_expression "uVar24 & uVar8" identifier & identifier) )) != number_literal)) ;) (expression_statement "local_cd = ((uVar32 | uVar8) & uVar24) != 0;" (assignment_expression "local_cd = ((uVar32 | uVar8) & uVar24) != 0" identifier = (binary_expression "((uVar32 | uVar8) & uVar24) != 0" (parenthesized_expression "((uVar32 | uVar8) & uVar24)" ( (binary_expression "(uVar32 | uVar8) & uVar24" (parenthesized_expression "(uVar32 | uVar8)" ( (binary_expression "uVar32 | uVar8" identifier | identifier) )) & identifier) )) != number_literal)) ;) (if_statement "if (local_cd) {\n                    \n      local_68 = FUN_001a5ac0(param_9,plVar6,1);\n      param_9 = &local_78;\n    }" if (parenthesized_expression "(local_cd)" ( identifier )) (compound_statement "{\n                    \n      local_68 = FUN_001a5ac0(param_9,plVar6,1);\n      param_9 = &local_78;\n    }" { (expression_statement "local_68 = FUN_001a5ac0(param_9,plVar6,1);" (assignment_expression "local_68 = FUN_001a5ac0(param_9,plVar6,1)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,1)" identifier (argument_list "(param_9,plVar6,1)" ( identifier , identifier , number_literal )))) ;) (expression_statement "param_9 = &local_78;" (assignment_expression "param_9 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;) })) (if_statement "if (uVar44 == 100) {\n      plVar27 = (long *)plVar6[0x69];\n      plVar40 = plVar6 + 0x68;\n      plVar29 = plVar27;\n      plVar28 = plVar40;\n      if (plVar27 == (long *)0x0) goto LAB_002c1c10;\n      do {\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      } while (plVar26 != (long *)0x0);\n      if (((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))\n      goto LAB_002c1c10;\n      plVar29 = plVar40;\n      if (uVar43 != 0) {\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }\n      do {\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      } while (plVar27 != (long *)0x0);\n      lVar31 = 0;\n      if ((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)) {\n        lVar31 = plVar28[5];\n      }\n      bVar47 = 0;\n      cVar15 = '\0';\n      goto LAB_002c1d90;\n    }" if (parenthesized_expression "(uVar44 == 100)" ( (binary_expression "uVar44 == 100" identifier == number_literal) )) (compound_statement "{\n      plVar27 = (long *)plVar6[0x69];\n      plVar40 = plVar6 + 0x68;\n      plVar29 = plVar27;\n      plVar28 = plVar40;\n      if (plVar27 == (long *)0x0) goto LAB_002c1c10;\n      do {\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      } while (plVar26 != (long *)0x0);\n      if (((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))\n      goto LAB_002c1c10;\n      plVar29 = plVar40;\n      if (uVar43 != 0) {\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }\n      do {\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      } while (plVar27 != (long *)0x0);\n      lVar31 = 0;\n      if ((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)) {\n        lVar31 = plVar28[5];\n      }\n      bVar47 = 0;\n      cVar15 = '\0';\n      goto LAB_002c1d90;\n    }" { (expression_statement "plVar27 = (long *)plVar6[0x69];" (assignment_expression "plVar27 = (long *)plVar6[0x69]" identifier = (cast_expression "(long *)plVar6[0x69]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar6[0x69]" identifier [ number_literal ]))) ;) (expression_statement "plVar40 = plVar6 + 0x68;" (assignment_expression "plVar40 = plVar6 + 0x68" identifier = (binary_expression "plVar6 + 0x68" identifier + number_literal)) ;) (expression_statement "plVar29 = plVar27;" (assignment_expression "plVar29 = plVar27" identifier = identifier) ;) (expression_statement "plVar28 = plVar40;" (assignment_expression "plVar28 = plVar40" identifier = identifier) ;) (if_statement "if (plVar27 == (long *)0x0) goto LAB_002c1c10;" if (parenthesized_expression "(plVar27 == (long *)0x0)" ( (binary_expression "plVar27 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002c1c10;" goto statement_identifier ;)) (do_statement "do {\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      } while (plVar26 != (long *)0x0);" do (compound_statement "{\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      }" { (if_statement "if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }" if (parenthesized_expression "(*(uint *)(plVar29 + 4) < uVar33)" ( (binary_expression "*(uint *)(plVar29 + 4) < uVar33" (pointer_expression "*(uint *)(plVar29 + 4)" * (cast_expression "(uint *)(plVar29 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar29 + 4)" ( (binary_expression "plVar29 + 4" identifier + number_literal) )))) < identifier) )) (compound_statement "{\n          plVar26 = (long *)plVar29[3];\n        }" { (expression_statement "plVar26 = (long *)plVar29[3];" (assignment_expression "plVar26 = (long *)plVar29[3]" identifier = (cast_expression "(long *)plVar29[3]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar29[3]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }" else (compound_statement "{\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }" { (expression_statement "plVar26 = (long *)plVar29[2];" (assignment_expression "plVar26 = (long *)plVar29[2]" identifier = (cast_expression "(long *)plVar29[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar29[2]" identifier [ number_literal ]))) ;) (expression_statement "plVar28 = plVar29;" (assignment_expression "plVar28 = plVar29" identifier = identifier) ;) }))) (expression_statement "plVar29 = plVar26;" (assignment_expression "plVar29 = plVar26" identifier = identifier) ;) }) while (parenthesized_expression "(plVar26 != (long *)0x0)" ( (binary_expression "plVar26 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))\n      goto LAB_002c1c10;" if (parenthesized_expression "(((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))" ( (binary_expression "((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0)" (parenthesized_expression "((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4)))" ( (binary_expression "(plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))" (parenthesized_expression "(plVar40 == plVar28)" ( (binary_expression "plVar40 == plVar28" identifier == identifier) )) || (parenthesized_expression "(uVar33 < *(uint *)(plVar28 + 4))" ( (binary_expression "uVar33 < *(uint *)(plVar28 + 4)" identifier < (pointer_expression "*(uint *)(plVar28 + 4)" * (cast_expression "(uint *)(plVar28 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar28 + 4)" ( (binary_expression "plVar28 + 4" identifier + number_literal) ))))) ))) )) || (parenthesized_expression "(plVar28[5] == 0)" ( (binary_expression "plVar28[5] == 0" (subscript_expression "plVar28[5]" identifier [ number_literal ]) == number_literal) ))) )) (goto_statement "goto LAB_002c1c10;" goto statement_identifier ;)) (expression_statement "plVar29 = plVar40;" (assignment_expression "plVar29 = plVar40" identifier = identifier) ;) (if_statement "if (uVar43 != 0) {\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }" if (parenthesized_expression "(uVar43 != 0)" ( (binary_expression "uVar43 != 0" identifier != number_literal) )) (compound_statement "{\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }" { (expression_statement "bVar47 = true;" (assignment_expression "bVar47 = true" identifier = true) ;) (goto_statement "goto LAB_002c1c10;" goto statement_identifier ;) })) (do_statement "do {\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      } while (plVar27 != (long *)0x0);" do (compound_statement "{\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      }" { (expression_statement "plVar28 = plVar27;" (assignment_expression "plVar28 = plVar27" identifier = identifier) ;) (if_statement "if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }" if (parenthesized_expression "(*(uint *)(plVar28 + 4) < uVar33)" ( (binary_expression "*(uint *)(plVar28 + 4) < uVar33" (pointer_expression "*(uint *)(plVar28 + 4)" * (cast_expression "(uint *)(plVar28 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar28 + 4)" ( (binary_expression "plVar28 + 4" identifier + number_literal) )))) < identifier) )) (compound_statement "{\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }" { (expression_statement "plVar27 = (long *)plVar28[3];" (assignment_expression "plVar27 = (long *)plVar28[3]" identifier = (cast_expression "(long *)plVar28[3]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar28[3]" identifier [ number_literal ]))) ;) (expression_statement "plVar28 = plVar29;" (assignment_expression "plVar28 = plVar29" identifier = identifier) ;) }) (else_clause "else {\n          plVar27 = (long *)plVar28[2];\n        }" else (compound_statement "{\n          plVar27 = (long *)plVar28[2];\n        }" { (expression_statement "plVar27 = (long *)plVar28[2];" (assignment_expression "plVar27 = (long *)plVar28[2]" identifier = (cast_expression "(long *)plVar28[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar28[2]" identifier [ number_literal ]))) ;) }))) (expression_statement "plVar29 = plVar28;" (assignment_expression "plVar29 = plVar28" identifier = identifier) ;) }) while (parenthesized_expression "(plVar27 != (long *)0x0)" ( (binary_expression "plVar27 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "lVar31 = 0;" (assignment_expression "lVar31 = 0" identifier = number_literal) ;) (if_statement "if ((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)) {\n        lVar31 = plVar28[5];\n      }" if (parenthesized_expression "((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33))" ( (binary_expression "(plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)" (parenthesized_expression "(plVar40 != plVar28)" ( (binary_expression "plVar40 != plVar28" identifier != identifier) )) && (parenthesized_expression "(*(uint *)(plVar28 + 4) <= uVar33)" ( (binary_expression "*(uint *)(plVar28 + 4) <= uVar33" (pointer_expression "*(uint *)(plVar28 + 4)" * (cast_expression "(uint *)(plVar28 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar28 + 4)" ( (binary_expression "plVar28 + 4" identifier + number_literal) )))) <= identifier) ))) )) (compound_statement "{\n        lVar31 = plVar28[5];\n      }" { (expression_statement "lVar31 = plVar28[5];" (assignment_expression "lVar31 = plVar28[5]" identifier = (subscript_expression "plVar28[5]" identifier [ number_literal ])) ;) })) (expression_statement "bVar47 = 0;" (assignment_expression "bVar47 = 0" identifier = number_literal) ;) (expression_statement "cVar15 = '\0';" (assignment_expression "cVar15 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (goto_statement "goto LAB_002c1d90;" goto statement_identifier ;) })) (expression_statement "plVar40 = (long *)plVar6[99];" (assignment_expression "plVar40 = (long *)plVar6[99]" identifier = (cast_expression "(long *)plVar6[99]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar6[99]" identifier [ number_literal ]))) ;) (expression_statement "plVar27 = plVar6 + 0x62;" (assignment_expression "plVar27 = plVar6 + 0x62" identifier = (binary_expression "plVar6 + 0x62" identifier + number_literal)) ;) (if_statement "if ((long *)plVar6[99] != (long *)0x0) {\n      do {\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      } while ((long *)plVar29[2] != (long *)0x0);\nLAB_002c2b6a:\n      if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;\n      goto LAB_002c15fe;\n    }" if (parenthesized_expression "((long *)plVar6[99] != (long *)0x0)" ( (binary_expression "(long *)plVar6[99] != (long *)0x0" (cast_expression "(long *)plVar6[99]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar6[99]" identifier [ number_literal ])) != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      do {\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      } while ((long *)plVar29[2] != (long *)0x0);\nLAB_002c2b6a:\n      if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;\n      goto LAB_002c15fe;\n    }" { (do_statement "do {\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      } while ((long *)plVar29[2] != (long *)0x0);" do (compound_statement "{\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      }" { (while_statement "while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }" while (parenthesized_expression "(plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33)" ( (comma_expression "plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33" (assignment_expression "plVar29 = plVar40" identifier = identifier) , (binary_expression "*(uint *)(plVar29 + 4) < uVar33" (pointer_expression "*(uint *)(plVar29 + 4)" * (cast_expression "(uint *)(plVar29 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar29 + 4)" ( (binary_expression "plVar29 + 4" identifier + number_literal) )))) < identifier)) )) (compound_statement "{\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }" { (expression_statement "plVar28 = plVar29 + 3;" (assignment_expression "plVar28 = plVar29 + 3" identifier = (binary_expression "plVar29 + 3" identifier + number_literal)) ;) (expression_statement "plVar40 = (long *)*plVar28;" (assignment_expression "plVar40 = (long *)*plVar28" identifier = (cast_expression "(long *)*plVar28" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar28" * identifier))) ;) (expression_statement "plVar29 = plVar27;" (assignment_expression "plVar29 = plVar27" identifier = identifier) ;) (if_statement "if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;" if (parenthesized_expression "((long *)*plVar28 == (long *)0x0)" ( (binary_expression "(long *)*plVar28 == (long *)0x0" (cast_expression "(long *)*plVar28" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar28" * identifier)) == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002c2b6a;" goto statement_identifier ;)) })) (expression_statement "plVar40 = (long *)plVar29[2];" (assignment_expression "plVar40 = (long *)plVar29[2]" identifier = (cast_expression "(long *)plVar29[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar29[2]" identifier [ number_literal ]))) ;) (expression_statement "plVar27 = plVar29;" (assignment_expression "plVar27 = plVar29" identifier = identifier) ;) }) while (parenthesized_expression "((long *)plVar29[2] != (long *)0x0)" ( (binary_expression "(long *)plVar29[2] != (long *)0x0" (cast_expression "(long *)plVar29[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar29[2]" identifier [ number_literal ])) != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_002c2b6a:\n      if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;" statement_identifier : (if_statement "if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;" if (parenthesized_expression "(((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0))" ( (binary_expression "((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)" (parenthesized_expression "((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4)))" ( (binary_expression "(plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))" (parenthesized_expression "(plVar6 + 0x62 == plVar29)" ( (binary_expression "plVar6 + 0x62 == plVar29" (binary_expression "plVar6 + 0x62" identifier + number_literal) == identifier) )) || (parenthesized_expression "(uVar33 < *(uint *)(plVar29 + 4))" ( (binary_expression "uVar33 < *(uint *)(plVar29 + 4)" identifier < (pointer_expression "*(uint *)(plVar29 + 4)" * (cast_expression "(uint *)(plVar29 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar29 + 4)" ( (binary_expression "plVar29 + 4" identifier + number_literal) ))))) ))) )) || (parenthesized_expression "(cVar15 = '\0', plVar29[5] == 0)" ( (comma_expression "cVar15 = '\0', plVar29[5] == 0" (assignment_expression "cVar15 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) , (binary_expression "plVar29[5] == 0" (subscript_expression "plVar29[5]" identifier [ number_literal ]) == number_literal)) ))) )) (goto_statement "goto LAB_002c1c10;" goto statement_identifier ;))) (goto_statement "goto LAB_002c15fe;" goto statement_identifier ;) })) (labeled_statement "LAB_002c1c10:\n    cVar15 = '\0';" statement_identifier : (expression_statement "cVar15 = '\0';" (assignment_expression "cVar15 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;)) (labeled_statement "LAB_002c1c17:\n    bVar45 = uVar44 == 100;" statement_identifier : (expression_statement "bVar45 = uVar44 == 100;" (assignment_expression "bVar45 = uVar44 == 100" identifier = (binary_expression "uVar44 == 100" identifier == number_literal)) ;)) (labeled_statement "LAB_002c13a0:\n    bVar42 = bVar14 & bVar45;" statement_identifier : (expression_statement "bVar42 = bVar14 & bVar45;" (assignment_expression "bVar42 = bVar14 & bVar45" identifier = (binary_expression "bVar14 & bVar45" identifier & identifier)) ;)) (expression_statement "bVar48 = (bool)bVar42;" (assignment_expression "bVar48 = (bool)bVar42" identifier = (cast_expression "(bool)bVar42" ( (type_descriptor "bool" primitive_type) ) identifier)) ;) (if_statement "if ((bool)bVar42 == false) {\nLAB_002c13ac:\n      bVar48 = bVar45;\n      if ((uVar18 & 0xf7) == 0x85) {\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }\n    }\n    else {\nLAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");\n      FUN_0034a750(uVar22);\n      bVar14 = bVar42;\n    }" if (parenthesized_expression "((bool)bVar42 == false)" ( (binary_expression "(bool)bVar42 == false" (cast_expression "(bool)bVar42" ( (type_descriptor "bool" primitive_type) ) identifier) == false) )) (compound_statement "{\nLAB_002c13ac:\n      bVar48 = bVar45;\n      if ((uVar18 & 0xf7) == 0x85) {\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }\n    }" { (labeled_statement "LAB_002c13ac:\n      bVar48 = bVar45;" statement_identifier : (expression_statement "bVar48 = bVar45;" (assignment_expression "bVar48 = bVar45" identifier = identifier) ;)) (if_statement "if ((uVar18 & 0xf7) == 0x85) {\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }" if (parenthesized_expression "((uVar18 & 0xf7) == 0x85)" ( (binary_expression "(uVar18 & 0xf7) == 0x85" (parenthesized_expression "(uVar18 & 0xf7)" ( (binary_expression "uVar18 & 0xf7" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }" { (labeled_statement "LAB_002c1870:\n        bVar42 = bVar14;" statement_identifier : (expression_statement "bVar42 = bVar14;" (assignment_expression "bVar42 = bVar14" identifier = identifier) ;)) (if_statement "if (bVar47 != 0) goto LAB_002c187c;" if (parenthesized_expression "(bVar47 != 0)" ( (binary_expression "bVar47 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002c187c;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }" else (compound_statement "{\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }" { (labeled_statement "LAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;" statement_identifier : (if_statement "if (uVar44 - 0x8b < 2) goto LAB_002c1870;" if (parenthesized_expression "(uVar44 - 0x8b < 2)" ( (binary_expression "uVar44 - 0x8b < 2" (binary_expression "uVar44 - 0x8b" identifier - number_literal) < number_literal) )) (goto_statement "goto LAB_002c1870;" goto statement_identifier ;))) }))) }) (else_clause "else {\nLAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");\n      FUN_0034a750(uVar22);\n      bVar14 = bVar42;\n    }" else (compound_statement "{\nLAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");\n      FUN_0034a750(uVar22);\n      bVar14 = bVar42;\n    }" { (labeled_statement "LAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");" statement_identifier : (expression_statement "uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");" (assignment_expression "uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other")" identifier = (call_expression "gettext("MIPS16 and microMIPS functions cannot call each other")" identifier (argument_list "("MIPS16 and microMIPS functions cannot call each other")" ( (string_literal ""MIPS16 and microMIPS functions cannot call each other"" " string_content ") )))) ;)) (expression_statement "FUN_0034a750(uVar22);" (call_expression "FUN_0034a750(uVar22)" identifier (argument_list "(uVar22)" ( identifier ))) ;) (expression_statement "bVar14 = bVar42;" (assignment_expression "bVar14 = bVar42" identifier = identifier) ;) }))) (labeled_statement "LAB_002c13d7:\n    if (param_8 != (undefined8 *)0x0) goto LAB_002c16b8;" statement_identifier : (if_statement "if (param_8 != (undefined8 *)0x0) goto LAB_002c16b8;" if (parenthesized_expression "(param_8 != (undefined8 *)0x0)" ( (binary_expression "param_8 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002c16b8;" goto statement_identifier ;))) (expression_statement "local_cf = (bVar47 ^ 1) & bVar48;" (assignment_expression "local_cf = (bVar47 ^ 1) & bVar48" identifier = (binary_expression "(bVar47 ^ 1) & bVar48" (parenthesized_expression "(bVar47 ^ 1)" ( (binary_expression "bVar47 ^ 1" identifier ^ number_literal) )) & identifier)) ;) (expression_statement "local_ce = local_cf;" (assignment_expression "local_ce = local_cf" identifier = identifier) ;) (if_statement "if (local_cf != 0) goto LAB_002c1402;" if (parenthesized_expression "(local_cf != 0)" ( (binary_expression "local_cf != 0" identifier != number_literal) )) (goto_statement "goto LAB_002c1402;" goto statement_identifier ;)) (expression_statement "local_cf = (bVar14 ^ 1) & uVar44 == 0x85;" (assignment_expression "local_cf = (bVar14 ^ 1) & uVar44 == 0x85" identifier = (binary_expression "(bVar14 ^ 1) & uVar44 == 0x85" (parenthesized_expression "(bVar14 ^ 1)" ( (binary_expression "bVar14 ^ 1" identifier ^ number_literal) )) & (binary_expression "uVar44 == 0x85" identifier == number_literal))) ;) (if_statement "if (local_cf == 0) goto LAB_002c1bcf;" if (parenthesized_expression "(local_cf == 0)" ( (binary_expression "local_cf == 0" identifier == number_literal) )) (goto_statement "goto LAB_002c1bcf;" goto statement_identifier ;)) (expression_statement "local_84 = 0x85;" (assignment_expression "local_84 = 0x85" identifier = number_literal) ;) (expression_statement "uStack_80 = 0;" (assignment_expression "uStack_80 = 0" identifier = number_literal) ;) (expression_statement "uStack_7c = 0;" (assignment_expression "uStack_7c = 0" identifier = number_literal) ;) (expression_statement "local_f0 = 0x21;" (assignment_expression "local_f0 = 0x21" identifier = number_literal) ;) (expression_statement "local_b8 = (ulong)(param_3 == 9);" (assignment_expression "local_b8 = (ulong)(param_3 == 9)" identifier = (call_expression "(ulong)(param_3 == 9)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(param_3 == 9)" ( (binary_expression "param_3 == 9" identifier == number_literal) )))) ;) (expression_statement "local_ce = local_cf;" (assignment_expression "local_ce = local_cf" identifier = identifier) ;) (labeled_statement "LAB_002c1d4a:\n    if (1 < local_84 - 0x8b) {\n      uVar17 = (uint)(ushort)*param_10;\n      uVar18 = (uint)*(ushort *)((long)param_10 + 2);\nLAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;\nLAB_002c1467:\n      *(uint *)param_10 = uVar18;\n    }" statement_identifier : (if_statement "if (1 < local_84 - 0x8b) {\n      uVar17 = (uint)(ushort)*param_10;\n      uVar18 = (uint)*(ushort *)((long)param_10 + 2);\nLAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;\nLAB_002c1467:\n      *(uint *)param_10 = uVar18;\n    }" if (parenthesized_expression "(1 < local_84 - 0x8b)" ( (binary_expression "1 < local_84 - 0x8b" number_literal < (binary_expression "local_84 - 0x8b" identifier - number_literal)) )) (compound_statement "{\n      uVar17 = (uint)(ushort)*param_10;\n      uVar18 = (uint)*(ushort *)((long)param_10 + 2);\nLAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;\nLAB_002c1467:\n      *(uint *)param_10 = uVar18;\n    }" { (expression_statement "uVar17 = (uint)(ushort)*param_10;" (assignment_expression "uVar17 = (uint)(ushort)*param_10" identifier = (binary_expression "(uint)(ushort)*param_10" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ushort)" ( identifier ))) * identifier)) ;) (expression_statement "uVar18 = (uint)*(ushort *)((long)param_10 + 2);" (assignment_expression "uVar18 = (uint)*(ushort *)((long)param_10 + 2)" identifier = (binary_expression "(uint)*(ushort *)((long)param_10 + 2)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(ushort *)((long)param_10 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_10 + 2)" ( (binary_expression "(long)param_10 + 2" (cast_expression "(long)param_10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (labeled_statement "LAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;" statement_identifier : (expression_statement "uVar18 = uVar17 << 0x10 | uVar18;" (assignment_expression "uVar18 = uVar17 << 0x10 | uVar18" identifier = (binary_expression "uVar17 << 0x10 | uVar18" (binary_expression "uVar17 << 0x10" identifier << number_literal) | identifier)) ;)) (labeled_statement "LAB_002c1467:\n      *(uint *)param_10 = uVar18;" statement_identifier : (expression_statement "*(uint *)param_10 = uVar18;" (assignment_expression "*(uint *)param_10 = uVar18" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;)) }))) }) (else_clause "else {\n    bVar14 = *(byte *)((long)param_8 + 0x39) >> 2;\n    bVar47 = (bVar14 & 0x3c) == 0x3c;\n    bVar14 = (bVar14 & 0x30) == 0x20;\n    local_cd = (bool)bVar47 || (bool)bVar14;\n    if (((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)) {\n      local_68 = FUN_001a5ac0(param_9,plVar6,0);\n      local_68 = local_68 | 1;\n      param_9 = &local_78;\n    }\n    else {\n      local_cd = false;\n    }\n    local_c8 = &local_78;\n    iVar35 = 0;\n    if (uVar44 - 1 < 0xf9) {\n      iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];\n    }\n                    \n    cVar15 = FUN_00228fa0(param_8,iVar35);\n    if (cVar15 == '\0') {\n      bVar45 = false;\n      bVar48 = *(char *)((long)param_8 + 0x65) == '\0';\n      if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }\n    }\n    else {\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    \n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }\n    lVar31 = 9;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"_gp_disp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar45 = *pbVar37 < *pbVar38;\n      bVar48 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar48);\n    lVar31 = 0xf;\n    bVar48 = !bVar45 && !bVar48;\n    bVar46 = bVar48 < bVar45;\n    bVar49 = bVar48 == bVar45;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"__gnu_local_gp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar46 = *pbVar37 < *pbVar38;\n      bVar49 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar49);\n    if (bVar48 != bVar45) {\n      if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }\nLAB_002c15d8:\n      cVar15 = '\0';\n      if (uVar44 != 100) goto LAB_002c15e9;\nLAB_002c12e3:\n      lVar25 = param_8[0xf];\n      if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    \n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = true;\nLAB_002c1320:\n      local_c8 = &local_78;\n      if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    \n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }\n      goto LAB_002c13a0;\n    }\n    local_b8 = (ulong)*(byte *)((long)plVar6 + 0x36c);\n    bVar42 = *(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1;\n    if ((!bVar46 && !bVar49) == bVar46) {\n      if (bVar42 == 0) goto LAB_002c1750;\n    }\n    else if (bVar42 == 0) goto LAB_002c15d8;\n    if ((((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40)) {\n      uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n    }\n    cVar15 = '\x01';\n    if (uVar44 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    if (param_8[0xe] == 0) {\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    if ((uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0')) {\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = false;\n      goto LAB_002c13ac;\n    }\nLAB_002c15fe:\n    local_c8 = &local_78;\n    uVar17 = *(uint *)(param_2 + 0x30);\n    unaff_R13 = (uint *)(ulong)uVar17;\n    cVar16 = FUN_002972f0(plVar6,unaff_R13);\n    if ((cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e))) {\n      if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }\n    if (param_8 == (undefined8 *)0x0) {\n      plVar40 = (long *)plVar6[99];\n      plVar27 = plVar6 + 0x62;\n      if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }\nLAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);\n      bVar48 = uVar44 == 100;\n      bVar47 = 0;\n      if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }\n      param_9 = local_c8;\n      local_cd = true;\n      goto LAB_002c13d7;\n    }\n    if (*(char *)(param_8 + 9) == '\0') {\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");\n    }\n    if (*(int *)((long)param_8 + 0x4c) == -1) {\n      plVar40 = (long *)param_8[0xe];\n      goto LAB_002c3d91;\n    }\n    lVar31 = *(long *)(param_4 + 0x98);\n    if (lVar31 == 0) {\n      FUN_00290900();\nLAB_002c46d8:\n      FUN_00290940();\n      goto LAB_002c46dd;\n    }\n    local_cd = (bool)(*(byte *)(lVar31 + 0x20) & 1);\n    if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c4670:\n                    \n      FUN_00291e90();\n    }\n    bVar48 = uVar44 == 100;\n    local_68 = *(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8);\n    bVar47 = 0;\n    if ((uVar18 & 0xf7) != 0x85) {\n      param_9 = local_c8;\n      goto LAB_002c13c4;\n    }\n    param_9 = local_c8;\nLAB_002c16b8:\n    cVar16 = FUN_002e7200(param_8);\n    if (cVar16 == '\0') {\n      local_cf = (bVar47 ^ 1) & bVar48;\n      if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    else {\n      local_cf = 0;\n    }\n    if (*(char *)((long)param_8 + 100) != '\0') {\n      local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n      if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar44 - 100;\n      uVar32 = (ulong)(uVar44 - 0x85);\n      local_b8 = (ulong)(param_3 == 9);\n      uStack_80 = 0;\n      uStack_7c = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar30 = (ushort)*param_10;\n      uVar17 = (uint)uVar30;\n      uVar2 = *(ushort *)((long)param_10 + 2);\n      uVar18 = (uint)uVar2;\n      local_84 = uVar44;\n      if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    \n    local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0);\n    if ((local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    if (uVar44 - 0x85 < 0x29) {\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_ce = 0;\n    local_b8 = (ulong)(param_3 == 9);\nLAB_002c1b2f:\n    local_84 = uVar44;\n    if (((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;\n  }" else (compound_statement "{\n    bVar14 = *(byte *)((long)param_8 + 0x39) >> 2;\n    bVar47 = (bVar14 & 0x3c) == 0x3c;\n    bVar14 = (bVar14 & 0x30) == 0x20;\n    local_cd = (bool)bVar47 || (bool)bVar14;\n    if (((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)) {\n      local_68 = FUN_001a5ac0(param_9,plVar6,0);\n      local_68 = local_68 | 1;\n      param_9 = &local_78;\n    }\n    else {\n      local_cd = false;\n    }\n    local_c8 = &local_78;\n    iVar35 = 0;\n    if (uVar44 - 1 < 0xf9) {\n      iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];\n    }\n                    \n    cVar15 = FUN_00228fa0(param_8,iVar35);\n    if (cVar15 == '\0') {\n      bVar45 = false;\n      bVar48 = *(char *)((long)param_8 + 0x65) == '\0';\n      if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }\n    }\n    else {\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    \n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }\n    lVar31 = 9;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"_gp_disp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar45 = *pbVar37 < *pbVar38;\n      bVar48 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar48);\n    lVar31 = 0xf;\n    bVar48 = !bVar45 && !bVar48;\n    bVar46 = bVar48 < bVar45;\n    bVar49 = bVar48 == bVar45;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"__gnu_local_gp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar46 = *pbVar37 < *pbVar38;\n      bVar49 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar49);\n    if (bVar48 != bVar45) {\n      if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }\nLAB_002c15d8:\n      cVar15 = '\0';\n      if (uVar44 != 100) goto LAB_002c15e9;\nLAB_002c12e3:\n      lVar25 = param_8[0xf];\n      if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    \n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = true;\nLAB_002c1320:\n      local_c8 = &local_78;\n      if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    \n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }\n      goto LAB_002c13a0;\n    }\n    local_b8 = (ulong)*(byte *)((long)plVar6 + 0x36c);\n    bVar42 = *(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1;\n    if ((!bVar46 && !bVar49) == bVar46) {\n      if (bVar42 == 0) goto LAB_002c1750;\n    }\n    else if (bVar42 == 0) goto LAB_002c15d8;\n    if ((((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40)) {\n      uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n    }\n    cVar15 = '\x01';\n    if (uVar44 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    if (param_8[0xe] == 0) {\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    if ((uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0')) {\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = false;\n      goto LAB_002c13ac;\n    }\nLAB_002c15fe:\n    local_c8 = &local_78;\n    uVar17 = *(uint *)(param_2 + 0x30);\n    unaff_R13 = (uint *)(ulong)uVar17;\n    cVar16 = FUN_002972f0(plVar6,unaff_R13);\n    if ((cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e))) {\n      if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }\n    if (param_8 == (undefined8 *)0x0) {\n      plVar40 = (long *)plVar6[99];\n      plVar27 = plVar6 + 0x62;\n      if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }\nLAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);\n      bVar48 = uVar44 == 100;\n      bVar47 = 0;\n      if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }\n      param_9 = local_c8;\n      local_cd = true;\n      goto LAB_002c13d7;\n    }\n    if (*(char *)(param_8 + 9) == '\0') {\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");\n    }\n    if (*(int *)((long)param_8 + 0x4c) == -1) {\n      plVar40 = (long *)param_8[0xe];\n      goto LAB_002c3d91;\n    }\n    lVar31 = *(long *)(param_4 + 0x98);\n    if (lVar31 == 0) {\n      FUN_00290900();\nLAB_002c46d8:\n      FUN_00290940();\n      goto LAB_002c46dd;\n    }\n    local_cd = (bool)(*(byte *)(lVar31 + 0x20) & 1);\n    if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c4670:\n                    \n      FUN_00291e90();\n    }\n    bVar48 = uVar44 == 100;\n    local_68 = *(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8);\n    bVar47 = 0;\n    if ((uVar18 & 0xf7) != 0x85) {\n      param_9 = local_c8;\n      goto LAB_002c13c4;\n    }\n    param_9 = local_c8;\nLAB_002c16b8:\n    cVar16 = FUN_002e7200(param_8);\n    if (cVar16 == '\0') {\n      local_cf = (bVar47 ^ 1) & bVar48;\n      if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    else {\n      local_cf = 0;\n    }\n    if (*(char *)((long)param_8 + 100) != '\0') {\n      local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n      if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar44 - 100;\n      uVar32 = (ulong)(uVar44 - 0x85);\n      local_b8 = (ulong)(param_3 == 9);\n      uStack_80 = 0;\n      uStack_7c = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar30 = (ushort)*param_10;\n      uVar17 = (uint)uVar30;\n      uVar2 = *(ushort *)((long)param_10 + 2);\n      uVar18 = (uint)uVar2;\n      local_84 = uVar44;\n      if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    \n    local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0);\n    if ((local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    if (uVar44 - 0x85 < 0x29) {\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_ce = 0;\n    local_b8 = (ulong)(param_3 == 9);\nLAB_002c1b2f:\n    local_84 = uVar44;\n    if (((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;\n  }" { (expression_statement "bVar14 = *(byte *)((long)param_8 + 0x39) >> 2;" (assignment_expression "bVar14 = *(byte *)((long)param_8 + 0x39) >> 2" identifier = (binary_expression "*(byte *)((long)param_8 + 0x39) >> 2" (pointer_expression "*(byte *)((long)param_8 + 0x39)" * (cast_expression "(byte *)((long)param_8 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x39)" ( (binary_expression "(long)param_8 + 0x39" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) >> number_literal)) ;) (expression_statement "bVar47 = (bVar14 & 0x3c) == 0x3c;" (assignment_expression "bVar47 = (bVar14 & 0x3c) == 0x3c" identifier = (binary_expression "(bVar14 & 0x3c) == 0x3c" (parenthesized_expression "(bVar14 & 0x3c)" ( (binary_expression "bVar14 & 0x3c" identifier & number_literal) )) == number_literal)) ;) (expression_statement "bVar14 = (bVar14 & 0x30) == 0x20;" (assignment_expression "bVar14 = (bVar14 & 0x30) == 0x20" identifier = (binary_expression "(bVar14 & 0x30) == 0x20" (parenthesized_expression "(bVar14 & 0x30)" ( (binary_expression "bVar14 & 0x30" identifier & number_literal) )) == number_literal)) ;) (expression_statement "local_cd = (bool)bVar47 || (bool)bVar14;" (assignment_expression "local_cd = (bool)bVar47 || (bool)bVar14" identifier = (binary_expression "(bool)bVar47 || (bool)bVar14" (cast_expression "(bool)bVar47" ( (type_descriptor "bool" primitive_type) ) identifier) || (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier))) ;) (if_statement "if (((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)) {\n      local_68 = FUN_001a5ac0(param_9,plVar6,0);\n      local_68 = local_68 | 1;\n      param_9 = &local_78;\n    }\n    else {\n      local_cd = false;\n    }" if (parenthesized_expression "(((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0))" ( (binary_expression "((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)" (parenthesized_expression "((bool)bVar47 || (bool)bVar14)" ( (binary_expression "(bool)bVar47 || (bool)bVar14" (cast_expression "(bool)bVar47" ( (type_descriptor "bool" primitive_type) ) identifier) || (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier)) )) && (parenthesized_expression "(iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)" ( (comma_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,0)" identifier (argument_list "(param_9,plVar6,0)" ( identifier , identifier , number_literal )))) , (binary_expression "iVar35 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n      local_68 = FUN_001a5ac0(param_9,plVar6,0);\n      local_68 = local_68 | 1;\n      param_9 = &local_78;\n    }" { (expression_statement "local_68 = FUN_001a5ac0(param_9,plVar6,0);" (assignment_expression "local_68 = FUN_001a5ac0(param_9,plVar6,0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,0)" identifier (argument_list "(param_9,plVar6,0)" ( identifier , identifier , number_literal )))) ;) (expression_statement "local_68 = local_68 | 1;" (assignment_expression "local_68 = local_68 | 1" identifier = (binary_expression "local_68 | 1" identifier | number_literal)) ;) (expression_statement "param_9 = &local_78;" (assignment_expression "param_9 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;) }) (else_clause "else {\n      local_cd = false;\n    }" else (compound_statement "{\n      local_cd = false;\n    }" { (expression_statement "local_cd = false;" (assignment_expression "local_cd = false" identifier = false) ;) }))) (expression_statement "local_c8 = &local_78;" (assignment_expression "local_c8 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;) (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" identifier = number_literal) ;) (if_statement "if (uVar44 - 1 < 0xf9) {\n      iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];\n    }" if (parenthesized_expression "(uVar44 - 1 < 0xf9)" ( (binary_expression "uVar44 - 1 < 0xf9" (binary_expression "uVar44 - 1" identifier - number_literal) < number_literal) )) (compound_statement "{\n      iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];\n    }" { (expression_statement "iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];" (assignment_expression "iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1]" identifier = (cast_expression "(int)(char)(&DAT_0055e3e0)[uVar44 - 1]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)(&DAT_0055e3e0)[uVar44 - 1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "(&DAT_0055e3e0)[uVar44 - 1]" (parenthesized_expression "(&DAT_0055e3e0)" ( (pointer_expression "&DAT_0055e3e0" & identifier) )) [ (binary_expression "uVar44 - 1" identifier - number_literal) ])))) ;) })) (expression_statement "cVar15 = FUN_00228fa0(param_8,iVar35);" (assignment_expression "cVar15 = FUN_00228fa0(param_8,iVar35)" identifier = (call_expression "FUN_00228fa0(param_8,iVar35)" identifier (argument_list "(param_8,iVar35)" ( identifier , identifier )))) ;) (if_statement "if (cVar15 == '\0') {\n      bVar45 = false;\n      bVar48 = *(char *)((long)param_8 + 0x65) == '\0';\n      if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }\n    }\n    else {\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    \n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }" if (parenthesized_expression "(cVar15 == '\0')" ( (binary_expression "cVar15 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      bVar45 = false;\n      bVar48 = *(char *)((long)param_8 + 0x65) == '\0';\n      if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }\n    }" { (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (expression_statement "bVar48 = *(char *)((long)param_8 + 0x65) == '\0';" (assignment_expression "bVar48 = *(char *)((long)param_8 + 0x65) == '\0'" identifier = (binary_expression "*(char *)((long)param_8 + 0x65) == '\0'" (pointer_expression "*(char *)((long)param_8 + 0x65)" * (cast_expression "(char *)((long)param_8 + 0x65)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x65)" ( (binary_expression "(long)param_8 + 0x65" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }" if (parenthesized_expression "(!bVar48)" ( (unary_expression "!bVar48" ! identifier) )) (compound_statement "{\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }" { (labeled_statement "LAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);" statement_identifier : (expression_statement "lVar31 = *(long *)(param_4 + 0xb8);" (assignment_expression "lVar31 = *(long *)(param_4 + 0xb8)" identifier = (pointer_expression "*(long *)(param_4 + 0xb8)" * (cast_expression "(long *)(param_4 + 0xb8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0xb8)" ( (binary_expression "param_4 + 0xb8" identifier + number_literal) ))))) ;)) (if_statement "if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_002908e0();\nLAB_002c4653:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }" { (expression_statement "FUN_002908e0();" (call_expression "FUN_002908e0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_002c4653:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");" statement_identifier : (expression_statement "FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate")" identifier (argument_list "("../../gold/mips.cc",0x2eda,"relocate")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""relocate"" " string_content ") ))) ;)) })) (if_statement "if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n          FUN_00291e90();\n        }" if (parenthesized_expression "((*(byte *)(lVar31 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar31 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar31 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar31 + 0x20) & 1" (pointer_expression "*(byte *)(lVar31 + 0x20)" * (cast_expression "(byte *)(lVar31 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x20)" ( (binary_expression "lVar31 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n          FUN_00291e90();\n        }" { (expression_statement "FUN_00291e90();" (call_expression "FUN_00291e90()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));" (assignment_expression "bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8))" identifier = (call_expression "CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8))" identifier (argument_list "(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8))" ( (pointer_expression "*(uint *)((long)param_8 + 0x54)" * (cast_expression "(uint *)((long)param_8 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x54)" ( (binary_expression "(long)param_8 + 0x54" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) , (pointer_expression "*(uint *)(lVar31 + 8)" * (cast_expression "(uint *)(lVar31 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 8)" ( (binary_expression "lVar31 + 8" identifier + number_literal) )))) )))) ;) (expression_statement "uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);" (assignment_expression "uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8)" identifier = (binary_expression "*(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8)" (pointer_expression "*(uint *)((long)param_8 + 0x54)" * (cast_expression "(uint *)((long)param_8 + 0x54)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x54)" ( (binary_expression "(long)param_8 + 0x54" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) + (pointer_expression "*(uint *)(lVar31 + 8)" * (cast_expression "(uint *)(lVar31 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 8)" ( (binary_expression "lVar31 + 8" identifier + number_literal) )))))) ;) (expression_statement "bVar48 = uVar17 == 0;" (assignment_expression "bVar48 = uVar17 == 0" identifier = (binary_expression "uVar17 == 0" identifier == number_literal)) ;) (expression_statement "bVar13 = bVar47;" (assignment_expression "bVar13 = bVar47" identifier = identifier) ;) (goto_statement "goto LAB_002c1209;" goto statement_identifier ;) })) }) (else_clause "else {\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    \n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }" else (compound_statement "{\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    \n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }" { (if_statement "if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;" if (parenthesized_expression "(*(char *)((long)param_8 + 0x65) != '\0')" ( (binary_expression "*(char *)((long)param_8 + 0x65) != '\0'" (pointer_expression "*(char *)((long)param_8 + 0x65)" * (cast_expression "(char *)((long)param_8 + 0x65)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x65)" ( (binary_expression "(long)param_8 + 0x65" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002c11e1;" goto statement_identifier ;)) (expression_statement "lVar31 = *(long *)(param_4 + 0x30);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x30)" identifier = (pointer_expression "*(long *)(param_4 + 0x30)" * (cast_expression "(long *)(param_4 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x30)" ( (binary_expression "param_4 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    \n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }" if (parenthesized_expression "(*(int *)(param_8 + 0xd) == -1)" ( (binary_expression "*(int *)(param_8 + 0xd) == -1" (pointer_expression "*(int *)(param_8 + 0xd)" * (cast_expression "(int *)(param_8 + 0xd)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 0xd)" ( (binary_expression "param_8 + 0xd" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    \n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }" { (if_statement "if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }" { (expression_statement "FUN_00290920();" (call_expression "FUN_00290920()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002c45d2;" goto statement_identifier ;) })) (if_statement "if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }" if (parenthesized_expression "(*(int *)((long)param_8 + 0x6c) == -1)" ( (binary_expression "*(int *)((long)param_8 + 0x6c) == -1" (pointer_expression "*(int *)((long)param_8 + 0x6c)" * (cast_expression "(int *)((long)param_8 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x6c)" ( (binary_expression "(long)param_8 + 0x6c" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }" { (expression_statement "FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address")" identifier (argument_list "("../../gold/mips.cc",0x9ed,"comp_entry_address")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""comp_entry_address"" " string_content ") ))) ;) })) (if_statement "if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    \n          FUN_00291e90();\n        }" if (parenthesized_expression "((*(byte *)(lVar31 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar31 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar31 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar31 + 0x20) & 1" (pointer_expression "*(byte *)(lVar31 + 0x20)" * (cast_expression "(byte *)(lVar31 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x20)" ( (binary_expression "lVar31 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_002c45b0:\n                    \n          FUN_00291e90();\n        }" { (labeled_statement "LAB_002c45b0:\n                    \n          FUN_00291e90();" statement_identifier : (expression_statement "FUN_00291e90();" (call_expression "FUN_00291e90()" identifier (argument_list "()" ( ))) ;)) })) (expression_statement "bVar1 = *(byte *)(param_4 + 0x14);" (assignment_expression "bVar1 = *(byte *)(param_4 + 0x14)" identifier = (pointer_expression "*(byte *)(param_4 + 0x14)" * (cast_expression "(byte *)(param_4 + 0x14)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x14)" ( (binary_expression "param_4 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);" (assignment_expression "uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8)" identifier = (binary_expression "*(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8)" (binary_expression "*(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60)" (binary_expression "*(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68)" (binary_expression "*(int *)((long)param_8 + 0x6c) + 1" (pointer_expression "*(int *)((long)param_8 + 0x6c)" * (cast_expression "(int *)((long)param_8 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x6c)" ( (binary_expression "(long)param_8 + 0x6c" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) + number_literal) + (pointer_expression "*(int *)(lVar31 + 0x68)" * (cast_expression "(int *)(lVar31 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x68)" ( (binary_expression "lVar31 + 0x68" identifier + number_literal) ))))) + (pointer_expression "*(int *)(lVar31 + 0x60)" * (cast_expression "(int *)(lVar31 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x60)" ( (binary_expression "lVar31 + 0x60" identifier + number_literal) ))))) + (pointer_expression "*(int *)(lVar31 + 8)" * (cast_expression "(int *)(lVar31 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 8)" ( (binary_expression "lVar31 + 8" identifier + number_literal) )))))) ;) (if_statement "if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }" if (parenthesized_expression "(bVar1 == 0)" ( (binary_expression "bVar1 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }" { (expression_statement "FUN_00290d40();" (call_expression "FUN_00290d40()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002c45b0;" goto statement_identifier ;) })) (expression_statement "local_b8 = (ulong)*(uint *)(param_4 + 0x10);" (assignment_expression "local_b8 = (ulong)*(uint *)(param_4 + 0x10)" identifier = (binary_expression "(ulong)*(uint *)(param_4 + 0x10)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(param_4 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x10)" ( (binary_expression "param_4 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (expression_statement "bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;" (assignment_expression "bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0" identifier = (binary_expression "(*(uint *)(param_4 + 0x10) & 0x2000000) == 0" (parenthesized_expression "(*(uint *)(param_4 + 0x10) & 0x2000000)" ( (binary_expression "*(uint *)(param_4 + 0x10) & 0x2000000" (pointer_expression "*(uint *)(param_4 + 0x10)" * (cast_expression "(uint *)(param_4 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x10)" ( (binary_expression "param_4 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal)) ;) (expression_statement "bVar13 = bVar1;" (assignment_expression "bVar13 = bVar1" identifier = identifier) ;) (if_statement "if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }" if (parenthesized_expression "(!bVar48)" ( (unary_expression "!bVar48" ! identifier) )) (compound_statement "{\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }" { (expression_statement "bVar13 = bVar47;" (assignment_expression "bVar13 = bVar47" identifier = identifier) ;) (expression_statement "bVar14 = bVar1;" (assignment_expression "bVar14 = bVar1" identifier = identifier) ;) })) }) (else_clause "else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }" else (compound_statement "{\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }" { (if_statement "if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }" { (labeled_statement "LAB_002c4644:\n          FUN_00290920();" statement_identifier : (expression_statement "FUN_00290920();" (call_expression "FUN_00290920()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c4649:\n                    \n          FUN_00291e90();" statement_identifier : (expression_statement "FUN_00291e90();" (call_expression "FUN_00291e90()" identifier (argument_list "()" ( ))) ;)) })) (if_statement "if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;" if (parenthesized_expression "((*(byte *)(lVar31 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar31 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar31 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar31 + 0x20) & 1" (pointer_expression "*(byte *)(lVar31 + 0x20)" * (cast_expression "(byte *)(lVar31 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x20)" ( (binary_expression "lVar31 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_002c4649;" goto statement_identifier ;)) (expression_statement "uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);" (assignment_expression "uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68)" identifier = (binary_expression "*(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68)" (binary_expression "*(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8)" (pointer_expression "*(int *)(param_8 + 0xd)" * (cast_expression "(int *)(param_8 + 0xd)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 0xd)" ( (binary_expression "param_8 + 0xd" identifier + number_literal) )))) + (pointer_expression "*(int *)(lVar31 + 8)" * (cast_expression "(int *)(lVar31 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 8)" ( (binary_expression "lVar31 + 8" identifier + number_literal) ))))) + (pointer_expression "*(int *)(lVar31 + 0x68)" * (cast_expression "(int *)(lVar31 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x68)" ( (binary_expression "lVar31 + 0x68" identifier + number_literal) )))))) ;) (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (expression_statement "bVar48 = true;" (assignment_expression "bVar48 = true" identifier = true) ;) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" identifier = number_literal) ;) (expression_statement "bVar14 = 0;" (assignment_expression "bVar14 = 0" identifier = number_literal) ;) }))) (labeled_statement "LAB_002c1209:\n      bVar47 = bVar13;" statement_identifier : (expression_statement "bVar47 = bVar13;" (assignment_expression "bVar47 = bVar13" identifier = identifier) ;)) (expression_statement "local_68 = uVar17;" (assignment_expression "local_68 = uVar17" identifier = identifier) ;) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" identifier = identifier) ;) }))) (expression_statement "lVar31 = 9;" (assignment_expression "lVar31 = 9" identifier = number_literal) ;) (expression_statement "pbVar37 = (byte *)*param_8;" (assignment_expression "pbVar37 = (byte *)*param_8" identifier = (cast_expression "(byte *)*param_8" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_8" * identifier))) ;) (expression_statement "pbVar38 = (byte *)"_gp_disp";" (assignment_expression "pbVar38 = (byte *)"_gp_disp"" identifier = (cast_expression "(byte *)"_gp_disp"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""_gp_disp"" " string_content "))) ;) (do_statement "do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar45 = *pbVar37 < *pbVar38;\n      bVar48 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar48);" do (compound_statement "{\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar45 = *pbVar37 < *pbVar38;\n      bVar48 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    }" { (if_statement "if (lVar31 == 0) break;" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar31 = lVar31 + -1;" (assignment_expression "lVar31 = lVar31 + -1" identifier = (binary_expression "lVar31 + -1" identifier + number_literal)) ;) (expression_statement "bVar45 = *pbVar37 < *pbVar38;" (assignment_expression "bVar45 = *pbVar37 < *pbVar38" identifier = (binary_expression "*pbVar37 < *pbVar38" (pointer_expression "*pbVar37" * identifier) < (pointer_expression "*pbVar38" * identifier))) ;) (expression_statement "bVar48 = *pbVar37 == *pbVar38;" (assignment_expression "bVar48 = *pbVar37 == *pbVar38" identifier = (binary_expression "*pbVar37 == *pbVar38" (pointer_expression "*pbVar37" * identifier) == (pointer_expression "*pbVar38" * identifier))) ;) (expression_statement "pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;" (assignment_expression "pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1" identifier = (binary_expression "pbVar37 + (ulong)bVar42 * -2 + 1" (binary_expression "pbVar37 + (ulong)bVar42 * -2" identifier + (binary_expression "(ulong)bVar42 * -2" (cast_expression "(ulong)bVar42" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1" identifier = (binary_expression "pbVar38 + (ulong)bVar42 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar42 * -2" identifier + (binary_expression "(ulong)bVar42 * -2" (cast_expression "(ulong)bVar42" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar48)" ( identifier )) ;) (expression_statement "lVar31 = 0xf;" (assignment_expression "lVar31 = 0xf" identifier = number_literal) ;) (expression_statement "bVar48 = !bVar45 && !bVar48;" (assignment_expression "bVar48 = !bVar45 && !bVar48" identifier = (binary_expression "!bVar45 && !bVar48" (unary_expression "!bVar45" ! identifier) && (unary_expression "!bVar48" ! identifier))) ;) (expression_statement "bVar46 = bVar48 < bVar45;" (assignment_expression "bVar46 = bVar48 < bVar45" identifier = (binary_expression "bVar48 < bVar45" identifier < identifier)) ;) (expression_statement "bVar49 = bVar48 == bVar45;" (assignment_expression "bVar49 = bVar48 == bVar45" identifier = (binary_expression "bVar48 == bVar45" identifier == identifier)) ;) (expression_statement "pbVar37 = (byte *)*param_8;" (assignment_expression "pbVar37 = (byte *)*param_8" identifier = (cast_expression "(byte *)*param_8" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*param_8" * identifier))) ;) (expression_statement "pbVar38 = (byte *)"__gnu_local_gp";" (assignment_expression "pbVar38 = (byte *)"__gnu_local_gp"" identifier = (cast_expression "(byte *)"__gnu_local_gp"" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""__gnu_local_gp"" " string_content "))) ;) (do_statement "do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar46 = *pbVar37 < *pbVar38;\n      bVar49 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar49);" do (compound_statement "{\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar46 = *pbVar37 < *pbVar38;\n      bVar49 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    }" { (if_statement "if (lVar31 == 0) break;" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "lVar31 = lVar31 + -1;" (assignment_expression "lVar31 = lVar31 + -1" identifier = (binary_expression "lVar31 + -1" identifier + number_literal)) ;) (expression_statement "bVar46 = *pbVar37 < *pbVar38;" (assignment_expression "bVar46 = *pbVar37 < *pbVar38" identifier = (binary_expression "*pbVar37 < *pbVar38" (pointer_expression "*pbVar37" * identifier) < (pointer_expression "*pbVar38" * identifier))) ;) (expression_statement "bVar49 = *pbVar37 == *pbVar38;" (assignment_expression "bVar49 = *pbVar37 == *pbVar38" identifier = (binary_expression "*pbVar37 == *pbVar38" (pointer_expression "*pbVar37" * identifier) == (pointer_expression "*pbVar38" * identifier))) ;) (expression_statement "pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;" (assignment_expression "pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1" identifier = (binary_expression "pbVar37 + (ulong)bVar42 * -2 + 1" (binary_expression "pbVar37 + (ulong)bVar42 * -2" identifier + (binary_expression "(ulong)bVar42 * -2" (cast_expression "(ulong)bVar42" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1" identifier = (binary_expression "pbVar38 + (ulong)bVar42 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar42 * -2" identifier + (binary_expression "(ulong)bVar42 * -2" (cast_expression "(ulong)bVar42" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar49)" ( identifier )) ;) (if_statement "if (bVar48 != bVar45) {\n      if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }\nLAB_002c15d8:\n      cVar15 = '\0';\n      if (uVar44 != 100) goto LAB_002c15e9;\nLAB_002c12e3:\n      lVar25 = param_8[0xf];\n      if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    \n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = true;\nLAB_002c1320:\n      local_c8 = &local_78;\n      if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    \n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }\n      goto LAB_002c13a0;\n    }" if (parenthesized_expression "(bVar48 != bVar45)" ( (binary_expression "bVar48 != bVar45" identifier != identifier) )) (compound_statement "{\n      if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }\nLAB_002c15d8:\n      cVar15 = '\0';\n      if (uVar44 != 100) goto LAB_002c15e9;\nLAB_002c12e3:\n      lVar25 = param_8[0xf];\n      if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    \n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = true;\nLAB_002c1320:\n      local_c8 = &local_78;\n      if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    \n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }\n      goto LAB_002c13a0;\n    }" { (if_statement "if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }" if (parenthesized_expression "((!bVar46 && !bVar49) == bVar46)" ( (binary_expression "(!bVar46 && !bVar49) == bVar46" (parenthesized_expression "(!bVar46 && !bVar49)" ( (binary_expression "!bVar46 && !bVar49" (unary_expression "!bVar46" ! identifier) && (unary_expression "!bVar49" ! identifier)) )) == identifier) )) (compound_statement "{\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }" { (labeled_statement "LAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }" statement_identifier : (if_statement "if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }" if (parenthesized_expression "(*(long *)(param_4 + 0x28) == 0)" ( (binary_expression "*(long *)(param_4 + 0x28) == 0" (pointer_expression "*(long *)(param_4 + 0x28)" * (cast_expression "(long *)(param_4 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x28)" ( (binary_expression "param_4 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          local_68 = 0;\n        }" { (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }" else (compound_statement "{\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }" { (expression_statement "local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);" (assignment_expression "local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40)" identifier = (pointer_expression "*(uint *)(*(long *)(param_4 + 0x28) + 0x40)" * (cast_expression "(uint *)(*(long *)(param_4 + 0x28) + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_4 + 0x28) + 0x40)" ( (binary_expression "*(long *)(param_4 + 0x28) + 0x40" (pointer_expression "*(long *)(param_4 + 0x28)" * (cast_expression "(long *)(param_4 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x28)" ( (binary_expression "param_4 + 0x28" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }" if (parenthesized_expression "(((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0))" ( (binary_expression "((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)" (parenthesized_expression "((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))" ( (binary_expression "(*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" ( (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" ( (binary_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0" (pointer_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0)" * (cast_expression "(long *)(*(long *)(param_4 + 0x20) + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_4 + 0x20) + 0xd0)" ( (binary_expression "*(long *)(param_4 + 0x20) + 0xd0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "(plVar6[0x6e] != 0)" ( (binary_expression "plVar6[0x6e] != 0" (subscript_expression "plVar6[0x6e]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }" { (expression_statement "local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);" (assignment_expression "local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c)" identifier = (binary_expression "local_68 + *(int *)(plVar6[0x6e] + 0x10c)" identifier + (pointer_expression "*(int *)(plVar6[0x6e] + 0x10c)" * (cast_expression "(int *)(plVar6[0x6e] + 0x10c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6[0x6e] + 0x10c)" ( (binary_expression "plVar6[0x6e] + 0x10c" (subscript_expression "plVar6[0x6e]" identifier [ number_literal ]) + number_literal) )))))) ;) })) })))) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" identifier = identifier) ;) })) (labeled_statement "LAB_002c15d8:\n      cVar15 = '\0';" statement_identifier : (expression_statement "cVar15 = '\0';" (assignment_expression "cVar15 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;)) (if_statement "if (uVar44 != 100) goto LAB_002c15e9;" if (parenthesized_expression "(uVar44 != 100)" ( (binary_expression "uVar44 != 100" identifier != number_literal) )) (goto_statement "goto LAB_002c15e9;" goto statement_identifier ;)) (labeled_statement "LAB_002c12e3:\n      lVar25 = param_8[0xf];" statement_identifier : (expression_statement "lVar25 = param_8[0xf];" (assignment_expression "lVar25 = param_8[0xf]" identifier = (subscript_expression "param_8[0xf]" identifier [ number_literal ])) ;)) (if_statement "if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }" if (parenthesized_expression "(lVar25 == 0)" ( (binary_expression "lVar25 == 0" identifier == number_literal) )) (compound_statement "{\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }" { (if_statement "if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;" if (parenthesized_expression "((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))" ( (binary_expression "(param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0)))" (parenthesized_expression "(param_8[0x10] == 0)" ( (binary_expression "param_8[0x10] == 0" (subscript_expression "param_8[0x10]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0)))" ( (parenthesized_expression "(*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))" ( (binary_expression "*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0)" (binary_expression "*(int *)((long)param_8 + 0x24) == -1" (pointer_expression "*(int *)((long)param_8 + 0x24)" * (cast_expression "(int *)((long)param_8 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x24)" ( (binary_expression "(long)param_8 + 0x24" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == number_literal) && (parenthesized_expression "(bVar47 != 0)" ( (binary_expression "bVar47 != 0" identifier != number_literal) ))) )) ))) )) (goto_statement "goto LAB_002c1304;" goto statement_identifier ;)) (expression_statement "lVar31 = param_8[0x10];" (assignment_expression "lVar31 = param_8[0x10]" identifier = (subscript_expression "param_8[0x10]" identifier [ number_literal ])) ;) (labeled_statement "LAB_002c1d90:\n        local_c8 = &local_78;" statement_identifier : (expression_statement "local_c8 = &local_78;" (assignment_expression "local_c8 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;)) (expression_statement "local_68 = FUN_00298370(lVar31,lVar31 + 8);" (assignment_expression "local_68 = FUN_00298370(lVar31,lVar31 + 8)" identifier = (call_expression "FUN_00298370(lVar31,lVar31 + 8)" identifier (argument_list "(lVar31,lVar31 + 8)" ( identifier , (binary_expression "lVar31 + 8" identifier + number_literal) )))) ;) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" identifier = identifier) ;) (expression_statement "bVar45 = true;" (assignment_expression "bVar45 = true" identifier = true) ;) (expression_statement "local_cd = true;" (assignment_expression "local_cd = true" identifier = true) ;) (goto_statement "goto LAB_002c13a0;" goto statement_identifier ;) })) (if_statement "if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    \n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }" if (parenthesized_expression "((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0))" ( (binary_expression "(*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)" (parenthesized_expression "(*(int *)((long)param_8 + 0x24) != -1)" ( (binary_expression "*(int *)((long)param_8 + 0x24) != -1" (pointer_expression "*(int *)((long)param_8 + 0x24)" * (cast_expression "(int *)((long)param_8 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x24)" ( (binary_expression "(long)param_8 + 0x24" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != number_literal) )) || (parenthesized_expression "(bVar47 == 0)" ( (binary_expression "bVar47 == 0" identifier == number_literal) ))) )) (compound_statement "{\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    \n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }" { (expression_statement "lVar31 = lVar25;" (assignment_expression "lVar31 = lVar25" identifier = identifier) ;) (if_statement "if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    \n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }" if (parenthesized_expression "((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7)))" ( (binary_expression "(param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))" (parenthesized_expression "(param_8[0x10] != 0)" ( (binary_expression "param_8[0x10] != 0" (subscript_expression "param_8[0x10]" identifier [ number_literal ]) != number_literal) )) && (parenthesized_expression "(1 < *(uint *)(plVar6 + 7))" ( (binary_expression "1 < *(uint *)(plVar6 + 7)" number_literal < (pointer_expression "*(uint *)(plVar6 + 7)" * (cast_expression "(uint *)(plVar6 + 7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 7)" ( (binary_expression "plVar6 + 7" identifier + number_literal) ))))) ))) )) (compound_statement "{\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    \n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }" { (expression_statement "uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);" (assignment_expression "uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a)" identifier = (binary_expression "((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a)" (parenthesized_expression "((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8)" ( (binary_expression "(ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8" (binary_expression "(ulong)*(uint *)(plVar6 + 0x7c)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(plVar6 + 0x7c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0x7c)" ( (binary_expression "plVar6 + 0x7c" identifier + number_literal) )))) + (binary_expression "(plVar6[0x7b] - plVar6[0x79]) * 8" (parenthesized_expression "(plVar6[0x7b] - plVar6[0x79])" ( (binary_expression "plVar6[0x7b] - plVar6[0x79]" (subscript_expression "plVar6[0x7b]" identifier [ number_literal ]) - (subscript_expression "plVar6[0x79]" identifier [ number_literal ])) )) * number_literal)) )) - (binary_expression "(ulong)*(uint *)(plVar6 + 0x7a)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(plVar6 + 0x7a)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0x7a)" ( (binary_expression "plVar6 + 0x7a" identifier + number_literal) )))))) ;) (if_statement "if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }" if (parenthesized_expression "(1 < uVar32)" ( (binary_expression "1 < uVar32" number_literal < identifier) )) (compound_statement "{\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }" { (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" identifier = number_literal) ;) (do_statement "do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);" do (compound_statement "{\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            }" { (expression_statement "lVar31 = param_8[0x10];" (assignment_expression "lVar31 = param_8[0x10]" identifier = (subscript_expression "param_8[0x10]" identifier [ number_literal ])) ;) (if_statement "if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;" if (parenthesized_expression "(((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))" ( (binary_expression "((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1)" (parenthesized_expression "((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  )" ( (binary_expression "(*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0" (parenthesized_expression "(*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f))" ( (binary_expression "*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)" (pointer_expression "*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8)" * (cast_expression "(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6[0x79] + (uVar24 >> 6) * 8)" ( (binary_expression "plVar6[0x79] + (uVar24 >> 6) * 8" (subscript_expression "plVar6[0x79]" identifier [ number_literal ]) + (binary_expression "(uVar24 >> 6) * 8" (parenthesized_expression "(uVar24 >> 6)" ( (binary_expression "uVar24 >> 6" identifier >> number_literal) )) * number_literal)) )))) & (binary_expression "1L << ((byte)uVar24 & 0x3f)" number_literal << (parenthesized_expression "((byte)uVar24 & 0x3f)" ( (binary_expression "(byte)uVar24 & 0x3f" (cast_expression "(byte)uVar24" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )))) )) != number_literal) )) || (parenthesized_expression "(lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1)" ( (comma_expression "lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1" (assignment_expression "lVar31 = lVar25" identifier = identifier) , (binary_expression "uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1" identifier == (binary_expression "(ulong)(*(uint *)(plVar6 + 7) - 2) + 1" (call_expression "(ulong)(*(uint *)(plVar6 + 7) - 2)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(*(uint *)(plVar6 + 7) - 2)" ( (binary_expression "*(uint *)(plVar6 + 7) - 2" (pointer_expression "*(uint *)(plVar6 + 7)" * (cast_expression "(uint *)(plVar6 + 7)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 7)" ( (binary_expression "plVar6 + 7" identifier + number_literal) )))) - number_literal) ))) + number_literal))) ))) )) (goto_statement "goto LAB_002c1d90;" goto statement_identifier ;)) (expression_statement "uVar24 = uVar24 + 1;" (assignment_expression "uVar24 = uVar24 + 1" identifier = (binary_expression "uVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar24 != uVar32)" ( (binary_expression "uVar24 != uVar32" identifier != identifier) )) ;) })) (expression_statement "FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section")" identifier (argument_list "("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""is_mips16_call_fp_stub_section"" " string_content ") ))) ;) })) (goto_statement "goto LAB_002c1d90;" goto statement_identifier ;) })) (labeled_statement "LAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;" statement_identifier : (if_statement "if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;" if (parenthesized_expression "(*(int *)((long)param_8 + 0x4c) != -1)" ( (binary_expression "*(int *)((long)param_8 + 0x4c) != -1" (pointer_expression "*(int *)((long)param_8 + 0x4c)" * (cast_expression "(int *)((long)param_8 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x4c)" ( (binary_expression "(long)param_8 + 0x4c" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_002c17c6;" goto statement_identifier ;))) (expression_statement "bVar45 = true;" (assignment_expression "bVar45 = true" identifier = true) ;) (labeled_statement "LAB_002c1320:\n      local_c8 = &local_78;" statement_identifier : (expression_statement "local_c8 = &local_78;" (assignment_expression "local_c8 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;)) (if_statement "if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    \n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }" if (parenthesized_expression "(((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1))" ( (binary_expression "((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)" (parenthesized_expression "((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1))" ( (binary_expression "(*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)" (parenthesized_expression "(*(int *)((long)param_8 + 0x24) != -1)" ( (binary_expression "*(int *)((long)param_8 + 0x24) != -1" (pointer_expression "*(int *)((long)param_8 + 0x24)" * (cast_expression "(int *)((long)param_8 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x24)" ( (binary_expression "(long)param_8 + 0x24" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(int *)((long)param_8 + 0x6c) != -1)" ( (binary_expression "*(int *)((long)param_8 + 0x6c) != -1" (pointer_expression "*(int *)((long)param_8 + 0x6c)" * (cast_expression "(int *)((long)param_8 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x6c)" ( (binary_expression "(long)param_8 + 0x6c" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "(*(int *)(param_8 + 0xd) != -1)" ( (binary_expression "*(int *)(param_8 + 0xd) != -1" (pointer_expression "*(int *)(param_8 + 0xd)" * (cast_expression "(int *)(param_8 + 0xd)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 0xd)" ( (binary_expression "param_8 + 0xd" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    \n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }" { (expression_statement "lVar31 = *(long *)(param_4 + 0x30);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x30)" identifier = (pointer_expression "*(long *)(param_4 + 0x30)" * (cast_expression "(long *)(param_4 + 0x30)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x30)" ( (binary_expression "param_4 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_00290920();\nLAB_002c46ec:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }" { (expression_statement "FUN_00290920();" (call_expression "FUN_00290920()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_002c46ec:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");" statement_identifier : (expression_statement "FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate")" identifier (argument_list "("../../gold/mips.cc",0x2e88,"relocate")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""relocate"" " string_content ") ))) ;)) })) (if_statement "if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;" if (parenthesized_expression "((*(byte *)(lVar31 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar31 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar31 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar31 + 0x20) & 1" (pointer_expression "*(byte *)(lVar31 + 0x20)" * (cast_expression "(byte *)(lVar31 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x20)" ( (binary_expression "lVar31 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_002c46e2;" goto statement_identifier ;)) (expression_statement "local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);" (assignment_expression "local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8)" identifier = (binary_expression "*(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8)" (binary_expression "*(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60)" (binary_expression "*(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68)" (binary_expression "*(int *)((long)param_8 + 0x6c) + 1" (pointer_expression "*(int *)((long)param_8 + 0x6c)" * (cast_expression "(int *)((long)param_8 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x6c)" ( (binary_expression "(long)param_8 + 0x6c" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) + number_literal) + (pointer_expression "*(int *)(lVar31 + 0x68)" * (cast_expression "(int *)(lVar31 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x68)" ( (binary_expression "lVar31 + 0x68" identifier + number_literal) ))))) + (pointer_expression "*(int *)(lVar31 + 0x60)" * (cast_expression "(int *)(lVar31 + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x60)" ( (binary_expression "lVar31 + 0x60" identifier + number_literal) ))))) + (pointer_expression "*(int *)(lVar31 + 8)" * (cast_expression "(int *)(lVar31 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 8)" ( (binary_expression "lVar31 + 8" identifier + number_literal) )))))) ;) (if_statement "if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    \n          FUN_00291e90();\n        }" if (parenthesized_expression "(*(char *)(param_4 + 0x14) == '\0')" ( (binary_expression "*(char *)(param_4 + 0x14) == '\0'" (pointer_expression "*(char *)(param_4 + 0x14)" * (cast_expression "(char *)(param_4 + 0x14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x14)" ( (binary_expression "param_4 + 0x14" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    \n          FUN_00291e90();\n        }" { (labeled_statement "LAB_002c46dd:\n          FUN_00290d40();" statement_identifier : (expression_statement "FUN_00290d40();" (call_expression "FUN_00290d40()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c46e2:\n                    \n          FUN_00291e90();" statement_identifier : (expression_statement "FUN_00291e90();" (call_expression "FUN_00291e90()" identifier (argument_list "()" ( ))) ;)) })) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" identifier = identifier) ;) (expression_statement "bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;" (assignment_expression "bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0" identifier = (binary_expression "(*(uint *)(param_4 + 0x10) & 0x2000000) == 0" (parenthesized_expression "(*(uint *)(param_4 + 0x10) & 0x2000000)" ( (binary_expression "*(uint *)(param_4 + 0x10) & 0x2000000" (pointer_expression "*(uint *)(param_4 + 0x10)" * (cast_expression "(uint *)(param_4 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x10)" ( (binary_expression "param_4 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal)) ;) (expression_statement "bVar14 = !(bool)bVar47;" (assignment_expression "bVar14 = !(bool)bVar47" identifier = (unary_expression "!(bool)bVar47" ! (cast_expression "(bool)bVar47" ( (type_descriptor "bool" primitive_type) ) identifier))) ;) })) (goto_statement "goto LAB_002c13a0;" goto statement_identifier ;) })) (expression_statement "local_b8 = (ulong)*(byte *)((long)plVar6 + 0x36c);" (assignment_expression "local_b8 = (ulong)*(byte *)((long)plVar6 + 0x36c)" identifier = (binary_expression "(ulong)*(byte *)((long)plVar6 + 0x36c)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(byte *)((long)plVar6 + 0x36c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar6 + 0x36c)" ( (binary_expression "(long)plVar6 + 0x36c" (cast_expression "(long)plVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "bVar42 = *(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1;" (assignment_expression "bVar42 = *(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1" identifier = (binary_expression "*(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1" (binary_expression "*(byte *)((long)plVar6 + 0x36c) >> 1 & 1" (binary_expression "*(byte *)((long)plVar6 + 0x36c) >> 1" (pointer_expression "*(byte *)((long)plVar6 + 0x36c)" * (cast_expression "(byte *)((long)plVar6 + 0x36c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar6 + 0x36c)" ( (binary_expression "(long)plVar6 + 0x36c" (cast_expression "(long)plVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) >> number_literal) & number_literal) ^ number_literal)) ;) (if_statement "if ((!bVar46 && !bVar49) == bVar46) {\n      if (bVar42 == 0) goto LAB_002c1750;\n    }\n    else if (bVar42 == 0) goto LAB_002c15d8;" if (parenthesized_expression "((!bVar46 && !bVar49) == bVar46)" ( (binary_expression "(!bVar46 && !bVar49) == bVar46" (parenthesized_expression "(!bVar46 && !bVar49)" ( (binary_expression "!bVar46 && !bVar49" (unary_expression "!bVar46" ! identifier) && (unary_expression "!bVar49" ! identifier)) )) == identifier) )) (compound_statement "{\n      if (bVar42 == 0) goto LAB_002c1750;\n    }" { (if_statement "if (bVar42 == 0) goto LAB_002c1750;" if (parenthesized_expression "(bVar42 == 0)" ( (binary_expression "bVar42 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002c1750;" goto statement_identifier ;)) }) (else_clause "else if (bVar42 == 0) goto LAB_002c15d8;" else (if_statement "if (bVar42 == 0) goto LAB_002c15d8;" if (parenthesized_expression "(bVar42 == 0)" ( (binary_expression "bVar42 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002c15d8;" goto statement_identifier ;)))) (if_statement "if ((((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40)) {\n      uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n    }" if (parenthesized_expression "((((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40))" ( (binary_expression "(((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40)" (parenthesized_expression "(((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86))" ( (binary_expression "((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)" (parenthesized_expression "((1 < uVar44 - 0x68) && (1 < uVar44 - 5))" ( (binary_expression "(1 < uVar44 - 0x68) && (1 < uVar44 - 5)" (parenthesized_expression "(1 < uVar44 - 0x68)" ( (binary_expression "1 < uVar44 - 0x68" number_literal < (binary_expression "uVar44 - 0x68" identifier - number_literal)) )) && (parenthesized_expression "(1 < uVar44 - 5)" ( (binary_expression "1 < uVar44 - 5" number_literal < (binary_expression "uVar44 - 5" identifier - number_literal)) ))) )) && (parenthesized_expression "(1 < uVar44 - 0x86)" ( (binary_expression "1 < uVar44 - 0x86" number_literal < (binary_expression "uVar44 - 0x86" identifier - number_literal)) ))) )) && (parenthesized_expression "(1 < uVar44 - 0x40)" ( (binary_expression "1 < uVar44 - 0x40" number_literal < (binary_expression "uVar44 - 0x40" identifier - number_literal)) ))) )) (compound_statement "{\n      uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n    }" { (expression_statement "uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );" (assignment_expression "uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      )" identifier = (call_expression "gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      )" identifier (argument_list "(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      )" ( (string_literal ""relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."" " string_content ") )))) ;) (expression_statement "FUN_0034ad90(param_2,param_6,iVar3,uVar22);" (call_expression "FUN_0034ad90(param_2,param_6,iVar3,uVar22)" identifier (argument_list "(param_2,param_6,iVar3,uVar22)" ( identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "cVar15 = '\x01';" (assignment_expression "cVar15 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) (if_statement "if (uVar44 == 100) goto LAB_002c12e3;" if (parenthesized_expression "(uVar44 == 100)" ( (binary_expression "uVar44 == 100" identifier == number_literal) )) (goto_statement "goto LAB_002c12e3;" goto statement_identifier ;)) (labeled_statement "LAB_002c15e9:\n    if (param_8[0xe] == 0) {\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }" statement_identifier : (if_statement "if (param_8[0xe] == 0) {\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }" if (parenthesized_expression "(param_8[0xe] == 0)" ( (binary_expression "param_8[0xe] == 0" (subscript_expression "param_8[0xe]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }" { (labeled_statement "LAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }" statement_identifier : (if_statement "if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }" if (parenthesized_expression "(*(int *)((long)param_8 + 0x4c) == -1)" ( (binary_expression "*(int *)((long)param_8 + 0x4c) == -1" (pointer_expression "*(int *)((long)param_8 + 0x4c)" * (cast_expression "(int *)((long)param_8 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x4c)" ( (binary_expression "(long)param_8 + 0x4c" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }" { (labeled_statement "LAB_002c1848:\n        bVar45 = uVar44 == 100;" statement_identifier : (expression_statement "bVar45 = uVar44 == 100;" (assignment_expression "bVar45 = uVar44 == 100" identifier = (binary_expression "uVar44 == 100" identifier == number_literal)) ;)) (if_statement "if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;" if (parenthesized_expression "(uVar44 == 0x85 || bVar45)" ( (binary_expression "uVar44 == 0x85 || bVar45" (binary_expression "uVar44 == 0x85" identifier == number_literal) || identifier) )) (goto_statement "goto LAB_002c1320;" goto statement_identifier ;)) (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (goto_statement "goto LAB_002c13ac;" goto statement_identifier ;) }))) (labeled_statement "LAB_002c17c6:\n      local_c8 = &local_78;" statement_identifier : (expression_statement "local_c8 = &local_78;" (assignment_expression "local_c8 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;)) (if_statement "if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;" if (parenthesized_expression "(((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0'))" ( (binary_expression "((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')" (parenthesized_expression "((*(byte *)((long)plVar6 + 0x36c) & 1) != 0)" ( (binary_expression "(*(byte *)((long)plVar6 + 0x36c) & 1) != 0" (parenthesized_expression "(*(byte *)((long)plVar6 + 0x36c) & 1)" ( (binary_expression "*(byte *)((long)plVar6 + 0x36c) & 1" (pointer_expression "*(byte *)((long)plVar6 + 0x36c)" * (cast_expression "(byte *)((long)plVar6 + 0x36c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar6 + 0x36c)" ( (binary_expression "(long)plVar6 + 0x36c" (cast_expression "(long)plVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "(cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')" ( (comma_expression "cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0'" (assignment_expression "cVar16 = FUN_00290610(uVar44,bVar47)" identifier = (call_expression "FUN_00290610(uVar44,bVar47)" identifier (argument_list "(uVar44,bVar47)" ( identifier , identifier )))) , (binary_expression "cVar16 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) (goto_statement "goto LAB_002c1848;" goto statement_identifier ;)) (expression_statement "lVar31 = *(long *)(param_4 + 0x98);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x98)" identifier = (pointer_expression "*(long *)(param_4 + 0x98)" * (cast_expression "(long *)(param_4 + 0x98)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x98)" ( (binary_expression "param_4 + 0x98" identifier + number_literal) ))))) ;) (if_statement "if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }" { (expression_statement "FUN_00290900();" (call_expression "FUN_00290900()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002c46aa;" goto statement_identifier ;) })) (if_statement "if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n        FUN_00291e90();\n      }" if (parenthesized_expression "((*(byte *)(lVar31 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar31 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar31 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar31 + 0x20) & 1" (pointer_expression "*(byte *)(lVar31 + 0x20)" * (cast_expression "(byte *)(lVar31 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x20)" ( (binary_expression "lVar31 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n        FUN_00291e90();\n      }" { (expression_statement "FUN_00291e90();" (call_expression "FUN_00291e90()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" identifier = identifier) ;) (expression_statement "local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);" (assignment_expression "local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20)" identifier = (binary_expression "extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20)" (binary_expression "extraout_EDX + *(int *)(lVar31 + 8)" identifier + (pointer_expression "*(int *)(lVar31 + 8)" * (cast_expression "(int *)(lVar31 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 8)" ( (binary_expression "lVar31 + 8" identifier + number_literal) ))))) + (call_expression "(uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20)" ( (binary_expression "(*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20" (parenthesized_expression "(*(byte *)((long)param_8 + 0x39) >> 2 & 0x30)" ( (binary_expression "*(byte *)((long)param_8 + 0x39) >> 2 & 0x30" (binary_expression "*(byte *)((long)param_8 + 0x39) >> 2" (pointer_expression "*(byte *)((long)param_8 + 0x39)" * (cast_expression "(byte *)((long)param_8 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x39)" ( (binary_expression "(long)param_8 + 0x39" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) >> number_literal) & number_literal) )) == number_literal) ))))) ;) (expression_statement "bVar42 = bVar14 & uVar44 == 100;" (assignment_expression "bVar42 = bVar14 & uVar44 == 100" identifier = (binary_expression "bVar14 & uVar44 == 100" identifier & (binary_expression "uVar44 == 100" identifier == number_literal))) ;) (expression_statement "bVar48 = (bool)bVar42;" (assignment_expression "bVar48 = (bool)bVar42" identifier = (cast_expression "(bool)bVar42" ( (type_descriptor "bool" primitive_type) ) identifier)) ;) (expression_statement "bVar45 = uVar44 == 100;" (assignment_expression "bVar45 = uVar44 == 100" identifier = (binary_expression "uVar44 == 100" identifier == number_literal)) ;) (if_statement "if ((bool)bVar42 == false) goto LAB_002c13ac;" if (parenthesized_expression "((bool)bVar42 == false)" ( (binary_expression "(bool)bVar42 == false" (cast_expression "(bool)bVar42" ( (type_descriptor "bool" primitive_type) ) identifier) == false) )) (goto_statement "goto LAB_002c13ac;" goto statement_identifier ;)) (goto_statement "goto LAB_002c187c;" goto statement_identifier ;) }))) (if_statement "if ((uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0')) {\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = false;\n      goto LAB_002c13ac;\n    }" if (parenthesized_expression "((uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0'))" ( (binary_expression "(uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0')" (parenthesized_expression "(uVar44 == 0x67)" ( (binary_expression "uVar44 == 0x67" identifier == number_literal) )) && (parenthesized_expression "(*(char *)(param_8 + 9) == '\0')" ( (binary_expression "*(char *)(param_8 + 9) == '\0'" (pointer_expression "*(char *)(param_8 + 9)" * (cast_expression "(char *)(param_8 + 9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 9)" ( (binary_expression "param_8 + 9" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = false;\n      goto LAB_002c13ac;\n    }" { (if_statement "if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;" if (parenthesized_expression "(*(int *)((long)param_8 + 0x4c) != -1)" ( (binary_expression "*(int *)((long)param_8 + 0x4c) != -1" (pointer_expression "*(int *)((long)param_8 + 0x4c)" * (cast_expression "(int *)((long)param_8 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x4c)" ( (binary_expression "(long)param_8 + 0x4c" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_002c17c6;" goto statement_identifier ;)) (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" identifier = false) ;) (goto_statement "goto LAB_002c13ac;" goto statement_identifier ;) })) (labeled_statement "LAB_002c15fe:\n    local_c8 = &local_78;" statement_identifier : (expression_statement "local_c8 = &local_78;" (assignment_expression "local_c8 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;)) (expression_statement "uVar17 = *(uint *)(param_2 + 0x30);" (assignment_expression "uVar17 = *(uint *)(param_2 + 0x30)" identifier = (pointer_expression "*(uint *)(param_2 + 0x30)" * (cast_expression "(uint *)(param_2 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x30)" ( (binary_expression "param_2 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "unaff_R13 = (uint *)(ulong)uVar17;" (assignment_expression "unaff_R13 = (uint *)(ulong)uVar17" identifier = (cast_expression "(uint *)(ulong)uVar17" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(ulong)uVar17" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "cVar16 = FUN_002972f0(plVar6,unaff_R13);" (assignment_expression "cVar16 = FUN_002972f0(plVar6,unaff_R13)" identifier = (call_expression "FUN_002972f0(plVar6,unaff_R13)" identifier (argument_list "(plVar6,unaff_R13)" ( identifier , identifier )))) ;) (if_statement "if ((cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e))) {\n      if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }" if (parenthesized_expression "((cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e)))" ( (binary_expression "(cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e))" (parenthesized_expression "(cVar16 != '\0')" ( (binary_expression "cVar16 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(uVar17 == *(uint *)(plVar6 + 0x7e))" ( (binary_expression "uVar17 == *(uint *)(plVar6 + 0x7e)" identifier == (pointer_expression "*(uint *)(plVar6 + 0x7e)" * (cast_expression "(uint *)(plVar6 + 0x7e)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0x7e)" ( (binary_expression "plVar6 + 0x7e" identifier + number_literal) ))))) ))) )) (compound_statement "{\n      if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }" { (if_statement "if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;" if (parenthesized_expression "(param_8 == (undefined8 *)0x0)" ( (binary_expression "param_8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002c1c17;" goto statement_identifier ;)) (goto_statement "goto LAB_002c17b9;" goto statement_identifier ;) })) (if_statement "if (param_8 == (undefined8 *)0x0) {\n      plVar40 = (long *)plVar6[99];\n      plVar27 = plVar6 + 0x62;\n      if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }\nLAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);\n      bVar48 = uVar44 == 100;\n      bVar47 = 0;\n      if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }\n      param_9 = local_c8;\n      local_cd = true;\n      goto LAB_002c13d7;\n    }" if (parenthesized_expression "(param_8 == (undefined8 *)0x0)" ( (binary_expression "param_8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      plVar40 = (long *)plVar6[99];\n      plVar27 = plVar6 + 0x62;\n      if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }\nLAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);\n      bVar48 = uVar44 == 100;\n      bVar47 = 0;\n      if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }\n      param_9 = local_c8;\n      local_cd = true;\n      goto LAB_002c13d7;\n    }" { (expression_statement "plVar40 = (long *)plVar6[99];" (assignment_expression "plVar40 = (long *)plVar6[99]" identifier = (cast_expression "(long *)plVar6[99]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar6[99]" identifier [ number_literal ]))) ;) (expression_statement "plVar27 = plVar6 + 0x62;" (assignment_expression "plVar27 = plVar6 + 0x62" identifier = (binary_expression "plVar6 + 0x62" identifier + number_literal)) ;) (if_statement "if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }" if (parenthesized_expression "(plVar40 != (long *)0x0)" ( (binary_expression "plVar40 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }" { (do_statement "do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);" do (compound_statement "{\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        }" { (expression_statement "plVar29 = plVar40;" (assignment_expression "plVar29 = plVar40" identifier = identifier) ;) (if_statement "if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }" if (parenthesized_expression "(*(uint *)(plVar29 + 4) < uVar33)" ( (binary_expression "*(uint *)(plVar29 + 4) < uVar33" (pointer_expression "*(uint *)(plVar29 + 4)" * (cast_expression "(uint *)(plVar29 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar29 + 4)" ( (binary_expression "plVar29 + 4" identifier + number_literal) )))) < identifier) )) (compound_statement "{\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }" { (expression_statement "plVar40 = (long *)plVar29[3];" (assignment_expression "plVar40 = (long *)plVar29[3]" identifier = (cast_expression "(long *)plVar29[3]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar29[3]" identifier [ number_literal ]))) ;) (expression_statement "plVar29 = plVar27;" (assignment_expression "plVar29 = plVar27" identifier = identifier) ;) }) (else_clause "else {\n            plVar40 = (long *)plVar29[2];\n          }" else (compound_statement "{\n            plVar40 = (long *)plVar29[2];\n          }" { (expression_statement "plVar40 = (long *)plVar29[2];" (assignment_expression "plVar40 = (long *)plVar29[2]" identifier = (cast_expression "(long *)plVar29[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar29[2]" identifier [ number_literal ]))) ;) }))) (expression_statement "plVar27 = plVar29;" (assignment_expression "plVar27 = plVar29" identifier = identifier) ;) }) while (parenthesized_expression "(plVar40 != (long *)0x0)" ( (binary_expression "plVar40 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "plVar40 = (long *)0x0;" (assignment_expression "plVar40 = (long *)0x0" identifier = (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }" if (parenthesized_expression "((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33))" ( (binary_expression "(plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)" (parenthesized_expression "(plVar6 + 0x62 != plVar29)" ( (binary_expression "plVar6 + 0x62 != plVar29" (binary_expression "plVar6 + 0x62" identifier + number_literal) != identifier) )) && (parenthesized_expression "(*(uint *)(plVar29 + 4) <= uVar33)" ( (binary_expression "*(uint *)(plVar29 + 4) <= uVar33" (pointer_expression "*(uint *)(plVar29 + 4)" * (cast_expression "(uint *)(plVar29 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar29 + 4)" ( (binary_expression "plVar29 + 4" identifier + number_literal) )))) <= identifier) ))) )) (compound_statement "{\n          plVar40 = (long *)plVar29[5];\n        }" { (expression_statement "plVar40 = (long *)plVar29[5];" (assignment_expression "plVar40 = (long *)plVar29[5]" identifier = (cast_expression "(long *)plVar29[5]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "plVar29[5]" identifier [ number_literal ]))) ;) })) })) (labeled_statement "LAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);" statement_identifier : (expression_statement "local_68 = FUN_00298370(plVar40,plVar40 + 1);" (assignment_expression "local_68 = FUN_00298370(plVar40,plVar40 + 1)" identifier = (call_expression "FUN_00298370(plVar40,plVar40 + 1)" identifier (argument_list "(plVar40,plVar40 + 1)" ( identifier , (binary_expression "plVar40 + 1" identifier + number_literal) )))) ;)) (expression_statement "bVar48 = uVar44 == 100;" (assignment_expression "bVar48 = uVar44 == 100" identifier = (binary_expression "uVar44 == 100" identifier == number_literal)) ;) (expression_statement "bVar47 = 0;" (assignment_expression "bVar47 = 0" identifier = number_literal) ;) (if_statement "if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }" if (parenthesized_expression "((uVar18 & 0xf7) != 0x85)" ( (binary_expression "(uVar18 & 0xf7) != 0x85" (parenthesized_expression "(uVar18 & 0xf7)" ( (binary_expression "uVar18 & 0xf7" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }" { (expression_statement "local_cd = true;" (assignment_expression "local_cd = true" identifier = true) ;) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" identifier = identifier) ;) (goto_statement "goto LAB_002c13c4;" goto statement_identifier ;) })) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" identifier = identifier) ;) (expression_statement "local_cd = true;" (assignment_expression "local_cd = true" identifier = true) ;) (goto_statement "goto LAB_002c13d7;" goto statement_identifier ;) })) (if_statement "if (*(char *)(param_8 + 9) == '\0') {\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");\n    }" if (parenthesized_expression "(*(char *)(param_8 + 9) == '\0')" ( (binary_expression "*(char *)(param_8 + 9) == '\0'" (pointer_expression "*(char *)(param_8 + 9)" * (cast_expression "(char *)(param_8 + 9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 9)" ( (binary_expression "param_8 + 9" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");\n    }" { (expression_statement "FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate")" identifier (argument_list "("../../gold/mips.cc",0x2d5f,"relocate")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""relocate"" " string_content ") ))) ;) })) (if_statement "if (*(int *)((long)param_8 + 0x4c) == -1) {\n      plVar40 = (long *)param_8[0xe];\n      goto LAB_002c3d91;\n    }" if (parenthesized_expression "(*(int *)((long)param_8 + 0x4c) == -1)" ( (binary_expression "*(int *)((long)param_8 + 0x4c) == -1" (pointer_expression "*(int *)((long)param_8 + 0x4c)" * (cast_expression "(int *)((long)param_8 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x4c)" ( (binary_expression "(long)param_8 + 0x4c" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n      plVar40 = (long *)param_8[0xe];\n      goto LAB_002c3d91;\n    }" { (expression_statement "plVar40 = (long *)param_8[0xe];" (assignment_expression "plVar40 = (long *)param_8[0xe]" identifier = (cast_expression "(long *)param_8[0xe]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_8[0xe]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_002c3d91;" goto statement_identifier ;) })) (expression_statement "lVar31 = *(long *)(param_4 + 0x98);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x98)" identifier = (pointer_expression "*(long *)(param_4 + 0x98)" * (cast_expression "(long *)(param_4 + 0x98)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x98)" ( (binary_expression "param_4 + 0x98" identifier + number_literal) ))))) ;) (if_statement "if (lVar31 == 0) {\n      FUN_00290900();\nLAB_002c46d8:\n      FUN_00290940();\n      goto LAB_002c46dd;\n    }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n      FUN_00290900();\nLAB_002c46d8:\n      FUN_00290940();\n      goto LAB_002c46dd;\n    }" { (expression_statement "FUN_00290900();" (call_expression "FUN_00290900()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_002c46d8:\n      FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (goto_statement "goto LAB_002c46dd;" goto statement_identifier ;) })) (expression_statement "local_cd = (bool)(*(byte *)(lVar31 + 0x20) & 1);" (assignment_expression "local_cd = (bool)(*(byte *)(lVar31 + 0x20) & 1)" identifier = (cast_expression "(bool)(*(byte *)(lVar31 + 0x20) & 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(*(byte *)(lVar31 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar31 + 0x20) & 1" (pointer_expression "*(byte *)(lVar31 + 0x20)" * (cast_expression "(byte *)(lVar31 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x20)" ( (binary_expression "lVar31 + 0x20" identifier + number_literal) )))) & number_literal) )))) ;) (if_statement "if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c4670:\n                    \n      FUN_00291e90();\n    }" if (parenthesized_expression "((*(byte *)(lVar31 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar31 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar31 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar31 + 0x20) & 1" (pointer_expression "*(byte *)(lVar31 + 0x20)" * (cast_expression "(byte *)(lVar31 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x20)" ( (binary_expression "lVar31 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_002c4670:\n                    \n      FUN_00291e90();\n    }" { (labeled_statement "LAB_002c4670:\n                    \n      FUN_00291e90();" statement_identifier : (expression_statement "FUN_00291e90();" (call_expression "FUN_00291e90()" identifier (argument_list "()" ( ))) ;)) })) (expression_statement "bVar48 = uVar44 == 100;" (assignment_expression "bVar48 = uVar44 == 100" identifier = (binary_expression "uVar44 == 100" identifier == number_literal)) ;) (expression_statement "local_68 = *(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8);" (assignment_expression "local_68 = *(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8)" identifier = (binary_expression "*(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8)" (pointer_expression "*(int *)((long)param_8 + 0x4c)" * (cast_expression "(int *)((long)param_8 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x4c)" ( (binary_expression "(long)param_8 + 0x4c" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) + (pointer_expression "*(int *)(lVar31 + 8)" * (cast_expression "(int *)(lVar31 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 8)" ( (binary_expression "lVar31 + 8" identifier + number_literal) )))))) ;) (expression_statement "bVar47 = 0;" (assignment_expression "bVar47 = 0" identifier = number_literal) ;) (if_statement "if ((uVar18 & 0xf7) != 0x85) {\n      param_9 = local_c8;\n      goto LAB_002c13c4;\n    }" if (parenthesized_expression "((uVar18 & 0xf7) != 0x85)" ( (binary_expression "(uVar18 & 0xf7) != 0x85" (parenthesized_expression "(uVar18 & 0xf7)" ( (binary_expression "uVar18 & 0xf7" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      param_9 = local_c8;\n      goto LAB_002c13c4;\n    }" { (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" identifier = identifier) ;) (goto_statement "goto LAB_002c13c4;" goto statement_identifier ;) })) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" identifier = identifier) ;) (labeled_statement "LAB_002c16b8:\n    cVar16 = FUN_002e7200(param_8);" statement_identifier : (expression_statement "cVar16 = FUN_002e7200(param_8);" (assignment_expression "cVar16 = FUN_002e7200(param_8)" identifier = (call_expression "FUN_002e7200(param_8)" identifier (argument_list "(param_8)" ( identifier )))) ;)) (if_statement "if (cVar16 == '\0') {\n      local_cf = (bVar47 ^ 1) & bVar48;\n      if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    else {\n      local_cf = 0;\n    }" if (parenthesized_expression "(cVar16 == '\0')" ( (binary_expression "cVar16 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      local_cf = (bVar47 ^ 1) & bVar48;\n      if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }\n    }" { (expression_statement "local_cf = (bVar47 ^ 1) & bVar48;" (assignment_expression "local_cf = (bVar47 ^ 1) & bVar48" identifier = (binary_expression "(bVar47 ^ 1) & bVar48" (parenthesized_expression "(bVar47 ^ 1)" ( (binary_expression "bVar47 ^ 1" identifier ^ number_literal) )) & identifier)) ;) (if_statement "if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }" if (parenthesized_expression "((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0))" ( (binary_expression "(local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)" (parenthesized_expression "(local_cf == 0)" ( (binary_expression "local_cf == 0" identifier == number_literal) )) && (parenthesized_expression "(local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)" ( (comma_expression "local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0" (assignment_expression "local_cf = (bVar14 ^ 1) & uVar44 == 0x85" identifier = (binary_expression "(bVar14 ^ 1) & uVar44 == 0x85" (parenthesized_expression "(bVar14 ^ 1)" ( (binary_expression "bVar14 ^ 1" identifier ^ number_literal) )) & (binary_expression "uVar44 == 0x85" identifier == number_literal))) , (binary_expression "local_cf == 0" identifier == number_literal)) ))) )) (compound_statement "{\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }" { (labeled_statement "LAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;" statement_identifier : (expression_statement "local_cf = uVar44 == 4 || uVar44 == 0x25;" (assignment_expression "local_cf = uVar44 == 4 || uVar44 == 0x25" identifier = (binary_expression "uVar44 == 4 || uVar44 == 0x25" (binary_expression "uVar44 == 4" identifier == number_literal) || (binary_expression "uVar44 == 0x25" identifier == number_literal))) ;)) (if_statement "if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }" if (parenthesized_expression "(uVar44 == 4 || uVar44 == 0x25)" ( (binary_expression "uVar44 == 4 || uVar44 == 0x25" (binary_expression "uVar44 == 4" identifier == number_literal) || (binary_expression "uVar44 == 0x25" identifier == number_literal)) )) (compound_statement "{\n          local_cf = bVar14 | bVar47;\n        }" { (expression_statement "local_cf = bVar14 | bVar47;" (assignment_expression "local_cf = bVar14 | bVar47" identifier = (binary_expression "bVar14 | bVar47" identifier | identifier)) ;) })) (if_statement "if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }" if (parenthesized_expression "(param_8 == (undefined8 *)0x0)" ( (binary_expression "param_8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          local_ce = 1;\n          goto LAB_002c1402;\n        }" { (expression_statement "local_ce = 1;" (assignment_expression "local_ce = 1" identifier = number_literal) ;) (goto_statement "goto LAB_002c1402;" goto statement_identifier ;) })) })) }) (else_clause "else {\n      local_cf = 0;\n    }" else (compound_statement "{\n      local_cf = 0;\n    }" { (expression_statement "local_cf = 0;" (assignment_expression "local_cf = 0" identifier = number_literal) ;) }))) (if_statement "if (*(char *)((long)param_8 + 100) != '\0') {\n      local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n      if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar44 - 100;\n      uVar32 = (ulong)(uVar44 - 0x85);\n      local_b8 = (ulong)(param_3 == 9);\n      uStack_80 = 0;\n      uStack_7c = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar30 = (ushort)*param_10;\n      uVar17 = (uint)uVar30;\n      uVar2 = *(ushort *)((long)param_10 + 2);\n      uVar18 = (uint)uVar2;\n      local_84 = uVar44;\n      if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }" if (parenthesized_expression "(*(char *)((long)param_8 + 100) != '\0')" ( (binary_expression "*(char *)((long)param_8 + 100) != '\0'" (pointer_expression "*(char *)((long)param_8 + 100)" * (cast_expression "(char *)((long)param_8 + 100)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 100)" ( (binary_expression "(long)param_8 + 100" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n      if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar44 - 100;\n      uVar32 = (ulong)(uVar44 - 0x85);\n      local_b8 = (ulong)(param_3 == 9);\n      uStack_80 = 0;\n      uStack_7c = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar30 = (ushort)*param_10;\n      uVar17 = (uint)uVar30;\n      uVar2 = *(ushort *)((long)param_10 + 2);\n      uVar18 = (uint)uVar2;\n      local_84 = uVar44;\n      if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }" { (expression_statement "local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);" (assignment_expression "local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1)" identifier = (call_expression "FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1)" identifier (argument_list "(param_8,*(int *)(param_8 + 4) != 0,1)" ( identifier , (binary_expression "*(int *)(param_8 + 4) != 0" (pointer_expression "*(int *)(param_8 + 4)" * (cast_expression "(int *)(param_8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 4)" ( (binary_expression "param_8 + 4" identifier + number_literal) )))) != number_literal) , number_literal )))) ;) (if_statement "if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;" if (parenthesized_expression "((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))" ( (binary_expression "(local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14)" (parenthesized_expression "(local_ce == 0)" ( (binary_expression "local_ce == 0" identifier == number_literal) )) && (parenthesized_expression "(local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14)" ( (comma_expression "local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14" (assignment_expression "local_ce = uVar44 == 0x92 || uVar44 == 0x14" identifier = (binary_expression "uVar44 == 0x92 || uVar44 == 0x14" (binary_expression "uVar44 == 0x92" identifier == number_literal) || (binary_expression "uVar44 == 0x14" identifier == number_literal))) , (binary_expression "uVar44 == 0x92 || uVar44 == 0x14" (binary_expression "uVar44 == 0x92" identifier == number_literal) || (binary_expression "uVar44 == 0x14" identifier == number_literal))) ))) )) (goto_statement "goto LAB_002c1ab9;" goto statement_identifier ;)) (labeled_statement "LAB_002c1402:\n      local_f0 = uVar44 - 100;" statement_identifier : (expression_statement "local_f0 = uVar44 - 100;" (assignment_expression "local_f0 = uVar44 - 100" identifier = (binary_expression "uVar44 - 100" identifier - number_literal)) ;)) (expression_statement "uVar32 = (ulong)(uVar44 - 0x85);" (assignment_expression "uVar32 = (ulong)(uVar44 - 0x85)" identifier = (call_expression "(ulong)(uVar44 - 0x85)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar44 - 0x85)" ( (binary_expression "uVar44 - 0x85" identifier - number_literal) )))) ;) (expression_statement "local_b8 = (ulong)(param_3 == 9);" (assignment_expression "local_b8 = (ulong)(param_3 == 9)" identifier = (call_expression "(ulong)(param_3 == 9)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(param_3 == 9)" ( (binary_expression "param_3 == 9" identifier == number_literal) )))) ;) (expression_statement "uStack_80 = 0;" (assignment_expression "uStack_80 = 0" identifier = number_literal) ;) (expression_statement "uStack_7c = 0;" (assignment_expression "uStack_7c = 0" identifier = number_literal) ;) (if_statement "if (0xc < local_f0) goto LAB_002c1b2f;" if (parenthesized_expression "(0xc < local_f0)" ( (binary_expression "0xc < local_f0" number_literal < identifier) )) (goto_statement "goto LAB_002c1b2f;" goto statement_identifier ;)) (expression_statement "uVar30 = (ushort)*param_10;" (assignment_expression "uVar30 = (ushort)*param_10" identifier = (binary_expression "(ushort)*param_10" (parenthesized_expression "(ushort)" ( identifier )) * identifier)) ;) (expression_statement "uVar17 = (uint)uVar30;" (assignment_expression "uVar17 = (uint)uVar30" identifier = (cast_expression "(uint)uVar30" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar2 = *(ushort *)((long)param_10 + 2);" (assignment_expression "uVar2 = *(ushort *)((long)param_10 + 2)" identifier = (pointer_expression "*(ushort *)((long)param_10 + 2)" * (cast_expression "(ushort *)((long)param_10 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_10 + 2)" ( (binary_expression "(long)param_10 + 2" (cast_expression "(long)param_10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar18 = (uint)uVar2;" (assignment_expression "uVar18 = (uint)uVar2" identifier = (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_84 = uVar44;" (assignment_expression "local_84 = uVar44" identifier = identifier) ;) (if_statement "if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }" if (parenthesized_expression "(uVar44 - 0x85 < 0x29)" ( (binary_expression "uVar44 - 0x85 < 0x29" (binary_expression "uVar44 - 0x85" identifier - number_literal) < number_literal) )) (compound_statement "{\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }" { (if_statement "if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;" if (parenthesized_expression "((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0)" ( (binary_expression "(0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0" (parenthesized_expression "(0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1)" ( (binary_expression "0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1" (binary_expression "0x1b3e1fff3ffU >> (uVar32 & 0x3f)" number_literal >> (parenthesized_expression "(uVar32 & 0x3f)" ( (binary_expression "uVar32 & 0x3f" identifier & number_literal) ))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_002c1c3c;" goto statement_identifier ;)) (goto_statement "goto LAB_002c1462;" goto statement_identifier ;) })) (if_statement "if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }" if (parenthesized_expression "(uVar44 == 100)" ( (binary_expression "uVar44 == 100" identifier == number_literal) )) (compound_statement "{\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }" { (expression_statement "local_f0 = 0;" (assignment_expression "local_f0 = 0" identifier = number_literal) ;) (expression_statement "uVar18 = (uint)uVar2;" (assignment_expression "uVar18 = (uint)uVar2" identifier = (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_002c1462;" goto statement_identifier ;) })) (labeled_statement "LAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);" statement_identifier : (expression_statement "uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);" (assignment_expression "uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb)" identifier = (binary_expression "(uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb)" (binary_expression "(uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb" (binary_expression "(uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10" (binary_expression "(uint)(uVar30 & 0x7e0) | uVar2 & 0x1f" (call_expression "(uint)(uVar30 & 0x7e0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar30 & 0x7e0)" ( (binary_expression "uVar30 & 0x7e0" identifier & number_literal) ))) | (binary_expression "uVar2 & 0x1f" identifier & number_literal)) | (binary_expression "(uVar30 & 0xf800) << 0x10" (parenthesized_expression "(uVar30 & 0xf800)" ( (binary_expression "uVar30 & 0xf800" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xffe0) << 0xb" (parenthesized_expression "(uVar2 & 0xffe0)" ( (binary_expression "uVar2 & 0xffe0" identifier & number_literal) )) << number_literal)) | (call_expression "(uint)(((ulong)uVar30 & 0x1f) << 0xb)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(((ulong)uVar30 & 0x1f) << 0xb)" ( (binary_expression "((ulong)uVar30 & 0x1f) << 0xb" (parenthesized_expression "((ulong)uVar30 & 0x1f)" ( (binary_expression "(ulong)uVar30 & 0x1f" (cast_expression "(ulong)uVar30" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )) << number_literal) ))))) ;)) (goto_statement "goto LAB_002c1467;" goto statement_identifier ;) })) (expression_statement "local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0);" (assignment_expression "local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0)" identifier = (call_expression "FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0)" identifier (argument_list "(param_8,*(int *)(param_8 + 4) != 0,0)" ( identifier , (binary_expression "*(int *)(param_8 + 4) != 0" (pointer_expression "*(int *)(param_8 + 4)" * (cast_expression "(int *)(param_8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 4)" ( (binary_expression "param_8 + 4" identifier + number_literal) )))) != number_literal) , number_literal )))) ;) (if_statement "if ((local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92))\n    goto LAB_002c1402;" if (parenthesized_expression "((local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92))" ( (binary_expression "(local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92)" (parenthesized_expression "(local_ce != 0)" ( (binary_expression "local_ce != 0" identifier != number_literal) )) || (parenthesized_expression "(local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92)" ( (comma_expression "local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92" (assignment_expression "local_ce = uVar44 == 0x14 || uVar44 == 0x92" identifier = (binary_expression "uVar44 == 0x14 || uVar44 == 0x92" (binary_expression "uVar44 == 0x14" identifier == number_literal) || (binary_expression "uVar44 == 0x92" identifier == number_literal))) , (binary_expression "uVar44 != 0x14 && uVar44 != 0x92" (binary_expression "uVar44 != 0x14" identifier != number_literal) && (binary_expression "uVar44 != 0x92" identifier != number_literal))) ))) )) (goto_statement "goto LAB_002c1402;" goto statement_identifier ;)) (labeled_statement "LAB_002c1ab9:\n    if (uVar44 - 0x85 < 0x29) {\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }" statement_identifier : (if_statement "if (uVar44 - 0x85 < 0x29) {\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }" if (parenthesized_expression "(uVar44 - 0x85 < 0x29)" ( (binary_expression "uVar44 - 0x85 < 0x29" (binary_expression "uVar44 - 0x85" identifier - number_literal) < number_literal) )) (compound_statement "{\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }" { (expression_statement "uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;" (assignment_expression "uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff" identifier = (binary_expression "1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff" (binary_expression "1L << ((byte)(uVar44 - 0x85) & 0x3f)" number_literal << (parenthesized_expression "((byte)(uVar44 - 0x85) & 0x3f)" ( (binary_expression "(byte)(uVar44 - 0x85) & 0x3f" (call_expression "(byte)(uVar44 - 0x85)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar44 - 0x85)" ( (binary_expression "uVar44 - 0x85" identifier - number_literal) ))) & number_literal) ))) & number_literal)) ;) (expression_statement "uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);" (assignment_expression "uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc)" identifier = (call_expression "(ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc)" ( (binary_expression "(-(uint)(uVar24 == 0) & 0xffffff82) + 0xc" (parenthesized_expression "(-(uint)(uVar24 == 0) & 0xffffff82)" ( (binary_expression "-(uint)(uVar24 == 0) & 0xffffff82" (unary_expression "-(uint)(uVar24 == 0)" - (call_expression "(uint)(uVar24 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )))) & number_literal) )) + number_literal) )))) ;) (expression_statement "local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;" (assignment_expression "local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d" identifier = (binary_expression "(-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d" (parenthesized_expression "(-(uint)(uVar24 == 0) & 0xffffff82)" ( (binary_expression "-(uint)(uVar24 == 0) & 0xffffff82" (unary_expression "-(uint)(uVar24 == 0)" - (call_expression "(uint)(uVar24 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )))) & number_literal) )) + number_literal)) ;) (expression_statement "uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;" (assignment_expression "uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91" identifier = (binary_expression "(-(uint)(uVar24 == 0) & 0xffffff82) + 0x91" (parenthesized_expression "(-(uint)(uVar24 == 0) & 0xffffff82)" ( (binary_expression "-(uint)(uVar24 == 0) & 0xffffff82" (unary_expression "-(uint)(uVar24 == 0)" - (call_expression "(uint)(uVar24 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar24 == 0)" ( (binary_expression "uVar24 == 0" identifier == number_literal) )))) & number_literal) )) + number_literal)) ;) }) (else_clause "else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }" else (compound_statement "{\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }" { (expression_statement "uVar32 = 0xffffff8e;" (assignment_expression "uVar32 = 0xffffff8e" identifier = number_literal) ;) (expression_statement "uVar44 = 0x13;" (assignment_expression "uVar44 = 0x13" identifier = number_literal) ;) (expression_statement "local_f0 = 0xffffffaf;" (assignment_expression "local_f0 = 0xffffffaf" identifier = number_literal) ;) })))) (expression_statement "uStack_80 = 0;" (assignment_expression "uStack_80 = 0" identifier = number_literal) ;) (expression_statement "uStack_7c = 0;" (assignment_expression "uStack_7c = 0" identifier = number_literal) ;) (expression_statement "local_ce = 0;" (assignment_expression "local_ce = 0" identifier = number_literal) ;) (expression_statement "local_b8 = (ulong)(param_3 == 9);" (assignment_expression "local_b8 = (ulong)(param_3 == 9)" identifier = (call_expression "(ulong)(param_3 == 9)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(param_3 == 9)" ( (binary_expression "param_3 == 9" identifier == number_literal) )))) ;) (labeled_statement "LAB_002c1b2f:\n    local_84 = uVar44;" statement_identifier : (expression_statement "local_84 = uVar44;" (assignment_expression "local_84 = uVar44" identifier = identifier) ;)) (if_statement "if (((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;" if (parenthesized_expression "(((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0))" ( (binary_expression "((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)" (parenthesized_expression "((uint)uVar32 < 0x29)" ( (binary_expression "(uint)uVar32 < 0x29" (cast_expression "(uint)uVar32" ( (type_descriptor "uint" type_identifier) ) identifier) < number_literal) )) && (parenthesized_expression "((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)" ( (binary_expression "(0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0" (parenthesized_expression "(0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1)" ( (binary_expression "0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1" (binary_expression "0x1b3e1fff3ffU >> (uVar32 & 0x3f)" number_literal >> (parenthesized_expression "(uVar32 & 0x3f)" ( (binary_expression "uVar32 & 0x3f" identifier & number_literal) ))) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_002c1d4a;" goto statement_identifier ;)) }))) (expression_statement "uStack_80 = 0;" (assignment_expression "uStack_80 = 0" identifier = number_literal) ;) (expression_statement "uStack_7c = 0;" (assignment_expression "uStack_7c = 0" identifier = number_literal) ;) (expression_statement "unaff_R13 = &local_84;" (assignment_expression "unaff_R13 = &local_84" identifier = (pointer_expression "&local_84" & identifier)) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "local_e4 = 0;" (assignment_expression "local_e4 = 0" identifier = number_literal) ;) (expression_statement "local_d8 = (uint *)&local_78;" (assignment_expression "local_d8 = (uint *)&local_78" identifier = (cast_expression "(uint *)&local_78" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_78" & identifier))) ;) (expression_statement "uVar44 = local_84;" (assignment_expression "uVar44 = local_84" identifier = identifier) ;) (expression_statement "uVar18 = local_84;" (assignment_expression "uVar18 = local_84" identifier = identifier) ;) (while_statement "while (local_c8 = &local_78, uVar18 != 0) {\n    bVar45 = local_bc == iVar3;\n    bVar48 = cVar11 != '\0';\n    bVar14 = bVar45 && bVar48;\n    puVar34 = param_1;\n    if (*(char *)((long)param_1 + 4) == '\0') {\n      *(byte *)((long)param_1 + 4) = bVar14;\n      switch(uVar18) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }\n    }\n    local_cc = (uint)*param_1;\n    *(byte *)((long)param_1 + 4) = bVar14;\n    local_b0 = local_cc;\n    switch(uVar18) {\n    default:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);\n      break;\n    case 1:\n      local_b8 = 0;\n      local_b0 = local_cc;\nLAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar14 != 0) goto LAB_002c1f30;\n      *(ushort *)param_10 = (ushort)uVar36;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);\n      if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }\n      if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }\n      break;\n    case 3:\nswitchD_002c14fa_caseD_3:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");\n    case 4:\n    case 100:\n    case 0x85:\n      local_b8 = 0;\n      bVar42 = (!bVar45 || !bVar48) & local_cf;\n      uVar17 = (uint)*param_10;\n      goto LAB_002c38d3;\n    case 5:\n    case 0x68:\n    case 0x86:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }\n      break;\n    case 6:\n    case 0x69:\n    case 0x87:\n    case 0x9d:\n      local_b8 = 0;\n      local_108 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }\n      if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\nLAB_002c1ebf:\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;\n      break;\n    case 7:\n    case 8:\n    case 0x65:\n    case 0x88:\n    case 0x89:\n    case 0xac:\n      lVar31 = *(long *)(param_4 + 0x28);\n      if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }\n      local_b8 = 0;\n      iVar35 = 0;\n      uVar17 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar21 - iVar35;\n      if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }\n      uVar20 = (uVar36 ^ uVar17) & 0xffff;\n      if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar17 ^ uVar20;\n      if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }\n      goto LAB_002c1fd6;\n    case 9:\n    case 0x66:\n    case 0x8a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case 10:\n      local_b8 = 0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }\n      break;\n    case 0xb:\n    case 0x67:\n    case 0x8e:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;\n    case 0xc:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);\n      goto joined_r0x002c327b;\n    case 0x12:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);\n      if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }\n      break;\n    case 0x13:\n    case 0x91:\n    case 0xf9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }\n      if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }\n      local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n      if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }\n      if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;\n      goto LAB_002c1fd4;\n    case 0x14:\n    case 0x92:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) goto LAB_002c4726;\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }\n      if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }\n      uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);\n      if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;\n      goto LAB_002c2590;\n    case 0x15:\n    case 0x93:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;\n      local_b0 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }\n      if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }\n      break;\n    case 0x16:\n    case 0x1e:\n    case 0x94:\n    case 0x99:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }\n      goto LAB_002c46d8;\n    case 0x17:\n    case 0x1f:\n    case 0x95:\n    case 0x9a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }\nLAB_002c4792:\n      FUN_00290940();\nLAB_002c4797:\n      FUN_00290940();\nLAB_002c479c:\n      FUN_00290940();\nLAB_002c47a1:\n      FUN_00290940();\nLAB_002c47a6:\n      FUN_00290940();\n                    \n      uVar22 = FUN_0017eb9a();\n      return uVar22;\n    case 0x18:\n    case 0x96:\n      local_b8 = 0;\nLAB_002c2efa:\n      uVar18 = -local_b0;\nLAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      if (bVar14 != '\0') goto LAB_002c1f30;\n      uVar17 = 0;\n      *param_10 = (ulong)uVar36;\n      break;\n    case 0x1c:\n    case 0x97:\n      local_b8 = 0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }\n      uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);\n      goto joined_r0x002c1f7e;\n    case 0x1d:\n    case 0x98:\n      local_b8 = 0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar36 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }\n      FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }\n      uVar36 = uVar36 & 0xffff0000;\n      goto LAB_002c1fd0;\n    case 0x25:\n    case 0x9c:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }\n      uVar17 = (uint)*param_10;\n      uVar36 = uVar17;\n      if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }\n      if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }\n      break;\n    case 0x27:\n    case 0x29:\n      goto switchD_002c14fa_caseD_27;\n    case 0x2a:\n    case 0x6a:\n    case 0xa2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }\n      FUN_00290940();\nswitchD_002c14fa_caseD_27:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_27:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      goto joined_r0x002c327b;\n    case 0x2b:\n    case 0x6b:\n    case 0xa3:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }\n      if (lVar25 == 0) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }\n      local_e4 = *(uint *)(lVar25 + 0x14);\n      uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\nLAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;\n      uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;\nLAB_002c2590:\n      *(uint *)param_10 = uVar18;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 0x2c:\n    case 0x6c:\n    case 0xa4:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      goto LAB_002c1f79;\n    case 0x2d:\n    case 0x6d:\n    case 0xa5:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x2e:\n    case 0x6e:\n    case 0xa6:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) goto LAB_002c2030;\n      goto LAB_002c47a1;\n    case 0x2f:\n    case 0x30:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    case 0x31:\n    case 0x6f:\n    case 0xa9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      uVar36 = iVar35 + 0x1000;\nLAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;\njoined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;\n      break;\n    case 0x32:\n    case 0x70:\n    case 0xaa:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x3c:\n      local_b8 = 0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }\n      break;\n    case 0x3d:\n      local_b8 = 0;\nLAB_002c304d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }\n      break;\n    case 0x3e:\n      local_b8 = 0;\nLAB_002c3104:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - (param_11 & 0xfffffff8);\n      uVar36 = uVar20 >> 3;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar32 = uVar32 & 7;\njoined_r0x002c324e:\n      uVar17 = 3;\n      if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }\n      break;\n    case 0x3f:\n      local_b8 = 0;\nLAB_002c31c0:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - param_11;\n      uVar36 = uVar20 >> 2;\n      if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }\nLAB_002c1f30:\n      uVar17 = 0;\n      *(uint *)param_1 = uVar36;\n      break;\n    case 0x40:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case 0x41:\n      local_b8 = 0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }\n      if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      break;\n    case 0x8b:\n      local_b8 = 0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }\n      break;\n    case 0x8c:\n      local_b8 = 0;\nLAB_002c328d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;\n      uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);\n      break;\n    case 0x8d:\n      local_b8 = 0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);\n      break;\n    case 0xf8:\n      local_b8 = 0;\nLAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\njoined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;\nLAB_002c1fd0:\n      puVar34 = param_10;\nLAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;\nLAB_002c1fd6:\n      uVar17 = 0;\n    }\nLAB_002c1e60:\n    unaff_R13 = unaff_R13 + 1;\n    if (local_d8 == unaff_R13) break;\n    uVar18 = *unaff_R13;\n  }" while (parenthesized_expression "(local_c8 = &local_78, uVar18 != 0)" ( (comma_expression "local_c8 = &local_78, uVar18 != 0" (assignment_expression "local_c8 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) , (binary_expression "uVar18 != 0" identifier != number_literal)) )) (compound_statement "{\n    bVar45 = local_bc == iVar3;\n    bVar48 = cVar11 != '\0';\n    bVar14 = bVar45 && bVar48;\n    puVar34 = param_1;\n    if (*(char *)((long)param_1 + 4) == '\0') {\n      *(byte *)((long)param_1 + 4) = bVar14;\n      switch(uVar18) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }\n    }\n    local_cc = (uint)*param_1;\n    *(byte *)((long)param_1 + 4) = bVar14;\n    local_b0 = local_cc;\n    switch(uVar18) {\n    default:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);\n      break;\n    case 1:\n      local_b8 = 0;\n      local_b0 = local_cc;\nLAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar14 != 0) goto LAB_002c1f30;\n      *(ushort *)param_10 = (ushort)uVar36;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);\n      if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }\n      if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }\n      break;\n    case 3:\nswitchD_002c14fa_caseD_3:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");\n    case 4:\n    case 100:\n    case 0x85:\n      local_b8 = 0;\n      bVar42 = (!bVar45 || !bVar48) & local_cf;\n      uVar17 = (uint)*param_10;\n      goto LAB_002c38d3;\n    case 5:\n    case 0x68:\n    case 0x86:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }\n      break;\n    case 6:\n    case 0x69:\n    case 0x87:\n    case 0x9d:\n      local_b8 = 0;\n      local_108 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }\n      if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\nLAB_002c1ebf:\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;\n      break;\n    case 7:\n    case 8:\n    case 0x65:\n    case 0x88:\n    case 0x89:\n    case 0xac:\n      lVar31 = *(long *)(param_4 + 0x28);\n      if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }\n      local_b8 = 0;\n      iVar35 = 0;\n      uVar17 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar21 - iVar35;\n      if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }\n      uVar20 = (uVar36 ^ uVar17) & 0xffff;\n      if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar17 ^ uVar20;\n      if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }\n      goto LAB_002c1fd6;\n    case 9:\n    case 0x66:\n    case 0x8a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case 10:\n      local_b8 = 0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }\n      break;\n    case 0xb:\n    case 0x67:\n    case 0x8e:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;\n    case 0xc:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);\n      goto joined_r0x002c327b;\n    case 0x12:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);\n      if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }\n      break;\n    case 0x13:\n    case 0x91:\n    case 0xf9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }\n      if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }\n      local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n      if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }\n      if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;\n      goto LAB_002c1fd4;\n    case 0x14:\n    case 0x92:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) goto LAB_002c4726;\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }\n      if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }\n      uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);\n      if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;\n      goto LAB_002c2590;\n    case 0x15:\n    case 0x93:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;\n      local_b0 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }\n      if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }\n      break;\n    case 0x16:\n    case 0x1e:\n    case 0x94:\n    case 0x99:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }\n      goto LAB_002c46d8;\n    case 0x17:\n    case 0x1f:\n    case 0x95:\n    case 0x9a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }\nLAB_002c4792:\n      FUN_00290940();\nLAB_002c4797:\n      FUN_00290940();\nLAB_002c479c:\n      FUN_00290940();\nLAB_002c47a1:\n      FUN_00290940();\nLAB_002c47a6:\n      FUN_00290940();\n                    \n      uVar22 = FUN_0017eb9a();\n      return uVar22;\n    case 0x18:\n    case 0x96:\n      local_b8 = 0;\nLAB_002c2efa:\n      uVar18 = -local_b0;\nLAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      if (bVar14 != '\0') goto LAB_002c1f30;\n      uVar17 = 0;\n      *param_10 = (ulong)uVar36;\n      break;\n    case 0x1c:\n    case 0x97:\n      local_b8 = 0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }\n      uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);\n      goto joined_r0x002c1f7e;\n    case 0x1d:\n    case 0x98:\n      local_b8 = 0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar36 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }\n      FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }\n      uVar36 = uVar36 & 0xffff0000;\n      goto LAB_002c1fd0;\n    case 0x25:\n    case 0x9c:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }\n      uVar17 = (uint)*param_10;\n      uVar36 = uVar17;\n      if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }\n      if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }\n      break;\n    case 0x27:\n    case 0x29:\n      goto switchD_002c14fa_caseD_27;\n    case 0x2a:\n    case 0x6a:\n    case 0xa2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }\n      FUN_00290940();\nswitchD_002c14fa_caseD_27:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_27:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      goto joined_r0x002c327b;\n    case 0x2b:\n    case 0x6b:\n    case 0xa3:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }\n      if (lVar25 == 0) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }\n      local_e4 = *(uint *)(lVar25 + 0x14);\n      uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\nLAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;\n      uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;\nLAB_002c2590:\n      *(uint *)param_10 = uVar18;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 0x2c:\n    case 0x6c:\n    case 0xa4:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      goto LAB_002c1f79;\n    case 0x2d:\n    case 0x6d:\n    case 0xa5:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x2e:\n    case 0x6e:\n    case 0xa6:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) goto LAB_002c2030;\n      goto LAB_002c47a1;\n    case 0x2f:\n    case 0x30:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    case 0x31:\n    case 0x6f:\n    case 0xa9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      uVar36 = iVar35 + 0x1000;\nLAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;\njoined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;\n      break;\n    case 0x32:\n    case 0x70:\n    case 0xaa:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x3c:\n      local_b8 = 0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }\n      break;\n    case 0x3d:\n      local_b8 = 0;\nLAB_002c304d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }\n      break;\n    case 0x3e:\n      local_b8 = 0;\nLAB_002c3104:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - (param_11 & 0xfffffff8);\n      uVar36 = uVar20 >> 3;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar32 = uVar32 & 7;\njoined_r0x002c324e:\n      uVar17 = 3;\n      if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }\n      break;\n    case 0x3f:\n      local_b8 = 0;\nLAB_002c31c0:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - param_11;\n      uVar36 = uVar20 >> 2;\n      if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }\nLAB_002c1f30:\n      uVar17 = 0;\n      *(uint *)param_1 = uVar36;\n      break;\n    case 0x40:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case 0x41:\n      local_b8 = 0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }\n      if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      break;\n    case 0x8b:\n      local_b8 = 0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }\n      break;\n    case 0x8c:\n      local_b8 = 0;\nLAB_002c328d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;\n      uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);\n      break;\n    case 0x8d:\n      local_b8 = 0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);\n      break;\n    case 0xf8:\n      local_b8 = 0;\nLAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\njoined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;\nLAB_002c1fd0:\n      puVar34 = param_10;\nLAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;\nLAB_002c1fd6:\n      uVar17 = 0;\n    }\nLAB_002c1e60:\n    unaff_R13 = unaff_R13 + 1;\n    if (local_d8 == unaff_R13) break;\n    uVar18 = *unaff_R13;\n  }" { (expression_statement "bVar45 = local_bc == iVar3;" (assignment_expression "bVar45 = local_bc == iVar3" identifier = (binary_expression "local_bc == iVar3" identifier == identifier)) ;) (expression_statement "bVar48 = cVar11 != '\0';" (assignment_expression "bVar48 = cVar11 != '\0'" identifier = (binary_expression "cVar11 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ;) (expression_statement "bVar14 = bVar45 && bVar48;" (assignment_expression "bVar14 = bVar45 && bVar48" identifier = (binary_expression "bVar45 && bVar48" identifier && identifier)) ;) (expression_statement "puVar34 = param_1;" (assignment_expression "puVar34 = param_1" identifier = identifier) ;) (if_statement "if (*(char *)((long)param_1 + 4) == '\0') {\n      *(byte *)((long)param_1 + 4) = bVar14;\n      switch(uVar18) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }\n    }" if (parenthesized_expression "(*(char *)((long)param_1 + 4) == '\0')" ( (binary_expression "*(char *)((long)param_1 + 4) == '\0'" (pointer_expression "*(char *)((long)param_1 + 4)" * (cast_expression "(char *)((long)param_1 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *(byte *)((long)param_1 + 4) = bVar14;\n      switch(uVar18) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }\n    }" { (expression_statement "*(byte *)((long)param_1 + 4) = bVar14;" (assignment_expression "*(byte *)((long)param_1 + 4) = bVar14" (pointer_expression "*(byte *)((long)param_1 + 4)" * (cast_expression "(byte *)((long)param_1 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (switch_statement "switch(uVar18) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }" switch (parenthesized_expression "(uVar18)" ( identifier )) (compound_statement "{\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }" { (case_statement "default:\n        goto switchD_002c18c9_caseD_0;" default : (goto_statement "goto switchD_002c18c9_caseD_0;" goto statement_identifier ;)) (case_statement "case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;" case number_literal : (expression_statement "uVar30 = (ushort)*param_10;" (assignment_expression "uVar30 = (ushort)*param_10" identifier = (binary_expression "(ushort)*param_10" (parenthesized_expression "(ushort)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }" if (parenthesized_expression "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }" { (labeled_statement "LAB_002c46aa:\n          local_b0 = local_cc;" statement_identifier : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;)) }) (else_clause "else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }" else (compound_statement "{\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }" { (expression_statement "local_b0 = (uint)uVar30;" (assignment_expression "local_b0 = (uint)uVar30" identifier = (cast_expression "(uint)uVar30" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }" if (parenthesized_expression "((short)uVar30 < 0)" ( (binary_expression "(short)uVar30 < 0" (cast_expression "(short)uVar30" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier) < number_literal) )) (compound_statement "{\n            local_b0 = uVar30 - 0x10000;\n          }" { (expression_statement "local_b0 = uVar30 - 0x10000;" (assignment_expression "local_b0 = uVar30 - 0x10000" identifier = (binary_expression "uVar30 - 0x10000" identifier - number_literal)) ;) })) }))) (goto_statement "goto LAB_002c359b;" goto statement_identifier ;)) (case_statement "case 2:\n        goto switchD_002c18c9_caseD_2;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_2;" goto statement_identifier ;)) (case_statement "case 3:\n        goto switchD_002c14fa_caseD_3;" case number_literal : (goto_statement "goto switchD_002c14fa_caseD_3;" goto statement_identifier ;)) (case_statement "case 4:" case number_literal :) (case_statement "case 100:" case number_literal :) (case_statement "case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;" case number_literal : (expression_statement "bVar42 = (!bVar45 || !bVar48) & local_cf;" (assignment_expression "bVar42 = (!bVar45 || !bVar48) & local_cf" identifier = (binary_expression "(!bVar45 || !bVar48) & local_cf" (parenthesized_expression "(!bVar45 || !bVar48)" ( (binary_expression "!bVar45 || !bVar48" (unary_expression "!bVar45" ! identifier) || (unary_expression "!bVar48" ! identifier)) )) & identifier)) ;) (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (expression_statement "uVar17 = (uint)*param_10;" (assignment_expression "uVar17 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }" if (parenthesized_expression "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }" { (labeled_statement "LAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }" statement_identifier : (if_statement "if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }" if (parenthesized_expression "(bVar42 == 0)" ( (binary_expression "bVar42 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }" { (labeled_statement "LAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;" statement_identifier : (expression_statement "bVar46 = param_8 == (undefined8 *)0x0;" (assignment_expression "bVar46 = param_8 == (undefined8 *)0x0" identifier = (binary_expression "param_8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;)) (if_statement "if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;" if (parenthesized_expression "((local_cf == 1) || (uVar18 != 0x85))" ( (binary_expression "(local_cf == 1) || (uVar18 != 0x85)" (parenthesized_expression "(local_cf == 1)" ( (binary_expression "local_cf == 1" identifier == number_literal) )) || (parenthesized_expression "(uVar18 != 0x85)" ( (binary_expression "uVar18 != 0x85" identifier != number_literal) ))) )) (goto_statement "goto LAB_002c34d9;" goto statement_identifier ;)) (if_statement "if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }" if (parenthesized_expression "(bVar46)" ( identifier )) (compound_statement "{\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }" { (expression_statement "local_118 = 1;" (assignment_expression "local_118 = 1" identifier = number_literal) ;) (expression_statement "uVar36 = 0xf8000000;" (assignment_expression "uVar36 = 0xf8000000" identifier = number_literal) ;) (goto_statement "goto LAB_002c34f1;" goto statement_identifier ;) })) (expression_statement "local_118 = 1;" (assignment_expression "local_118 = 1" identifier = number_literal) ;) (expression_statement "uVar36 = local_b0 & 0x7ffffff;" (assignment_expression "uVar36 = local_b0 & 0x7ffffff" identifier = (binary_expression "local_b0 & 0x7ffffff" identifier & number_literal)) ;) (if_statement "if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }" if (parenthesized_expression "((local_b0 & 0x4000000) != 0)" ( (binary_expression "(local_b0 & 0x4000000) != 0" (parenthesized_expression "(local_b0 & 0x4000000)" ( (binary_expression "local_b0 & 0x4000000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }" { (expression_statement "uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;" (assignment_expression "uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000" identifier = (binary_expression "(local_b0 & 0x7ffffff) + 0xf8000000" (parenthesized_expression "(local_b0 & 0x7ffffff)" ( (binary_expression "local_b0 & 0x7ffffff" identifier & number_literal) )) + number_literal)) ;) })) (goto_statement "goto LAB_002c3505;" goto statement_identifier ;) }))) (labeled_statement "LAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);" statement_identifier : (expression_statement "bVar42 = FUN_001a5ac0(param_9,plVar6,0);" (assignment_expression "bVar42 = FUN_001a5ac0(param_9,plVar6,0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,0)" identifier (argument_list "(param_9,plVar6,0)" ( identifier , identifier , number_literal )))) ;)) (if_statement "if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;" if (parenthesized_expression "((bool)(bVar42 & 3) == (uVar18 == 4))" ( (binary_expression "(bool)(bVar42 & 3) == (uVar18 == 4)" (cast_expression "(bool)(bVar42 & 3)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar42 & 3)" ( (binary_expression "bVar42 & 3" identifier & number_literal) ))) == (parenthesized_expression "(uVar18 == 4)" ( (binary_expression "uVar18 == 4" identifier == number_literal) ))) )) (goto_statement "goto LAB_002c38db;" goto statement_identifier ;)) (expression_statement "uVar22 = gettext("JALX to a non-word-aligned address");" (assignment_expression "uVar22 = gettext("JALX to a non-word-aligned address")" identifier = (call_expression "gettext("JALX to a non-word-aligned address")" identifier (argument_list "("JALX to a non-word-aligned address")" ( (string_literal ""JALX to a non-word-aligned address"" " string_content ") )))) ;) (expression_statement "FUN_0034a800(uVar22);" (call_expression "FUN_0034a800(uVar22)" identifier (argument_list "(uVar22)" ( identifier ))) ;) (labeled_statement "LAB_002c413e:\n          uVar17 = 2;" statement_identifier : (expression_statement "uVar17 = 2;" (assignment_expression "uVar17 = 2" identifier = number_literal) ;)) }) (else_clause "else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }" else (compound_statement "{\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }" { (if_statement "if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }" if (parenthesized_expression "(uVar18 == 0x85)" ( (binary_expression "uVar18 == 0x85" identifier == number_literal) )) (compound_statement "{\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }" { (expression_statement "local_b0 = uVar17 * 2 & 0x7fffffe;" (assignment_expression "local_b0 = uVar17 * 2 & 0x7fffffe" identifier = (binary_expression "uVar17 * 2 & 0x7fffffe" (binary_expression "uVar17 * 2" identifier * number_literal) & number_literal)) ;) (goto_statement "goto LAB_002c38d3;" goto statement_identifier ;) })) (expression_statement "local_b0 = (uVar17 & 0x3ffffff) << 2;" (assignment_expression "local_b0 = (uVar17 & 0x3ffffff) << 2" identifier = (binary_expression "(uVar17 & 0x3ffffff) << 2" (parenthesized_expression "(uVar17 & 0x3ffffff)" ( (binary_expression "uVar17 & 0x3ffffff" identifier & number_literal) )) << number_literal)) ;) (if_statement "if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }" if (parenthesized_expression "(bVar42 != 0)" ( (binary_expression "bVar42 != 0" identifier != number_literal) )) (compound_statement "{\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }" { (expression_statement "local_b8 = (ulong)bVar42;" (assignment_expression "local_b8 = (ulong)bVar42" identifier = (cast_expression "(ulong)bVar42" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_002c40ff;" goto statement_identifier ;) })) (labeled_statement "LAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;" statement_identifier : (expression_statement "bVar46 = param_8 == (undefined8 *)0x0;" (assignment_expression "bVar46 = param_8 == (undefined8 *)0x0" identifier = (binary_expression "param_8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;)) (if_statement "if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }" if (parenthesized_expression "(bVar46)" ( identifier )) (compound_statement "{\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }" { (expression_statement "local_118 = 2;" (assignment_expression "local_118 = 2" identifier = number_literal) ;) (expression_statement "uVar36 = 0xf0000000;" (assignment_expression "uVar36 = 0xf0000000" identifier = number_literal) ;) (labeled_statement "LAB_002c34f1:\n            bVar46 = true;" statement_identifier : (expression_statement "bVar46 = true;" (assignment_expression "bVar46 = true" identifier = true) ;)) (expression_statement "uVar36 = param_11 + 4 & uVar36 | local_b0;" (assignment_expression "uVar36 = param_11 + 4 & uVar36 | local_b0" identifier = (binary_expression "param_11 + 4 & uVar36 | local_b0" (binary_expression "param_11 + 4 & uVar36" (binary_expression "param_11 + 4" identifier + number_literal) & identifier) | identifier)) ;) }) (else_clause "else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }" else (compound_statement "{\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }" { (expression_statement "local_118 = 2;" (assignment_expression "local_118 = 2" identifier = number_literal) ;) (expression_statement "uVar36 = local_b0 & 0xfffffff;" (assignment_expression "uVar36 = local_b0 & 0xfffffff" identifier = (binary_expression "local_b0 & 0xfffffff" identifier & number_literal)) ;) (if_statement "if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }" if (parenthesized_expression "((local_b0 & 0x8000000) != 0)" ( (binary_expression "(local_b0 & 0x8000000) != 0" (parenthesized_expression "(local_b0 & 0x8000000)" ( (binary_expression "local_b0 & 0x8000000" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }" { (expression_statement "uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;" (assignment_expression "uVar36 = (local_b0 & 0xfffffff) + 0xf0000000" identifier = (binary_expression "(local_b0 & 0xfffffff) + 0xf0000000" (parenthesized_expression "(local_b0 & 0xfffffff)" ( (binary_expression "local_b0 & 0xfffffff" identifier & number_literal) )) + number_literal)) ;) })) }))) (labeled_statement "LAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);" statement_identifier : (expression_statement "uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);" (assignment_expression "uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,uVar36)" identifier (argument_list "(param_9,plVar6,uVar36)" ( identifier , identifier , identifier )))) ;)) (if_statement "if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }" if (parenthesized_expression "((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f)))" ( (binary_expression "(((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))" (parenthesized_expression "(((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0'))" ( (binary_expression "((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')" (parenthesized_expression "((!bVar45 || !bVar48) && (!bVar46))" ( (binary_expression "(!bVar45 || !bVar48) && (!bVar46)" (parenthesized_expression "(!bVar45 || !bVar48)" ( (binary_expression "!bVar45 || !bVar48" (unary_expression "!bVar45" ! identifier) || (unary_expression "!bVar48" ! identifier)) )) && (parenthesized_expression "(!bVar46)" ( (unary_expression "!bVar46" ! identifier) ))) )) && (parenthesized_expression "(cVar16 = FUN_002e7200(param_8), cVar16 == '\0')" ( (comma_expression "cVar16 = FUN_002e7200(param_8), cVar16 == '\0'" (assignment_expression "cVar16 = FUN_002e7200(param_8)" identifier = (call_expression "FUN_002e7200(param_8)" identifier (argument_list "(param_8)" ( identifier )))) , (binary_expression "cVar16 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) && (parenthesized_expression "((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))" ( (binary_expression "(uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f)" (binary_expression "(uVar36 >> local_118) >> 0x1a" (parenthesized_expression "(uVar36 >> local_118)" ( (binary_expression "uVar36 >> local_118" identifier >> identifier) )) >> number_literal) != (binary_expression "param_11 + 4 >> (local_118 + 0x1aU & 0x1f)" (binary_expression "param_11 + 4" identifier + number_literal) >> (parenthesized_expression "(local_118 + 0x1aU & 0x1f)" ( (binary_expression "local_118 + 0x1aU & 0x1f" (binary_expression "local_118 + 0x1aU" identifier + number_literal) & number_literal) )))) ))) )) (compound_statement "{\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }" { (labeled_statement "LAB_002c3567:\n            uVar17 = 1;" statement_identifier : (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" identifier = number_literal) ;)) (goto_statement "goto LAB_002c1e60;" goto statement_identifier ;) })) (expression_statement "uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;" (assignment_expression "uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff" identifier = (binary_expression "uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff" identifier ^ (binary_expression "(uVar36 >> local_118 ^ uVar17) & 0x3ffffff" (parenthesized_expression "(uVar36 >> local_118 ^ uVar17)" ( (binary_expression "uVar36 >> local_118 ^ uVar17" (binary_expression "uVar36 >> local_118" identifier >> identifier) ^ identifier) )) & number_literal))) ;) (if_statement "if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }" if (parenthesized_expression "(local_cf != 0)" ( (binary_expression "local_cf != 0" identifier != number_literal) )) (compound_statement "{\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }" { (expression_statement "uVar17 = uVar17 >> 0x1a;" (assignment_expression "uVar17 = uVar17 >> 0x1a" identifier = (binary_expression "uVar17 >> 0x1a" identifier >> number_literal)) ;) (if_statement "if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }" if (parenthesized_expression "(uVar18 == 100)" ( (binary_expression "uVar18 == 100" identifier == number_literal) )) (compound_statement "{\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }" { (expression_statement "iVar35 = 7;" (assignment_expression "iVar35 = 7" identifier = number_literal) ;) (expression_statement "bVar46 = uVar17 - 6 < 2;" (assignment_expression "bVar46 = uVar17 - 6 < 2" identifier = (binary_expression "uVar17 - 6 < 2" (binary_expression "uVar17 - 6" identifier - number_literal) < number_literal)) ;) }) (else_clause "else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }" else (if_statement "if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }" if (parenthesized_expression "(uVar18 == 0x85)" ( (binary_expression "uVar18 == 0x85" identifier == number_literal) )) (compound_statement "{\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }" { (expression_statement "iVar35 = 0x3c;" (assignment_expression "iVar35 = 0x3c" identifier = number_literal) ;) (expression_statement "bVar46 = uVar17 - 0x3c < 2;" (assignment_expression "bVar46 = uVar17 - 0x3c < 2" identifier = (binary_expression "uVar17 - 0x3c < 2" (binary_expression "uVar17 - 0x3c" identifier - number_literal) < number_literal)) ;) }) (else_clause "else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }" else (compound_statement "{\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }" { (expression_statement "bVar46 = uVar17 == 3 || uVar17 == 0x1d;" (assignment_expression "bVar46 = uVar17 == 3 || uVar17 == 0x1d" identifier = (binary_expression "uVar17 == 3 || uVar17 == 0x1d" (binary_expression "uVar17 == 3" identifier == number_literal) || (binary_expression "uVar17 == 0x1d" identifier == number_literal))) ;) (expression_statement "iVar35 = 0x1d;" (assignment_expression "iVar35 = 0x1d" identifier = number_literal) ;) }))))) (if_statement "if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }" if (parenthesized_expression "((!bVar45 || !bVar48) && (!bVar46))" ( (binary_expression "(!bVar45 || !bVar48) && (!bVar46)" (parenthesized_expression "(!bVar45 || !bVar48)" ( (binary_expression "!bVar45 || !bVar48" (unary_expression "!bVar45" ! identifier) || (unary_expression "!bVar48" ! identifier)) )) && (parenthesized_expression "(!bVar46)" ( (unary_expression "!bVar46" ! identifier) ))) )) (compound_statement "{\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }" { (expression_statement "uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );" (assignment_expression "uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              )" identifier = (call_expression "gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              )" identifier (argument_list "(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              )" ( (string_literal ""Unsupported jump between ISA modes; consider recompiling with interlinking enabled."" " string_content ") )))) ;) (expression_statement "FUN_0034a750(uVar22);" (call_expression "FUN_0034a750(uVar22)" identifier (argument_list "(uVar22)" ( identifier ))) ;) (goto_statement "goto LAB_002c413e;" goto statement_identifier ;) })) (expression_statement "uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;" (assignment_expression "uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a" identifier = (binary_expression "uVar36 & 0x3ffffff | iVar35 << 0x1a" (binary_expression "uVar36 & 0x3ffffff" identifier & number_literal) | (binary_expression "iVar35 << 0x1a" identifier << number_literal))) ;) })) (if_statement "if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\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_002c4770:\n                    \n            FUN_002932f0();\n          }" { (labeled_statement "LAB_002c4770:\n                    \n            FUN_002932f0();" statement_identifier : (expression_statement "FUN_002932f0();" (call_expression "FUN_002932f0()" identifier (argument_list "()" ( ))) ;)) })) (if_statement "if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }" if (parenthesized_expression "(bVar45 && bVar48)" ( (binary_expression "bVar45 && bVar48" identifier && identifier) )) (compound_statement "{\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(uint *)param_1 = uVar36;" (assignment_expression "*(uint *)param_1 = uVar36" (pointer_expression "*(uint *)param_1" * (cast_expression "(uint *)param_1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (else_clause "else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }" else (compound_statement "{\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(uint *)param_10 = uVar36;" (assignment_expression "*(uint *)param_10 = uVar36" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }))) }))) (goto_statement "goto LAB_002c1e60;" goto statement_identifier ;)) (case_statement "case 5:" case number_literal :) (case_statement "case 0x68:" case number_literal :) (case_statement "case 0x86:\n        goto switchD_002c18c9_caseD_5;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_5;" goto statement_identifier ;)) (case_statement "case 6:" case number_literal :) (case_statement "case 0x69:" case number_literal :) (case_statement "case 0x87:" case number_literal :) (case_statement "case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (expression_statement "local_108 = (uint)*param_10;" (assignment_expression "local_108 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }" { (expression_statement "local_b0 = (local_108 & 0xffff) - 0x10000;" (assignment_expression "local_b0 = (local_108 & 0xffff) - 0x10000" identifier = (binary_expression "(local_108 & 0xffff) - 0x10000" (parenthesized_expression "(local_108 & 0xffff)" ( (binary_expression "local_108 & 0xffff" identifier & number_literal) )) - number_literal)) ;) (if_statement "if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }" if (parenthesized_expression "((local_108 & 0x8000) == 0)" ( (binary_expression "(local_108 & 0x8000) == 0" (parenthesized_expression "(local_108 & 0x8000)" ( (binary_expression "local_108 & 0x8000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            local_b0 = local_108 & 0xffff;\n          }" { (expression_statement "local_b0 = local_108 & 0xffff;" (assignment_expression "local_b0 = local_108 & 0xffff" identifier = (binary_expression "local_108 & 0xffff" identifier & number_literal)) ;) })) })) (goto_statement "goto LAB_002c3615;" goto statement_identifier ;)) (case_statement "case 7:" case number_literal :) (case_statement "case 8:" case number_literal :) (case_statement "case 0x65:" case number_literal :) (case_statement "case 0x88:" case number_literal :) (case_statement "case 0x89:" case number_literal :) (case_statement "case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (expression_statement "lVar31 = *(long *)(param_4 + 0x28);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x28)" identifier = (pointer_expression "*(long *)(param_4 + 0x28)" * (cast_expression "(long *)(param_4 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x28)" ( (binary_expression "param_4 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (lVar31 != 0) goto LAB_002c370d;" if (parenthesized_expression "(lVar31 != 0)" ( (binary_expression "lVar31 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002c370d;" goto statement_identifier ;)) (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c3751:\n        uVar17 = (uint)*param_10;" statement_identifier : (expression_statement "uVar17 = (uint)*param_10;" (assignment_expression "uVar17 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;)) (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" identifier = identifier) ;) (if_statement "if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }" { (if_statement "if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }" if (parenthesized_expression "(uVar18 == 0xac)" ( (binary_expression "uVar18 == 0xac" identifier == number_literal) )) (compound_statement "{\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }" { (expression_statement "local_b0 = uVar17 * 4 & 0x1fc;" (assignment_expression "local_b0 = uVar17 * 4 & 0x1fc" identifier = (binary_expression "uVar17 * 4 & 0x1fc" (binary_expression "uVar17 * 4" identifier * number_literal) & number_literal)) ;) }) (else_clause "else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }" else (compound_statement "{\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }" { (expression_statement "local_b0 = (uVar17 & 0xffff) - 0x10000;" (assignment_expression "local_b0 = (uVar17 & 0xffff) - 0x10000" identifier = (binary_expression "(uVar17 & 0xffff) - 0x10000" (parenthesized_expression "(uVar17 & 0xffff)" ( (binary_expression "uVar17 & 0xffff" identifier & number_literal) )) - number_literal)) ;) (if_statement "if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }" if (parenthesized_expression "((uVar17 & 0x8000) == 0)" ( (binary_expression "(uVar17 & 0x8000) == 0" (parenthesized_expression "(uVar17 & 0x8000)" ( (binary_expression "uVar17 & 0x8000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n              local_b0 = uVar17 & 0xffff;\n            }" { (expression_statement "local_b0 = uVar17 & 0xffff;" (assignment_expression "local_b0 = uVar17 & 0xffff" identifier = (binary_expression "uVar17 & 0xffff" identifier & number_literal)) ;) })) }))) })) (goto_statement "goto LAB_002c378b;" goto statement_identifier ;)) (case_statement "case 9:" case number_literal :) (case_statement "case 0x66:" case number_literal :) (case_statement "case 0x8a:\n        goto switchD_002c18c9_caseD_9;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_9;" goto statement_identifier ;)) (case_statement "case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c2e45;" goto statement_identifier ;)) (case_statement "case 0xb:" case number_literal :) (case_statement "case 0x67:" case number_literal :) (case_statement "case 0x8e:\n        goto switchD_002c18c9_caseD_b;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_b;" goto statement_identifier ;)) (case_statement "case 0xc:\n        goto switchD_002c18c9_caseD_c;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_c;" goto statement_identifier ;)) (case_statement "case 0x12:\n        goto switchD_002c18c9_caseD_12;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_12;" goto statement_identifier ;)) (case_statement "case 0x13:" case number_literal :) (case_statement "case 0x91:" case number_literal :) (case_statement "case 0xf9:\n        goto switchD_002c18c9_caseD_13;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_13;" goto statement_identifier ;)) (case_statement "case 0x14:" case number_literal :) (case_statement "case 0x92:\n        goto switchD_002c18c9_caseD_14;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_14;" goto statement_identifier ;)) (case_statement "case 0x15:" case number_literal :) (case_statement "case 0x93:\n        goto switchD_002c18c9_caseD_15;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_15;" goto statement_identifier ;)) (case_statement "case 0x16:" case number_literal :) (case_statement "case 0x1e:" case number_literal :) (case_statement "case 0x94:" case number_literal :) (case_statement "case 0x99:\n        goto switchD_002c18c9_caseD_16;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_16;" goto statement_identifier ;)) (case_statement "case 0x17:" case number_literal :) (case_statement "case 0x1f:" case number_literal :) (case_statement "case 0x95:" case number_literal :) (case_statement "case 0x9a:\n        goto switchD_002c18c9_caseD_17;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_17;" goto statement_identifier ;)) (case_statement "case 0x18:" case number_literal :) (case_statement "case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (if_statement "if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_b0 = (uint)*param_10;\n        }" { (expression_statement "local_b0 = (uint)*param_10;" (assignment_expression "local_b0 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) })) (goto_statement "goto LAB_002c2efa;" goto statement_identifier ;)) (case_statement "case 0x1c:" case number_literal :) (case_statement "case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c1ed8;" goto statement_identifier ;)) (case_statement "case 0x1d:" case number_literal :) (case_statement "case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c2f32;" goto statement_identifier ;)) (case_statement "case 0x25:" case number_literal :) (case_statement "case 0x9c:\n        goto switchD_002c18c9_caseD_25;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_25;" goto statement_identifier ;)) (case_statement "case 0x27:" case number_literal :) (case_statement "case 0x29:\n        goto switchD_002c18c9_caseD_27;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_27;" goto statement_identifier ;)) (case_statement "case 0x2a:" case number_literal :) (case_statement "case 0x6a:" case number_literal :) (case_statement "case 0xa2:\n        goto switchD_002c18c9_caseD_2a;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_2a;" goto statement_identifier ;)) (case_statement "case 0x2b:" case number_literal :) (case_statement "case 0x6b:" case number_literal :) (case_statement "case 0xa3:\n        goto switchD_002c18c9_caseD_2b;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_2b;" goto statement_identifier ;)) (case_statement "case 0x2c:" case number_literal :) (case_statement "case 0x6c:" case number_literal :) (case_statement "case 0xa4:\n        goto switchD_002c18c9_caseD_2c;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_2c;" goto statement_identifier ;)) (case_statement "case 0x2d:" case number_literal :) (case_statement "case 0x6d:" case number_literal :) (case_statement "case 0xa5:\n        goto switchD_002c18c9_caseD_2d;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_2d;" goto statement_identifier ;)) (case_statement "case 0x2e:" case number_literal :) (case_statement "case 0x6e:" case number_literal :) (case_statement "case 0xa6:\n        goto switchD_002c18c9_caseD_2e;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_2e;" goto statement_identifier ;)) (case_statement "case 0x2f:" case number_literal :) (case_statement "case 0x30:\n        goto switchD_002c18c9_caseD_2f;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_2f;" goto statement_identifier ;)) (case_statement "case 0x31:" case number_literal :) (case_statement "case 0x6f:" case number_literal :) (case_statement "case 0xa9:\n        goto switchD_002c18c9_caseD_31;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_31;" goto statement_identifier ;)) (case_statement "case 0x32:" case number_literal :) (case_statement "case 0x70:" case number_literal :) (case_statement "case 0xaa:\n        goto switchD_002c18c9_caseD_32;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_32;" goto statement_identifier ;)) (case_statement "case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c2f96;" goto statement_identifier ;)) (case_statement "case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c304d;" goto statement_identifier ;)) (case_statement "case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c3104;" goto statement_identifier ;)) (case_statement "case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c31c0;" goto statement_identifier ;)) (case_statement "case 0x40:\n        goto switchD_002c18c9_caseD_40;" case number_literal : (goto_statement "goto switchD_002c18c9_caseD_40;" goto statement_identifier ;)) (case_statement "case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c330f;" goto statement_identifier ;)) (case_statement "case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c3385;" goto statement_identifier ;)) (case_statement "case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c328d;" goto statement_identifier ;)) (case_statement "case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (goto_statement "goto LAB_002c33fc;" goto statement_identifier ;)) (case_statement "case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;" case number_literal : (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (if_statement "if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          local_b0 = (uint)*param_10;\n        }" { (expression_statement "local_b0 = (uint)*param_10;" (assignment_expression "local_b0 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) })) (goto_statement "goto LAB_002c3260;" goto statement_identifier ;)) })) })) (expression_statement "local_cc = (uint)*param_1;" (assignment_expression "local_cc = (uint)*param_1" identifier = (binary_expression "(uint)*param_1" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "*(byte *)((long)param_1 + 4) = bVar14;" (assignment_expression "*(byte *)((long)param_1 + 4) = bVar14" (pointer_expression "*(byte *)((long)param_1 + 4)" * (cast_expression "(byte *)((long)param_1 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (switch_statement "switch(uVar18) {\n    default:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);\n      break;\n    case 1:\n      local_b8 = 0;\n      local_b0 = local_cc;\nLAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar14 != 0) goto LAB_002c1f30;\n      *(ushort *)param_10 = (ushort)uVar36;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);\n      if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }\n      if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }\n      break;\n    case 3:\nswitchD_002c14fa_caseD_3:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");\n    case 4:\n    case 100:\n    case 0x85:\n      local_b8 = 0;\n      bVar42 = (!bVar45 || !bVar48) & local_cf;\n      uVar17 = (uint)*param_10;\n      goto LAB_002c38d3;\n    case 5:\n    case 0x68:\n    case 0x86:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }\n      break;\n    case 6:\n    case 0x69:\n    case 0x87:\n    case 0x9d:\n      local_b8 = 0;\n      local_108 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }\n      if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\nLAB_002c1ebf:\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;\n      break;\n    case 7:\n    case 8:\n    case 0x65:\n    case 0x88:\n    case 0x89:\n    case 0xac:\n      lVar31 = *(long *)(param_4 + 0x28);\n      if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }\n      local_b8 = 0;\n      iVar35 = 0;\n      uVar17 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar21 - iVar35;\n      if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }\n      uVar20 = (uVar36 ^ uVar17) & 0xffff;\n      if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar17 ^ uVar20;\n      if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }\n      goto LAB_002c1fd6;\n    case 9:\n    case 0x66:\n    case 0x8a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case 10:\n      local_b8 = 0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }\n      break;\n    case 0xb:\n    case 0x67:\n    case 0x8e:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;\n    case 0xc:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);\n      goto joined_r0x002c327b;\n    case 0x12:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);\n      if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }\n      break;\n    case 0x13:\n    case 0x91:\n    case 0xf9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }\n      if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }\n      local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n      if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }\n      if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;\n      goto LAB_002c1fd4;\n    case 0x14:\n    case 0x92:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) goto LAB_002c4726;\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }\n      if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }\n      uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);\n      if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;\n      goto LAB_002c2590;\n    case 0x15:\n    case 0x93:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;\n      local_b0 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }\n      if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }\n      break;\n    case 0x16:\n    case 0x1e:\n    case 0x94:\n    case 0x99:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }\n      goto LAB_002c46d8;\n    case 0x17:\n    case 0x1f:\n    case 0x95:\n    case 0x9a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }\nLAB_002c4792:\n      FUN_00290940();\nLAB_002c4797:\n      FUN_00290940();\nLAB_002c479c:\n      FUN_00290940();\nLAB_002c47a1:\n      FUN_00290940();\nLAB_002c47a6:\n      FUN_00290940();\n                    \n      uVar22 = FUN_0017eb9a();\n      return uVar22;\n    case 0x18:\n    case 0x96:\n      local_b8 = 0;\nLAB_002c2efa:\n      uVar18 = -local_b0;\nLAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      if (bVar14 != '\0') goto LAB_002c1f30;\n      uVar17 = 0;\n      *param_10 = (ulong)uVar36;\n      break;\n    case 0x1c:\n    case 0x97:\n      local_b8 = 0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }\n      uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);\n      goto joined_r0x002c1f7e;\n    case 0x1d:\n    case 0x98:\n      local_b8 = 0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar36 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }\n      FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }\n      uVar36 = uVar36 & 0xffff0000;\n      goto LAB_002c1fd0;\n    case 0x25:\n    case 0x9c:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }\n      uVar17 = (uint)*param_10;\n      uVar36 = uVar17;\n      if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }\n      if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }\n      break;\n    case 0x27:\n    case 0x29:\n      goto switchD_002c14fa_caseD_27;\n    case 0x2a:\n    case 0x6a:\n    case 0xa2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }\n      FUN_00290940();\nswitchD_002c14fa_caseD_27:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_27:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      goto joined_r0x002c327b;\n    case 0x2b:\n    case 0x6b:\n    case 0xa3:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }\n      if (lVar25 == 0) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }\n      local_e4 = *(uint *)(lVar25 + 0x14);\n      uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\nLAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;\n      uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;\nLAB_002c2590:\n      *(uint *)param_10 = uVar18;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 0x2c:\n    case 0x6c:\n    case 0xa4:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      goto LAB_002c1f79;\n    case 0x2d:\n    case 0x6d:\n    case 0xa5:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x2e:\n    case 0x6e:\n    case 0xa6:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) goto LAB_002c2030;\n      goto LAB_002c47a1;\n    case 0x2f:\n    case 0x30:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    case 0x31:\n    case 0x6f:\n    case 0xa9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      uVar36 = iVar35 + 0x1000;\nLAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;\njoined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;\n      break;\n    case 0x32:\n    case 0x70:\n    case 0xaa:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x3c:\n      local_b8 = 0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }\n      break;\n    case 0x3d:\n      local_b8 = 0;\nLAB_002c304d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }\n      break;\n    case 0x3e:\n      local_b8 = 0;\nLAB_002c3104:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - (param_11 & 0xfffffff8);\n      uVar36 = uVar20 >> 3;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar32 = uVar32 & 7;\njoined_r0x002c324e:\n      uVar17 = 3;\n      if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }\n      break;\n    case 0x3f:\n      local_b8 = 0;\nLAB_002c31c0:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - param_11;\n      uVar36 = uVar20 >> 2;\n      if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }\nLAB_002c1f30:\n      uVar17 = 0;\n      *(uint *)param_1 = uVar36;\n      break;\n    case 0x40:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case 0x41:\n      local_b8 = 0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }\n      if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      break;\n    case 0x8b:\n      local_b8 = 0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }\n      break;\n    case 0x8c:\n      local_b8 = 0;\nLAB_002c328d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;\n      uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);\n      break;\n    case 0x8d:\n      local_b8 = 0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);\n      break;\n    case 0xf8:\n      local_b8 = 0;\nLAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\njoined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;\nLAB_002c1fd0:\n      puVar34 = param_10;\nLAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;\nLAB_002c1fd6:\n      uVar17 = 0;\n    }" switch (parenthesized_expression "(uVar18)" ( identifier )) (compound_statement "{\n    default:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);\n      break;\n    case 1:\n      local_b8 = 0;\n      local_b0 = local_cc;\nLAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar14 != 0) goto LAB_002c1f30;\n      *(ushort *)param_10 = (ushort)uVar36;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);\n      if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }\n      if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }\n      break;\n    case 3:\nswitchD_002c14fa_caseD_3:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");\n    case 4:\n    case 100:\n    case 0x85:\n      local_b8 = 0;\n      bVar42 = (!bVar45 || !bVar48) & local_cf;\n      uVar17 = (uint)*param_10;\n      goto LAB_002c38d3;\n    case 5:\n    case 0x68:\n    case 0x86:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }\n      break;\n    case 6:\n    case 0x69:\n    case 0x87:\n    case 0x9d:\n      local_b8 = 0;\n      local_108 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }\n      if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\nLAB_002c1ebf:\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;\n      break;\n    case 7:\n    case 8:\n    case 0x65:\n    case 0x88:\n    case 0x89:\n    case 0xac:\n      lVar31 = *(long *)(param_4 + 0x28);\n      if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }\n      local_b8 = 0;\n      iVar35 = 0;\n      uVar17 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar21 - iVar35;\n      if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }\n      uVar20 = (uVar36 ^ uVar17) & 0xffff;\n      if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar17 ^ uVar20;\n      if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }\n      goto LAB_002c1fd6;\n    case 9:\n    case 0x66:\n    case 0x8a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case 10:\n      local_b8 = 0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }\n      break;\n    case 0xb:\n    case 0x67:\n    case 0x8e:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;\n    case 0xc:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);\n      goto joined_r0x002c327b;\n    case 0x12:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);\n      if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }\n      break;\n    case 0x13:\n    case 0x91:\n    case 0xf9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }\n      if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }\n      local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n      if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }\n      if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;\n      goto LAB_002c1fd4;\n    case 0x14:\n    case 0x92:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) goto LAB_002c4726;\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }\n      if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }\n      uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);\n      if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;\n      goto LAB_002c2590;\n    case 0x15:\n    case 0x93:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;\n      local_b0 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }\n      if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }\n      break;\n    case 0x16:\n    case 0x1e:\n    case 0x94:\n    case 0x99:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }\n      goto LAB_002c46d8;\n    case 0x17:\n    case 0x1f:\n    case 0x95:\n    case 0x9a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }\nLAB_002c4792:\n      FUN_00290940();\nLAB_002c4797:\n      FUN_00290940();\nLAB_002c479c:\n      FUN_00290940();\nLAB_002c47a1:\n      FUN_00290940();\nLAB_002c47a6:\n      FUN_00290940();\n                    \n      uVar22 = FUN_0017eb9a();\n      return uVar22;\n    case 0x18:\n    case 0x96:\n      local_b8 = 0;\nLAB_002c2efa:\n      uVar18 = -local_b0;\nLAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      if (bVar14 != '\0') goto LAB_002c1f30;\n      uVar17 = 0;\n      *param_10 = (ulong)uVar36;\n      break;\n    case 0x1c:\n    case 0x97:\n      local_b8 = 0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }\n      uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);\n      goto joined_r0x002c1f7e;\n    case 0x1d:\n    case 0x98:\n      local_b8 = 0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar36 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }\n      FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }\n      uVar36 = uVar36 & 0xffff0000;\n      goto LAB_002c1fd0;\n    case 0x25:\n    case 0x9c:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }\n      uVar17 = (uint)*param_10;\n      uVar36 = uVar17;\n      if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }\n      if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }\n      break;\n    case 0x27:\n    case 0x29:\n      goto switchD_002c14fa_caseD_27;\n    case 0x2a:\n    case 0x6a:\n    case 0xa2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }\n      FUN_00290940();\nswitchD_002c14fa_caseD_27:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_27:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      goto joined_r0x002c327b;\n    case 0x2b:\n    case 0x6b:\n    case 0xa3:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }\n      if (lVar25 == 0) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }\n      local_e4 = *(uint *)(lVar25 + 0x14);\n      uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\nLAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;\n      uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;\nLAB_002c2590:\n      *(uint *)param_10 = uVar18;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 0x2c:\n    case 0x6c:\n    case 0xa4:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      goto LAB_002c1f79;\n    case 0x2d:\n    case 0x6d:\n    case 0xa5:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x2e:\n    case 0x6e:\n    case 0xa6:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) goto LAB_002c2030;\n      goto LAB_002c47a1;\n    case 0x2f:\n    case 0x30:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    case 0x31:\n    case 0x6f:\n    case 0xa9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      uVar36 = iVar35 + 0x1000;\nLAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;\njoined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;\n      break;\n    case 0x32:\n    case 0x70:\n    case 0xaa:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x3c:\n      local_b8 = 0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }\n      break;\n    case 0x3d:\n      local_b8 = 0;\nLAB_002c304d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }\n      break;\n    case 0x3e:\n      local_b8 = 0;\nLAB_002c3104:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - (param_11 & 0xfffffff8);\n      uVar36 = uVar20 >> 3;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar32 = uVar32 & 7;\njoined_r0x002c324e:\n      uVar17 = 3;\n      if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }\n      break;\n    case 0x3f:\n      local_b8 = 0;\nLAB_002c31c0:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - param_11;\n      uVar36 = uVar20 >> 2;\n      if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }\nLAB_002c1f30:\n      uVar17 = 0;\n      *(uint *)param_1 = uVar36;\n      break;\n    case 0x40:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case 0x41:\n      local_b8 = 0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }\n      if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      break;\n    case 0x8b:\n      local_b8 = 0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }\n      break;\n    case 0x8c:\n      local_b8 = 0;\nLAB_002c328d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;\n      uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);\n      break;\n    case 0x8d:\n      local_b8 = 0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);\n      break;\n    case 0xf8:\n      local_b8 = 0;\nLAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\njoined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;\nLAB_002c1fd0:\n      puVar34 = param_10;\nLAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;\nLAB_002c1fd6:\n      uVar17 = 0;\n    }" { (case_statement "default:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);\n      break;" default : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");" statement_identifier : (expression_statement "uVar22 = gettext("unsupported reloc %u");" (assignment_expression "uVar22 = gettext("unsupported reloc %u")" identifier = (call_expression "gettext("unsupported reloc %u")" identifier (argument_list "("unsupported reloc %u")" ( (string_literal ""unsupported reloc %u"" " string_content ") )))) ;)) (expression_statement "FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);" (call_expression "FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18)" identifier (argument_list "(param_2,param_6,iVar3,uVar22,uVar18)" ( identifier , identifier , identifier , identifier , identifier ))) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n      local_b8 = 0;\n      local_b0 = local_cc;\nLAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar14 != 0) goto LAB_002c1f30;\n      *(ushort *)param_10 = (ushort)uVar36;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (labeled_statement "LAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);" statement_identifier : (expression_statement "uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;)) (if_statement "if (bVar14 != 0) goto LAB_002c1f30;" if (parenthesized_expression "(bVar14 != 0)" ( (binary_expression "bVar14 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (expression_statement "*(ushort *)param_10 = (ushort)uVar36;" (assignment_expression "*(ushort *)param_10 = (ushort)uVar36" (pointer_expression "*(ushort *)param_10" * (cast_expression "(ushort *)param_10" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (cast_expression "(ushort)uVar36" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;) (expression_statement "uVar17 = (uint)(0xffff < uVar36 + 0x8000);" (assignment_expression "uVar17 = (uint)(0xffff < uVar36 + 0x8000)" identifier = (call_expression "(uint)(0xffff < uVar36 + 0x8000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffff < uVar36 + 0x8000)" ( (binary_expression "0xffff < uVar36 + 0x8000" number_literal < (binary_expression "uVar36 + 0x8000" identifier + number_literal)) )))) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);\n      if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }\n      if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);" statement_identifier : (expression_statement "cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);" (assignment_expression "cVar16 = FUN_0029fae0(param_8,2,param_5,param_4)" identifier = (call_expression "FUN_0029fae0(param_8,2,param_5,param_4)" identifier (argument_list "(param_8,2,param_5,param_4)" ( identifier , number_literal , identifier , identifier )))) ;)) (if_statement "if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }" if (parenthesized_expression "(cVar16 != '\0')" ( (binary_expression "cVar16 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }" { (expression_statement "cVar16 = *(char *)((long)param_1 + 4);" (assignment_expression "cVar16 = *(char *)((long)param_1 + 4)" identifier = (pointer_expression "*(char *)((long)param_1 + 4)" * (cast_expression "(char *)((long)param_1 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar18 = local_cc;" (assignment_expression "uVar18 = local_cc" identifier = identifier) ;) (if_statement "if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar18 = (uint)*param_10;\n        }" { (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) })) (expression_statement "uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);" (assignment_expression "uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,uVar18)" identifier (argument_list "(param_9,plVar6,uVar18)" ( identifier , identifier , identifier )))) ;) (if_statement "if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }" if (parenthesized_expression "(cVar16 == '\0')" ( (binary_expression "cVar16 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(uint *)param_10 = uVar18;" (assignment_expression "*(uint *)param_10 = uVar18" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (else_clause "else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }" else (compound_statement "{\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(uint *)param_1 = uVar18;" (assignment_expression "*(uint *)param_1 = uVar18" (pointer_expression "*(uint *)param_1" * (cast_expression "(uint *)param_1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }))) })) (if_statement "if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }" if (parenthesized_expression "(((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1))" ( (binary_expression "((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)" (parenthesized_expression "((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20))))" ( (binary_expression "(param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))" (parenthesized_expression "(param_8 != (undefined8 *)0x0)" ( (binary_expression "param_8 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))" ( (parenthesized_expression "(bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20))" ( (comma_expression "bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)" (assignment_expression "bVar42 = *(byte *)((long)param_8 + 0x39) >> 2" identifier = (binary_expression "*(byte *)((long)param_8 + 0x39) >> 2" (pointer_expression "*(byte *)((long)param_8 + 0x39)" * (cast_expression "(byte *)((long)param_8 + 0x39)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x39)" ( (binary_expression "(long)param_8 + 0x39" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) >> number_literal)) , (binary_expression "(bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)" (binary_expression "(bVar42 & 0x3c) == 0x3c" (parenthesized_expression "(bVar42 & 0x3c)" ( (binary_expression "bVar42 & 0x3c" identifier & number_literal) )) == number_literal) || (parenthesized_expression "((bVar42 & 0x30) == 0x20)" ( (binary_expression "(bVar42 & 0x30) == 0x20" (parenthesized_expression "(bVar42 & 0x30)" ( (binary_expression "bVar42 & 0x30" identifier & number_literal) )) == number_literal) )))) )) ))) )) && (parenthesized_expression "(*(int *)((long)param_8 + 0x5c) == 1)" ( (binary_expression "*(int *)((long)param_8 + 0x5c) == 1" (pointer_expression "*(int *)((long)param_8 + 0x5c)" * (cast_expression "(int *)((long)param_8 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x5c)" ( (binary_expression "(long)param_8 + 0x5c" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }" { (expression_statement "lVar31 = param_8[0xe];" (assignment_expression "lVar31 = param_8[0xe]" identifier = (subscript_expression "param_8[0xe]" identifier [ number_literal ])) ;) (if_statement "if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }" if (parenthesized_expression "(lVar31 != 0)" ( (binary_expression "lVar31 != 0" identifier != number_literal) )) (compound_statement "{\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }" { (if_statement "if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;" if (parenthesized_expression "(*(char *)(param_8 + 9) == '\0')" ( (binary_expression "*(char *)(param_8 + 9) == '\0'" (pointer_expression "*(char *)(param_8 + 9)" * (cast_expression "(char *)(param_8 + 9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 9)" ( (binary_expression "param_8 + 9" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002c473f;" goto statement_identifier ;)) (expression_statement "local_68 = FUN_00298370(lVar31,lVar31 + 8);" (assignment_expression "local_68 = FUN_00298370(lVar31,lVar31 + 8)" identifier = (call_expression "FUN_00298370(lVar31,lVar31 + 8)" identifier (argument_list "(lVar31,lVar31 + 8)" ( identifier , (binary_expression "lVar31 + 8" identifier + number_literal) )))) ;) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" identifier = identifier) ;) })) (expression_statement "local_e4 = *(uint *)(param_8 + 0xc);" (assignment_expression "local_e4 = *(uint *)(param_8 + 0xc)" identifier = (pointer_expression "*(uint *)(param_8 + 0xc)" * (cast_expression "(uint *)(param_8 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 0xc)" ( (binary_expression "param_8 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "puVar34 = *(ulong **)(param_4 + 0x20);" (assignment_expression "puVar34 = *(ulong **)(param_4 + 0x20)" identifier = (pointer_expression "*(ulong **)(param_4 + 0x20)" * (cast_expression "(ulong **)(param_4 + 0x20)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }" if (parenthesized_expression "(puVar34 == (ulong *)0x0)" ( (binary_expression "puVar34 == (ulong *)0x0" identifier == (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }" { (do_statement "do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);" do (compound_statement "{\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          }" { (expression_statement "uVar18 = FUN_00290940();" (assignment_expression "uVar18 = FUN_00290940()" identifier = (call_expression "FUN_00290940()" identifier (argument_list "()" ( )))) ;) (labeled_statement "LAB_002c2940:\n            *(uint *)puVar34 = uVar18;" statement_identifier : (expression_statement "*(uint *)puVar34 = uVar18;" (assignment_expression "*(uint *)puVar34 = uVar18" (pointer_expression "*(uint *)puVar34" * (cast_expression "(uint *)puVar34" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;)) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;" statement_identifier : (if_statement "if (local_cd == false) goto LAB_002c1e60;" if (parenthesized_expression "(local_cd == false)" ( (binary_expression "local_cd == false" identifier == false) )) (goto_statement "goto LAB_002c1e60;" goto statement_identifier ;))) (expression_statement "puVar34 = *(ulong **)(param_4 + 0x20);" (assignment_expression "puVar34 = *(ulong **)(param_4 + 0x20)" identifier = (pointer_expression "*(ulong **)(param_4 + 0x20)" * (cast_expression "(ulong **)(param_4 + 0x20)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(puVar34 == (ulong *)0x0)" ( (binary_expression "puVar34 == (ulong *)0x0" identifier == (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;" if (parenthesized_expression "(param_8 != (undefined8 *)0x0)" ( (binary_expression "param_8 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002c2967;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }" else (compound_statement "{\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }" { (labeled_statement "LAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }" statement_identifier : (if_statement "if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }" if (parenthesized_expression "(*(char *)(param_8 + 0x11) != '\0')" ( (binary_expression "*(char *)(param_8 + 0x11) != '\0'" (pointer_expression "*(char *)(param_8 + 0x11)" * (cast_expression "(char *)(param_8 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 0x11)" ( (binary_expression "param_8 + 0x11" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }" { (expression_statement "uVar19 = FUN_001a5ac0(param_9,plVar6,0);" (assignment_expression "uVar19 = FUN_001a5ac0(param_9,plVar6,0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,0)" identifier (argument_list "(param_9,plVar6,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }" if (parenthesized_expression "(*(int *)((long)param_8 + 0x5c) == 2)" ( (binary_expression "*(int *)((long)param_8 + 0x5c) == 2" (pointer_expression "*(int *)((long)param_8 + 0x5c)" * (cast_expression "(int *)((long)param_8 + 0x5c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x5c)" ( (binary_expression "(long)param_8 + 0x5c" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }" { (labeled_statement "LAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");" statement_identifier : (expression_statement "FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset")" identifier (argument_list "("../../gold/mips.cc",0x895,"get_primary_got_offset")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""get_primary_got_offset"" " string_content ") ))) ;)) })) (expression_statement "piVar7 = (int *)puVar34[0x1a];" (assignment_expression "piVar7 = (int *)puVar34[0x1a]" identifier = (cast_expression "(int *)puVar34[0x1a]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar34[0x1a]" identifier [ number_literal ]))) ;) (if_statement "if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }" if (parenthesized_expression "(piVar7 == (int *)0x0)" ( (binary_expression "piVar7 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }" { (expression_statement "iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];" (assignment_expression "iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19]" identifier = (binary_expression "((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19]" (subscript_expression "((int *)puVar34[0x19])[1]" (parenthesized_expression "((int *)puVar34[0x19])" ( (cast_expression "(int *)puVar34[0x19]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar34[0x19]" identifier [ number_literal ])) )) [ number_literal ]) + (pointer_expression "*(int *)puVar34[0x19]" * (cast_expression "(int *)puVar34[0x19]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar34[0x19]" identifier [ number_literal ]))))) ;) }) (else_clause "else {\n              iVar35 = piVar7[1] + *piVar7;\n            }" else (compound_statement "{\n              iVar35 = piVar7[1] + *piVar7;\n            }" { (expression_statement "iVar35 = piVar7[1] + *piVar7;" (assignment_expression "iVar35 = piVar7[1] + *piVar7" identifier = (binary_expression "piVar7[1] + *piVar7" (subscript_expression "piVar7[1]" identifier [ number_literal ]) + (pointer_expression "*piVar7" * identifier))) ;) }))) (if_statement "if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }" if (parenthesized_expression "(*(int *)(param_8 + 4) == 0)" ( (binary_expression "*(int *)(param_8 + 4) == 0" (pointer_expression "*(int *)(param_8 + 4)" * (cast_expression "(int *)(param_8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 4)" ( (binary_expression "param_8 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }" { (expression_statement "FUN_00290e30();" (call_expression "FUN_00290e30()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002c461d;" goto statement_identifier ;) })) (expression_statement "*(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;" (assignment_expression "*(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19" (pointer_expression "*(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3))" * (cast_expression "(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3))" ( (binary_expression "puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)" (subscript_expression "puVar34[0x17]" identifier [ number_literal ]) + (call_expression "(ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)" ( (binary_expression "((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3" (binary_expression "((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20" (parenthesized_expression "((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2)" ( (binary_expression "(*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2" (binary_expression "(*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35" (parenthesized_expression "(*(int *)(param_8 + 4) - (uint)puVar34[0x18])" ( (binary_expression "*(int *)(param_8 + 4) - (uint)puVar34[0x18]" (pointer_expression "*(int *)(param_8 + 4)" * (cast_expression "(int *)(param_8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 4)" ( (binary_expression "param_8 + 4" identifier + number_literal) )))) - (cast_expression "(uint)puVar34[0x18]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar34[0x18]" identifier [ number_literal ]))) )) + identifier) + number_literal) )) * number_literal) >> number_literal) )))) )))) = identifier) ;) (break_statement "break;" break ;) }))) }))) (expression_statement "uVar19 = FUN_001a5ac0(param_9,plVar6,0);" (assignment_expression "uVar19 = FUN_001a5ac0(param_9,plVar6,0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,0)" identifier (argument_list "(param_9,plVar6,0)" ( identifier , identifier , number_literal )))) ;) (expression_statement "*(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;" (assignment_expression "*(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19" (pointer_expression "*(undefined4 *)(puVar34[0x17] + (ulong)local_e4)" * (cast_expression "(undefined4 *)(puVar34[0x17] + (ulong)local_e4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34[0x17] + (ulong)local_e4)" ( (binary_expression "puVar34[0x17] + (ulong)local_e4" (subscript_expression "puVar34[0x17]" identifier [ number_literal ]) + (cast_expression "(ulong)local_e4" ( (type_descriptor "ulong" type_identifier) ) identifier)) )))) = identifier) ;) })) (break_statement "break;" break ;)) (case_statement "case 3:\nswitchD_002c14fa_caseD_3:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");" case number_literal : (labeled_statement "switchD_002c14fa_caseD_3:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");" statement_identifier : (expression_statement "FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate")" identifier (argument_list "("../../gold/mips.cc",0x2e62,"relocate")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""relocate"" " string_content ") ))) ;))) (case_statement "case 4:" case number_literal :) (case_statement "case 100:" case number_literal :) (case_statement "case 0x85:\n      local_b8 = 0;\n      bVar42 = (!bVar45 || !bVar48) & local_cf;\n      uVar17 = (uint)*param_10;\n      goto LAB_002c38d3;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (expression_statement "bVar42 = (!bVar45 || !bVar48) & local_cf;" (assignment_expression "bVar42 = (!bVar45 || !bVar48) & local_cf" identifier = (binary_expression "(!bVar45 || !bVar48) & local_cf" (parenthesized_expression "(!bVar45 || !bVar48)" ( (binary_expression "!bVar45 || !bVar48" (unary_expression "!bVar45" ! identifier) || (unary_expression "!bVar48" ! identifier)) )) & identifier)) ;) (expression_statement "uVar17 = (uint)*param_10;" (assignment_expression "uVar17 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (goto_statement "goto LAB_002c38d3;" goto statement_identifier ;)) (case_statement "case 5:" case number_literal :) (case_statement "case 0x68:" case number_literal :) (case_statement "case 0x86:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }" statement_identifier : (if_statement "if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }" if (parenthesized_expression "(param_3 == 4)" ( (binary_expression "param_3 == 4" identifier == number_literal) )) (compound_statement "{\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }" { (expression_statement "uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);" (assignment_expression "uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1)" identifier = (call_expression "FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1)" identifier (argument_list "(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , (binary_expression "local_b8 & 0xff" identifier & number_literal) , number_literal , identifier , identifier , identifier )))) ;) }) (else_clause "else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }" else (compound_statement "{\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }" { (if_statement "if (param_3 != 9) goto LAB_002c46ec;" if (parenthesized_expression "(param_3 != 9)" ( (binary_expression "param_3 != 9" identifier != number_literal) )) (goto_statement "goto LAB_002c46ec;" goto statement_identifier ;)) (expression_statement "lVar31 = FUN_0049cb70(0x40);" (assignment_expression "lVar31 = FUN_0049cb70(0x40)" identifier = (call_expression "FUN_0049cb70(0x40)" identifier (argument_list "(0x40)" ( number_literal )))) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(ulong **)(lVar31 + 0x10) = param_10;" (assignment_expression "*(ulong **)(lVar31 + 0x10) = param_10" (pointer_expression "*(ulong **)(lVar31 + 0x10)" * (cast_expression "(ulong **)(lVar31 + 0x10)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar31 + 0x10)" ( (binary_expression "lVar31 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(long **)(lVar31 + 0x18) = plVar6;" (assignment_expression "*(long **)(lVar31 + 0x18) = plVar6" (pointer_expression "*(long **)(lVar31 + 0x18)" * (cast_expression "(long **)(lVar31 + 0x18)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar31 + 0x18)" ( (binary_expression "lVar31 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 **)(lVar31 + 0x20) = param_9;" (assignment_expression "*(undefined8 **)(lVar31 + 0x20) = param_9" (pointer_expression "*(undefined8 **)(lVar31 + 0x20)" * (cast_expression "(undefined8 **)(lVar31 + 0x20)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar31 + 0x20)" ( (binary_expression "lVar31 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(lVar31 + 0x28) = local_cc;" (assignment_expression "*(uint *)(lVar31 + 0x28) = local_cc" (pointer_expression "*(uint *)(lVar31 + 0x28)" * (cast_expression "(uint *)(lVar31 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x28)" ( (binary_expression "lVar31 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(lVar31 + 0x2c) = uVar18;" (assignment_expression "*(uint *)(lVar31 + 0x2c) = uVar18" (pointer_expression "*(uint *)(lVar31 + 0x2c)" * (cast_expression "(uint *)(lVar31 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x2c)" ( (binary_expression "lVar31 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(lVar31 + 0x30) = uVar33;" (assignment_expression "*(uint *)(lVar31 + 0x30) = uVar33" (pointer_expression "*(uint *)(lVar31 + 0x30)" * (cast_expression "(uint *)(lVar31 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x30)" ( (binary_expression "lVar31 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char *)(lVar31 + 0x34) = (char)local_b8;" (assignment_expression "*(char *)(lVar31 + 0x34) = (char)local_b8" (pointer_expression "*(char *)(lVar31 + 0x34)" * (cast_expression "(char *)(lVar31 + 0x34)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x34)" ( (binary_expression "lVar31 + 0x34" identifier + number_literal) )))) = (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "*(uint *)(lVar31 + 0x38) = param_11;" (assignment_expression "*(uint *)(lVar31 + 0x38) = param_11" (pointer_expression "*(uint *)(lVar31 + 0x38)" * (cast_expression "(uint *)(lVar31 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x38)" ( (binary_expression "lVar31 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char *)(lVar31 + 0x3c) = cVar15;" (assignment_expression "*(char *)(lVar31 + 0x3c) = cVar15" (pointer_expression "*(char *)(lVar31 + 0x3c)" * (cast_expression "(char *)(lVar31 + 0x3c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x3c)" ( (binary_expression "lVar31 + 0x3c" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_004a11e0(lVar31,&DAT_0067dae0);" (call_expression "FUN_004a11e0(lVar31,&DAT_0067dae0)" identifier (argument_list "(lVar31,&DAT_0067dae0)" ( identifier , (pointer_expression "&DAT_0067dae0" & identifier) ))) ;) (expression_statement "_DAT_0067daf0 = _DAT_0067daf0 + 1;" (assignment_expression "_DAT_0067daf0 = _DAT_0067daf0 + 1" identifier = (binary_expression "_DAT_0067daf0 + 1" identifier + number_literal)) ;) })))) (break_statement "break;" break ;)) (case_statement "case 6:" case number_literal :) (case_statement "case 0x69:" case number_literal :) (case_statement "case 0x87:" case number_literal :) (case_statement "case 0x9d:\n      local_b8 = 0;\n      local_108 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }\n      if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\nLAB_002c1ebf:\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (expression_statement "local_108 = (uint)*param_10;" (assignment_expression "local_108 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (labeled_statement "LAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }" statement_identifier : (if_statement "if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }" if (parenthesized_expression "(param_3 == 9)" ( (binary_expression "param_3 == 9" identifier == number_literal) )) (compound_statement "{\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }" { (expression_statement "local_100 = DAT_0067dae0;" (assignment_expression "local_100 = DAT_0067dae0" identifier = identifier) ;) (if_statement "if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }" if (parenthesized_expression "((undefined8 **)DAT_0067dae0 != &DAT_0067dae0)" ( (binary_expression "(undefined8 **)DAT_0067dae0 != &DAT_0067dae0" (cast_expression "(undefined8 **)DAT_0067dae0" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != (pointer_expression "&DAT_0067dae0" & identifier)) )) (compound_statement "{\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }" { (do_statement "do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);" do (compound_statement "{\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          }" { (if_statement "if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }" if (parenthesized_expression "(uVar33 == *(uint *)(local_100 + 6))" ( (binary_expression "uVar33 == *(uint *)(local_100 + 6)" identifier == (pointer_expression "*(uint *)(local_100 + 6)" * (cast_expression "(uint *)(local_100 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + 6)" ( (binary_expression "local_100 + 6" identifier + number_literal) ))))) )) (compound_statement "{\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }" { (expression_statement "uVar19 = *(undefined4 *)((long)local_100 + 0x2c);" (assignment_expression "uVar19 = *(undefined4 *)((long)local_100 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)((long)local_100 + 0x2c)" * (cast_expression "(undefined4 *)((long)local_100 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_100 + 0x2c)" ( (binary_expression "(long)local_100 + 0x2c" (cast_expression "(long)local_100" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "cVar16 = FUN_0028cc00(uVar19,uVar18);" (assignment_expression "cVar16 = FUN_0028cc00(uVar19,uVar18)" identifier = (call_expression "FUN_0028cc00(uVar19,uVar18)" identifier (argument_list "(uVar19,uVar18)" ( identifier , identifier )))) ;) (if_statement "if (cVar16 == '\0') goto LAB_002c3ec8;" if (parenthesized_expression "(cVar16 == '\0')" ( (binary_expression "cVar16 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002c3ec8;" goto statement_identifier ;)) (expression_statement "uVar22 = local_100[2];" (assignment_expression "uVar22 = local_100[2]" identifier = (subscript_expression "local_100[2]" identifier [ number_literal ])) ;) (expression_statement "uVar23 = local_100[4];" (assignment_expression "uVar23 = local_100[4]" identifier = (subscript_expression "local_100[4]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = *(undefined4 *)(local_100 + 5);" (assignment_expression "uVar5 = *(undefined4 *)(local_100 + 5)" identifier = (pointer_expression "*(undefined4 *)(local_100 + 5)" * (cast_expression "(undefined4 *)(local_100 + 5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + 5)" ( (binary_expression "local_100 + 5" identifier + number_literal) ))))) ;) (expression_statement "uVar41 = local_100[3];" (assignment_expression "uVar41 = local_100[3]" identifier = (subscript_expression "local_100[3]" identifier [ number_literal ])) ;) (expression_statement "uVar4 = *(undefined4 *)(local_100 + 7);" (assignment_expression "uVar4 = *(undefined4 *)(local_100 + 7)" identifier = (pointer_expression "*(undefined4 *)(local_100 + 7)" * (cast_expression "(undefined4 *)(local_100 + 7)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + 7)" ( (binary_expression "local_100 + 7" identifier + number_literal) ))))) ;) (expression_statement "FUN_00293aa0(uVar22,uVar19);" (call_expression "FUN_00293aa0(uVar22,uVar19)" identifier (argument_list "(uVar22,uVar19)" ( identifier , identifier ))) ;) (expression_statement "uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);" (assignment_expression "uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4)" identifier = (call_expression "FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4)" identifier (argument_list "(uVar22,uVar41,uVar23,uVar5,uVar4)" ( identifier , identifier , identifier , identifier , identifier )))) ;) (expression_statement "FUN_00293140(uVar22,uVar19,0);" (call_expression "FUN_00293140(uVar22,uVar19,0)" identifier (argument_list "(uVar22,uVar19,0)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (uVar17 == 1) goto LAB_002c1e60;" if (parenthesized_expression "(uVar17 == 1)" ( (binary_expression "uVar17 == 1" identifier == number_literal) )) (goto_statement "goto LAB_002c1e60;" goto statement_identifier ;)) (expression_statement "puVar10 = (undefined8 *)*local_100;" (assignment_expression "puVar10 = (undefined8 *)*local_100" identifier = (cast_expression "(undefined8 *)*local_100" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_100" * identifier))) ;) (expression_statement "_DAT_0067daf0 = _DAT_0067daf0 + -1;" (assignment_expression "_DAT_0067daf0 = _DAT_0067daf0 + -1" identifier = (binary_expression "_DAT_0067daf0 + -1" identifier + number_literal)) ;) (expression_statement "FUN_004a1200(local_100);" (call_expression "FUN_004a1200(local_100)" identifier (argument_list "(local_100)" ( identifier ))) ;) (expression_statement "FUN_0049e340(local_100);" (call_expression "FUN_0049e340(local_100)" identifier (argument_list "(local_100)" ( identifier ))) ;) (expression_statement "local_100 = puVar10;" (assignment_expression "local_100 = puVar10" identifier = identifier) ;) }) (else_clause "else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }" else (compound_statement "{\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }" { (labeled_statement "LAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;" statement_identifier : (expression_statement "local_100 = (undefined8 *)*local_100;" (assignment_expression "local_100 = (undefined8 *)*local_100" identifier = (cast_expression "(undefined8 *)*local_100" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_100" * identifier))) ;)) }))) }) while (parenthesized_expression "((undefined8 **)local_100 != &DAT_0067dae0)" ( (binary_expression "(undefined8 **)local_100 != &DAT_0067dae0" (cast_expression "(undefined8 **)local_100" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != (pointer_expression "&DAT_0067dae0" & identifier)) )) ;) })) (expression_statement "local_100 = DAT_0067dac0;" (assignment_expression "local_100 = DAT_0067dac0" identifier = identifier) ;) (if_statement "if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }" if (parenthesized_expression "((undefined8 **)DAT_0067dac0 != &DAT_0067dac0)" ( (binary_expression "(undefined8 **)DAT_0067dac0 != &DAT_0067dac0" (cast_expression "(undefined8 **)DAT_0067dac0" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != (pointer_expression "&DAT_0067dac0" & identifier)) )) (compound_statement "{\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }" { (do_statement "do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);" do (compound_statement "{\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          }" { (if_statement "if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }" if (parenthesized_expression "(uVar33 == *(uint *)(local_100 + 6))" ( (binary_expression "uVar33 == *(uint *)(local_100 + 6)" identifier == (pointer_expression "*(uint *)(local_100 + 6)" * (cast_expression "(uint *)(local_100 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + 6)" ( (binary_expression "local_100 + 6" identifier + number_literal) ))))) )) (compound_statement "{\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }" { (expression_statement "uVar19 = *(undefined4 *)((long)local_100 + 0x2c);" (assignment_expression "uVar19 = *(undefined4 *)((long)local_100 + 0x2c)" identifier = (pointer_expression "*(undefined4 *)((long)local_100 + 0x2c)" * (cast_expression "(undefined4 *)((long)local_100 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_100 + 0x2c)" ( (binary_expression "(long)local_100 + 0x2c" (cast_expression "(long)local_100" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "cVar16 = FUN_0028cc00(uVar19,uVar18);" (assignment_expression "cVar16 = FUN_0028cc00(uVar19,uVar18)" identifier = (call_expression "FUN_0028cc00(uVar19,uVar18)" identifier (argument_list "(uVar19,uVar18)" ( identifier , identifier )))) ;) (if_statement "if (cVar16 == '\0') goto LAB_002c41a8;" if (parenthesized_expression "(cVar16 == '\0')" ( (binary_expression "cVar16 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002c41a8;" goto statement_identifier ;)) (expression_statement "uVar22 = local_100[2];" (assignment_expression "uVar22 = local_100[2]" identifier = (subscript_expression "local_100[2]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = *(undefined4 *)(local_100 + 5);" (assignment_expression "uVar5 = *(undefined4 *)(local_100 + 5)" identifier = (pointer_expression "*(undefined4 *)(local_100 + 5)" * (cast_expression "(undefined4 *)(local_100 + 5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_100 + 5)" ( (binary_expression "local_100 + 5" identifier + number_literal) ))))) ;) (expression_statement "uVar23 = local_100[3];" (assignment_expression "uVar23 = local_100[3]" identifier = (subscript_expression "local_100[3]" identifier [ number_literal ])) ;) (expression_statement "uVar41 = local_100[4];" (assignment_expression "uVar41 = local_100[4]" identifier = (subscript_expression "local_100[4]" identifier [ number_literal ])) ;) (expression_statement "uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);" (assignment_expression "uVar32 = (ulong)*(byte *)((long)local_100 + 0x34)" identifier = (binary_expression "(ulong)*(byte *)((long)local_100 + 0x34)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(byte *)((long)local_100 + 0x34)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_100 + 0x34)" ( (binary_expression "(long)local_100 + 0x34" (cast_expression "(long)local_100" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "FUN_00293aa0(uVar22,uVar19);" (call_expression "FUN_00293aa0(uVar22,uVar19)" identifier (argument_list "(uVar22,uVar19)" ( identifier , identifier ))) ;) (expression_statement "uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);" (assignment_expression "uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1)" identifier = (call_expression "FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1)" identifier (argument_list "(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1)" ( identifier , identifier , identifier , identifier , (binary_expression "uVar32 & 0xff" identifier & number_literal) , identifier , identifier , identifier , identifier )))) ;) (expression_statement "FUN_00293140(uVar22,uVar19,0);" (call_expression "FUN_00293140(uVar22,uVar19,0)" identifier (argument_list "(uVar22,uVar19,0)" ( identifier , identifier , number_literal ))) ;) (if_statement "if (uVar17 == 1) goto LAB_002c1e60;" if (parenthesized_expression "(uVar17 == 1)" ( (binary_expression "uVar17 == 1" identifier == number_literal) )) (goto_statement "goto LAB_002c1e60;" goto statement_identifier ;)) (expression_statement "puVar10 = (undefined8 *)*local_100;" (assignment_expression "puVar10 = (undefined8 *)*local_100" identifier = (cast_expression "(undefined8 *)*local_100" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_100" * identifier))) ;) (expression_statement "_DAT_0067dad0 = _DAT_0067dad0 + -1;" (assignment_expression "_DAT_0067dad0 = _DAT_0067dad0 + -1" identifier = (binary_expression "_DAT_0067dad0 + -1" identifier + number_literal)) ;) (expression_statement "FUN_004a1200(local_100);" (call_expression "FUN_004a1200(local_100)" identifier (argument_list "(local_100)" ( identifier ))) ;) (expression_statement "FUN_0049e340(local_100);" (call_expression "FUN_0049e340(local_100)" identifier (argument_list "(local_100)" ( identifier ))) ;) (expression_statement "local_100 = puVar10;" (assignment_expression "local_100 = puVar10" identifier = identifier) ;) }) (else_clause "else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }" else (compound_statement "{\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }" { (labeled_statement "LAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;" statement_identifier : (expression_statement "local_100 = (undefined8 *)*local_100;" (assignment_expression "local_100 = (undefined8 *)*local_100" identifier = (cast_expression "(undefined8 *)*local_100" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_100" * identifier))) ;)) }))) }) while (parenthesized_expression "((undefined8 **)local_100 != &DAT_0067dac0)" ( (binary_expression "(undefined8 **)local_100 != &DAT_0067dac0" (cast_expression "(undefined8 **)local_100" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != (pointer_expression "&DAT_0067dac0" & identifier)) )) ;) })) }))) (if_statement "if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }" if (parenthesized_expression "(cVar15 == '\0')" ( (binary_expression "cVar15 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }" { (expression_statement "uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) }) (else_clause "else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }" else (compound_statement "{\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }" { (expression_statement "lVar31 = *(long *)(param_4 + 0x28);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x28)" identifier = (pointer_expression "*(long *)(param_4 + 0x28)" * (cast_expression "(long *)(param_4 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x28)" ( (binary_expression "param_4 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }" if (parenthesized_expression "(uVar18 == 0x69)" ( (binary_expression "uVar18 == 0x69" identifier == number_literal) )) (compound_statement "{\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }" { (if_statement "if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar35 = 0;\n          }" { (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" else (compound_statement "{\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" { (expression_statement "iVar35 = *(int *)(lVar31 + 0x40);" (assignment_expression "iVar35 = *(int *)(lVar31 + 0x40)" identifier = (pointer_expression "*(int *)(lVar31 + 0x40)" * (cast_expression "(int *)(lVar31 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x40)" ( (binary_expression "lVar31 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }" if (parenthesized_expression "(((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0))" ( (binary_expression "((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)" (parenthesized_expression "((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))" ( (binary_expression "(*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" ( (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" ( (binary_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0" (pointer_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0)" * (cast_expression "(long *)(*(long *)(param_4 + 0x20) + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_4 + 0x20) + 0xd0)" ( (binary_expression "*(long *)(param_4 + 0x20) + 0xd0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "(plVar6[0x6e] != 0)" ( (binary_expression "plVar6[0x6e] != 0" (subscript_expression "plVar6[0x6e]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }" { (expression_statement "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);" (assignment_expression "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" identifier = (binary_expression "iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" identifier + (pointer_expression "*(int *)(plVar6[0x6e] + 0x10c)" * (cast_expression "(int *)(plVar6[0x6e] + 0x10c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6[0x6e] + 0x10c)" ( (binary_expression "plVar6[0x6e] + 0x10c" (subscript_expression "plVar6[0x6e]" identifier [ number_literal ]) + number_literal) )))))) ;) })) }))) (expression_statement "iVar35 = iVar35 - (param_11 & 0xfffffffc);" (assignment_expression "iVar35 = iVar35 - (param_11 & 0xfffffffc)" identifier = (binary_expression "iVar35 - (param_11 & 0xfffffffc)" identifier - (parenthesized_expression "(param_11 & 0xfffffffc)" ( (binary_expression "param_11 & 0xfffffffc" identifier & number_literal) )))) ;) }) (else_clause "else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }" else (if_statement "if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }" if (parenthesized_expression "((uVar18 == 0x87) || (uVar18 == 0x9d))" ( (binary_expression "(uVar18 == 0x87) || (uVar18 == 0x9d)" (parenthesized_expression "(uVar18 == 0x87)" ( (binary_expression "uVar18 == 0x87" identifier == number_literal) )) || (parenthesized_expression "(uVar18 == 0x9d)" ( (binary_expression "uVar18 == 0x9d" identifier == number_literal) ))) )) (compound_statement "{\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }" { (if_statement "if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar35 = 0;\n          }" { (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" else (compound_statement "{\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" { (expression_statement "iVar35 = *(int *)(lVar31 + 0x40);" (assignment_expression "iVar35 = *(int *)(lVar31 + 0x40)" identifier = (pointer_expression "*(int *)(lVar31 + 0x40)" * (cast_expression "(int *)(lVar31 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x40)" ( (binary_expression "lVar31 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }" if (parenthesized_expression "(((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0))" ( (binary_expression "((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)" (parenthesized_expression "((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))" ( (binary_expression "(*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" ( (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" ( (binary_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0" (pointer_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0)" * (cast_expression "(long *)(*(long *)(param_4 + 0x20) + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_4 + 0x20) + 0xd0)" ( (binary_expression "*(long *)(param_4 + 0x20) + 0xd0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "(plVar6[0x6e] != 0)" ( (binary_expression "plVar6[0x6e] != 0" (subscript_expression "plVar6[0x6e]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }" { (expression_statement "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);" (assignment_expression "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" identifier = (binary_expression "iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" identifier + (pointer_expression "*(int *)(plVar6[0x6e] + 0x10c)" * (cast_expression "(int *)(plVar6[0x6e] + 0x10c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6[0x6e] + 0x10c)" ( (binary_expression "plVar6[0x6e] + 0x10c" (subscript_expression "plVar6[0x6e]" identifier [ number_literal ]) + number_literal) )))))) ;) })) }))) (expression_statement "iVar35 = (iVar35 - param_11) + 3;" (assignment_expression "iVar35 = (iVar35 - param_11) + 3" identifier = (binary_expression "(iVar35 - param_11) + 3" (parenthesized_expression "(iVar35 - param_11)" ( (binary_expression "iVar35 - param_11" identifier - identifier) )) + number_literal)) ;) }) (else_clause "else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }" else (compound_statement "{\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }" { (if_statement "if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar35 = 0;\n          }" { (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" else (compound_statement "{\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" { (expression_statement "iVar35 = *(int *)(lVar31 + 0x40);" (assignment_expression "iVar35 = *(int *)(lVar31 + 0x40)" identifier = (pointer_expression "*(int *)(lVar31 + 0x40)" * (cast_expression "(int *)(lVar31 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x40)" ( (binary_expression "lVar31 + 0x40" identifier + number_literal) ))))) ;) (if_statement "if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }" if (parenthesized_expression "(((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0))" ( (binary_expression "((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)" (parenthesized_expression "((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))" ( (binary_expression "(*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" ( (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" ( (binary_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0" (pointer_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0)" * (cast_expression "(long *)(*(long *)(param_4 + 0x20) + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_4 + 0x20) + 0xd0)" ( (binary_expression "*(long *)(param_4 + 0x20) + 0xd0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "(plVar6[0x6e] != 0)" ( (binary_expression "plVar6[0x6e] != 0" (subscript_expression "plVar6[0x6e]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }" { (expression_statement "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);" (assignment_expression "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" identifier = (binary_expression "iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" identifier + (pointer_expression "*(int *)(plVar6[0x6e] + 0x10c)" * (cast_expression "(int *)(plVar6[0x6e] + 0x10c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6[0x6e] + 0x10c)" ( (binary_expression "plVar6[0x6e] + 0x10c" (subscript_expression "plVar6[0x6e]" identifier [ number_literal ]) + number_literal) )))))) ;) })) }))) (expression_statement "iVar35 = (iVar35 - param_11) + 4;" (assignment_expression "iVar35 = (iVar35 - param_11) + 4" identifier = (binary_expression "(iVar35 - param_11) + 4" (parenthesized_expression "(iVar35 - param_11)" ( (binary_expression "iVar35 - param_11" identifier - identifier) )) + number_literal)) ;) }))))) (expression_statement "uVar36 = iVar35 + local_b0;" (assignment_expression "uVar36 = iVar35 + local_b0" identifier = (binary_expression "iVar35 + local_b0" identifier + identifier)) ;) }))) (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (labeled_statement "LAB_002c1ebf:\n      uVar17 = 0;" statement_identifier : (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;)) (expression_statement "*(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;" (assignment_expression "*(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(uVar36 ^ local_108) & 0xffff ^ local_108" (binary_expression "(uVar36 ^ local_108) & 0xffff" (parenthesized_expression "(uVar36 ^ local_108)" ( (binary_expression "uVar36 ^ local_108" identifier ^ identifier) )) & number_literal) ^ identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 7:" case number_literal :) (case_statement "case 8:" case number_literal :) (case_statement "case 0x65:" case number_literal :) (case_statement "case 0x88:" case number_literal :) (case_statement "case 0x89:" case number_literal :) (case_statement "case 0xac:\n      lVar31 = *(long *)(param_4 + 0x28);\n      if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }\n      local_b8 = 0;\n      iVar35 = 0;\n      uVar17 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar21 - iVar35;\n      if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }\n      uVar20 = (uVar36 ^ uVar17) & 0xffff;\n      if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar17 ^ uVar20;\n      if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }\n      goto LAB_002c1fd6;" case number_literal : (expression_statement "lVar31 = *(long *)(param_4 + 0x28);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x28)" identifier = (pointer_expression "*(long *)(param_4 + 0x28)" * (cast_expression "(long *)(param_4 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x28)" ( (binary_expression "param_4 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }" if (parenthesized_expression "(lVar31 != 0)" ( (binary_expression "lVar31 != 0" identifier != number_literal) )) (compound_statement "{\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }" { (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);" statement_identifier : (expression_statement "iVar35 = *(int *)(lVar31 + 0x40);" (assignment_expression "iVar35 = *(int *)(lVar31 + 0x40)" identifier = (pointer_expression "*(int *)(lVar31 + 0x40)" * (cast_expression "(int *)(lVar31 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x40)" ( (binary_expression "lVar31 + 0x40" identifier + number_literal) ))))) ;)) (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (if_statement "if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }" if (parenthesized_expression "(((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0))" ( (binary_expression "((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)" (parenthesized_expression "((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))" ( (binary_expression "(*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" ( (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" ( (binary_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0" (pointer_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0)" * (cast_expression "(long *)(*(long *)(param_4 + 0x20) + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_4 + 0x20) + 0xd0)" ( (binary_expression "*(long *)(param_4 + 0x20) + 0xd0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "(plVar6[0x6e] != 0)" ( (binary_expression "plVar6[0x6e] != 0" (subscript_expression "plVar6[0x6e]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }" { (expression_statement "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);" (assignment_expression "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" identifier = (binary_expression "iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" identifier + (pointer_expression "*(int *)(plVar6[0x6e] + 0x10c)" * (cast_expression "(int *)(plVar6[0x6e] + 0x10c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6[0x6e] + 0x10c)" ( (binary_expression "plVar6[0x6e] + 0x10c" (subscript_expression "plVar6[0x6e]" identifier [ number_literal ]) + number_literal) )))))) ;) })) (goto_statement "goto LAB_002c3751;" goto statement_identifier ;) })) (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" identifier = number_literal) ;) (expression_statement "uVar17 = (uint)*param_10;" (assignment_expression "uVar17 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) (labeled_statement "LAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);" statement_identifier : (expression_statement "iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;)) (expression_statement "uVar36 = iVar21 - iVar35;" (assignment_expression "uVar36 = iVar21 - iVar35" identifier = (binary_expression "iVar21 - iVar35" identifier - identifier)) ;) (if_statement "if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }" if (parenthesized_expression "(param_8 == (undefined8 *)0x0)" ( (binary_expression "param_8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }" { (expression_statement "uVar36 = uVar36 + (int)plVar6[0x6d];" (assignment_expression "uVar36 = uVar36 + (int)plVar6[0x6d]" identifier = (binary_expression "uVar36 + (int)plVar6[0x6d]" identifier + (cast_expression "(int)plVar6[0x6d]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "plVar6[0x6d]" identifier [ number_literal ])))) ;) })) (expression_statement "uVar20 = (uVar36 ^ uVar17) & 0xffff;" (assignment_expression "uVar20 = (uVar36 ^ uVar17) & 0xffff" identifier = (binary_expression "(uVar36 ^ uVar17) & 0xffff" (parenthesized_expression "(uVar36 ^ uVar17)" ( (binary_expression "uVar36 ^ uVar17" identifier ^ identifier) )) & number_literal)) ;) (if_statement "if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }" if (parenthesized_expression "(uVar18 == 0xac)" ( (binary_expression "uVar18 == 0xac" identifier == number_literal) )) (compound_statement "{\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }" { (expression_statement "uVar20 = (uVar36 ^ uVar17) & 0x7f;" (assignment_expression "uVar20 = (uVar36 ^ uVar17) & 0x7f" identifier = (binary_expression "(uVar36 ^ uVar17) & 0x7f" (parenthesized_expression "(uVar36 ^ uVar17)" ( (binary_expression "uVar36 ^ uVar17" identifier ^ identifier) )) & number_literal)) ;) })) (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (expression_statement "*(uint *)param_10 = uVar17 ^ uVar20;" (assignment_expression "*(uint *)param_10 = uVar17 ^ uVar20" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar17 ^ uVar20" identifier ^ identifier)) ;) (if_statement "if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }" if (parenthesized_expression "(0xffff < uVar36 + 0x8000)" ( (binary_expression "0xffff < uVar36 + 0x8000" number_literal < (binary_expression "uVar36 + 0x8000" identifier + number_literal)) )) (compound_statement "{\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }" { (expression_statement "uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );" (assignment_expression "uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        )" identifier = (call_expression "gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        )" identifier (argument_list "(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        )" ( (string_literal ""small-data section exceeds 64KB; lower small-data size limit (see option -G)"" " string_content ") )))) ;) (expression_statement "FUN_0034a750(uVar22);" (call_expression "FUN_0034a750(uVar22)" identifier (argument_list "(uVar22)" ( identifier ))) ;) (goto_statement "goto LAB_002c3567;" goto statement_identifier ;) })) (goto_statement "goto LAB_002c1fd6;" goto statement_identifier ;)) (case_statement "case 9:" case number_literal :) (case_statement "case 0x66:" case number_literal :) (case_statement "case 0x8a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }" statement_identifier : (if_statement "if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }" if (parenthesized_expression "(param_8 == (undefined8 *)0x0)" ( (binary_expression "param_8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }" { (if_statement "if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }" if (parenthesized_expression "(param_3 == 4)" ( (binary_expression "param_3 == 4" identifier == number_literal) )) (compound_statement "{\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }" { (expression_statement "uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);" (assignment_expression "uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1)" identifier = (call_expression "FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1)" identifier (argument_list "(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1)" ( identifier , identifier , identifier , identifier , (binary_expression "local_b8 & 0xff" identifier & number_literal) , number_literal , identifier , identifier , identifier )))) ;) (goto_statement "goto LAB_002c2945;" goto statement_identifier ;) })) (if_statement "if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }" if (parenthesized_expression "(param_3 == 9)" ( (binary_expression "param_3 == 9" identifier == number_literal) )) (compound_statement "{\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }" { (expression_statement "lVar31 = FUN_0049cb70(0x40);" (assignment_expression "lVar31 = FUN_0049cb70(0x40)" identifier = (call_expression "FUN_0049cb70(0x40)" identifier (argument_list "(0x40)" ( number_literal )))) ;) (expression_statement "*(undefined1 *)(lVar31 + 0x3c) = 0;" (assignment_expression "*(undefined1 *)(lVar31 + 0x3c) = 0" (pointer_expression "*(undefined1 *)(lVar31 + 0x3c)" * (cast_expression "(undefined1 *)(lVar31 + 0x3c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x3c)" ( (binary_expression "lVar31 + 0x3c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(lVar31 + 0x38) = 0;" (assignment_expression "*(undefined4 *)(lVar31 + 0x38) = 0" (pointer_expression "*(undefined4 *)(lVar31 + 0x38)" * (cast_expression "(undefined4 *)(lVar31 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x38)" ( (binary_expression "lVar31 + 0x38" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(ulong **)(lVar31 + 0x10) = param_10;" (assignment_expression "*(ulong **)(lVar31 + 0x10) = param_10" (pointer_expression "*(ulong **)(lVar31 + 0x10)" * (cast_expression "(ulong **)(lVar31 + 0x10)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar31 + 0x10)" ( (binary_expression "lVar31 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(long **)(lVar31 + 0x18) = plVar6;" (assignment_expression "*(long **)(lVar31 + 0x18) = plVar6" (pointer_expression "*(long **)(lVar31 + 0x18)" * (cast_expression "(long **)(lVar31 + 0x18)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar31 + 0x18)" ( (binary_expression "lVar31 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 **)(lVar31 + 0x20) = param_9;" (assignment_expression "*(undefined8 **)(lVar31 + 0x20) = param_9" (pointer_expression "*(undefined8 **)(lVar31 + 0x20)" * (cast_expression "(undefined8 **)(lVar31 + 0x20)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar31 + 0x20)" ( (binary_expression "lVar31 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(lVar31 + 0x28) = local_cc;" (assignment_expression "*(uint *)(lVar31 + 0x28) = local_cc" (pointer_expression "*(uint *)(lVar31 + 0x28)" * (cast_expression "(uint *)(lVar31 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x28)" ( (binary_expression "lVar31 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(lVar31 + 0x2c) = uVar18;" (assignment_expression "*(uint *)(lVar31 + 0x2c) = uVar18" (pointer_expression "*(uint *)(lVar31 + 0x2c)" * (cast_expression "(uint *)(lVar31 + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x2c)" ( (binary_expression "lVar31 + 0x2c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(lVar31 + 0x30) = uVar33;" (assignment_expression "*(uint *)(lVar31 + 0x30) = uVar33" (pointer_expression "*(uint *)(lVar31 + 0x30)" * (cast_expression "(uint *)(lVar31 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x30)" ( (binary_expression "lVar31 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char *)(lVar31 + 0x34) = (char)local_b8;" (assignment_expression "*(char *)(lVar31 + 0x34) = (char)local_b8" (pointer_expression "*(char *)(lVar31 + 0x34)" * (cast_expression "(char *)(lVar31 + 0x34)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x34)" ( (binary_expression "lVar31 + 0x34" identifier + number_literal) )))) = (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "FUN_004a11e0(lVar31,&DAT_0067dac0);" (call_expression "FUN_004a11e0(lVar31,&DAT_0067dac0)" identifier (argument_list "(lVar31,&DAT_0067dac0)" ( identifier , (pointer_expression "&DAT_0067dac0" & identifier) ))) ;) (expression_statement "_DAT_0067dad0 = _DAT_0067dad0 + 1;" (assignment_expression "_DAT_0067dad0 = _DAT_0067dad0 + 1" identifier = (binary_expression "_DAT_0067dad0 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_002c2945;" goto statement_identifier ;) })) (expression_statement "FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate")" identifier (argument_list "("../../gold/mips.cc",0x2f66,"relocate")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""relocate"" " string_content ") ))) ;) }))) (if_statement "if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }" if (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" ( (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }" { (expression_statement "local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);" (assignment_expression "local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6)" identifier = (call_expression "FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6)" identifier (argument_list "(*(long *)(param_4 + 0x20),param_8,0,plVar6)" ( (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) , identifier , number_literal , identifier )))) ;) (if_statement "if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }" if (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" ( (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }" { (expression_statement "uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);" (assignment_expression "uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" identifier = (call_expression "FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" identifier (argument_list "(*(long *)(param_4 + 0x20),local_e4,plVar6)" ( (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) , identifier , identifier )))) ;) (if_statement "if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;" if (parenthesized_expression "(*(char *)((long)param_1 + 4) != '\0')" ( (binary_expression "*(char *)((long)param_1 + 4) != '\0'" (pointer_expression "*(char *)((long)param_1 + 4)" * (cast_expression "(char *)((long)param_1 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002c2940;" goto statement_identifier ;)) (expression_statement "uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;" (assignment_expression "uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10" identifier = (binary_expression "((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10" (binary_expression "((uint)*param_10 ^ uVar18) & 0xffff" (parenthesized_expression "((uint)*param_10 ^ uVar18)" ( (binary_expression "(uint)*param_10 ^ uVar18" (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier) ^ identifier) )) & number_literal) ^ (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier))) ;) (labeled_statement "LAB_002c27a6:\n          *(uint *)param_10 = uVar17;" statement_identifier : (expression_statement "*(uint *)param_10 = uVar17;" (assignment_expression "*(uint *)param_10 = uVar17" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;)) (expression_statement "uVar17 = (uint)(0xffff < uVar18 + 0x8000);" (assignment_expression "uVar17 = (uint)(0xffff < uVar18 + 0x8000)" identifier = (call_expression "(uint)(0xffff < uVar18 + 0x8000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffff < uVar18 + 0x8000)" ( (binary_expression "0xffff < uVar18 + 0x8000" number_literal < (binary_expression "uVar18 + 0x8000" identifier + number_literal)) )))) ;) (goto_statement "goto LAB_002c2945;" goto statement_identifier ;) })) (goto_statement "goto LAB_002c4797;" goto statement_identifier ;) })) (goto_statement "goto LAB_002c479c;" goto statement_identifier ;)) (case_statement "case 10:\n      local_b8 = 0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c2e45:\n      local_cc = local_b0;" statement_identifier : (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" identifier = identifier) ;)) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" { (expression_statement "uVar17 = uVar18 * 4 & 0x3fffc;" (assignment_expression "uVar17 = uVar18 * 4 & 0x3fffc" identifier = (binary_expression "uVar18 * 4 & 0x3fffc" (binary_expression "uVar18 * 4" identifier * number_literal) & number_literal)) ;) (expression_statement "local_b0 = uVar17 - 0x40000;" (assignment_expression "local_b0 = uVar17 - 0x40000" identifier = (binary_expression "uVar17 - 0x40000" identifier - number_literal)) ;) (if_statement "if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }" if (parenthesized_expression "((uVar18 * 4 & 0x20000) == 0)" ( (binary_expression "(uVar18 * 4 & 0x20000) == 0" (parenthesized_expression "(uVar18 * 4 & 0x20000)" ( (binary_expression "uVar18 * 4 & 0x20000" (binary_expression "uVar18 * 4" identifier * number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar17;\n        }" { (expression_statement "local_b0 = uVar17;" (assignment_expression "local_b0 = uVar17" identifier = identifier) ;) })) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar35 - param_11 >> 2;" (assignment_expression "uVar36 = iVar35 - param_11 >> 2" identifier = (binary_expression "iVar35 - param_11 >> 2" (binary_expression "iVar35 - param_11" identifier - identifier) >> number_literal)) ;) (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (expression_statement "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;" (assignment_expression "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar18 ^ (uVar36 ^ uVar18) & 0xffff" identifier ^ (binary_expression "(uVar36 ^ uVar18) & 0xffff" (parenthesized_expression "(uVar36 ^ uVar18)" ( (binary_expression "uVar36 ^ uVar18" identifier ^ identifier) )) & number_literal))) ;) (expression_statement "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar17 = 3;" (assignment_expression "uVar17 = 3" identifier = number_literal) ;) (if_statement "if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }" if (parenthesized_expression "((uVar32 & 3) == 0)" ( (binary_expression "(uVar32 & 3) == 0" (parenthesized_expression "(uVar32 & 3)" ( (binary_expression "uVar32 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }" { (expression_statement "uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);" (assignment_expression "uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000)" identifier = (call_expression "(uint)(0x3ffff < (iVar35 - param_11) + 0x20000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x3ffff < (iVar35 - param_11) + 0x20000)" ( (binary_expression "0x3ffff < (iVar35 - param_11) + 0x20000" number_literal < (binary_expression "(iVar35 - param_11) + 0x20000" (parenthesized_expression "(iVar35 - param_11)" ( (binary_expression "iVar35 - param_11" identifier - identifier) )) + number_literal)) )))) ;) })) (break_statement "break;" break ;)) (case_statement "case 0xb:" case number_literal :) (case_statement "case 0x67:" case number_literal :) (case_statement "case 0x8e:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }" statement_identifier : (if_statement "if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }" if (parenthesized_expression "(param_8 == (undefined8 *)0x0)" ( (binary_expression "param_8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002c467a:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }" { (labeled_statement "LAB_002c467a:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");" statement_identifier : (expression_statement "FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate")" identifier (argument_list "("../../gold/mips.cc",0x2f3d,"relocate")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""relocate"" " string_content ") ))) ;)) }))) (if_statement "if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }" if (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" ( (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }" { (expression_statement "local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);" (assignment_expression "local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6)" identifier = (call_expression "FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6)" identifier (argument_list "(*(long *)(param_4 + 0x20),param_8,0,plVar6)" ( (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) , identifier , number_literal , identifier )))) ;) (if_statement "if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }" if (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" ( (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }" { (expression_statement "uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);" (assignment_expression "uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" identifier = (call_expression "FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" identifier (argument_list "(*(long *)(param_4 + 0x20),local_e4,plVar6)" ( (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) , identifier , identifier )))) ;) (if_statement "if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;" if (parenthesized_expression "(*(char *)((long)param_1 + 4) != '\0')" ( (binary_expression "*(char *)((long)param_1 + 4) != '\0'" (pointer_expression "*(char *)((long)param_1 + 4)" * (cast_expression "(char *)((long)param_1 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002c2940;" goto statement_identifier ;)) (expression_statement "uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;" (assignment_expression "uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10" identifier = (binary_expression "((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10" (binary_expression "((uint)*param_10 ^ uVar18) & 0xffff" (parenthesized_expression "((uint)*param_10 ^ uVar18)" ( (binary_expression "(uint)*param_10 ^ uVar18" (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier) ^ identifier) )) & number_literal) ^ (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier))) ;) (goto_statement "goto LAB_002c27a6;" goto statement_identifier ;) })) (goto_statement "goto LAB_002c4735;" goto statement_identifier ;) })) (goto_statement "goto LAB_002c473a;" goto statement_identifier ;)) (case_statement "case 0xc:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);\n      goto joined_r0x002c327b;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }" statement_identifier : (if_statement "if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }" if (parenthesized_expression "(*(long *)(param_4 + 0x28) == 0)" ( (binary_expression "*(long *)(param_4 + 0x28) == 0" (pointer_expression "*(long *)(param_4 + 0x28)" * (cast_expression "(long *)(param_4 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x28)" ( (binary_expression "param_4 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        iVar35 = 0;\n      }" { (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }" else (compound_statement "{\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }" { (expression_statement "iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);" (assignment_expression "iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40)" identifier = (pointer_expression "*(int *)(*(long *)(param_4 + 0x28) + 0x40)" * (cast_expression "(int *)(*(long *)(param_4 + 0x28) + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_4 + 0x28) + 0x40)" ( (binary_expression "*(long *)(param_4 + 0x28) + 0x40" (pointer_expression "*(long *)(param_4 + 0x28)" * (cast_expression "(long *)(param_4 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x28)" ( (binary_expression "param_4 + 0x28" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }" if (parenthesized_expression "(((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0))" ( (binary_expression "((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)" (parenthesized_expression "((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))" ( (binary_expression "(*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" ( (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" ( (binary_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0" (pointer_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0)" * (cast_expression "(long *)(*(long *)(param_4 + 0x20) + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_4 + 0x20) + 0xd0)" ( (binary_expression "*(long *)(param_4 + 0x20) + 0xd0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) + number_literal) )))) != number_literal) ))) )) && (parenthesized_expression "(plVar6[0x6e] != 0)" ( (binary_expression "plVar6[0x6e] != 0" (subscript_expression "plVar6[0x6e]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }" { (expression_statement "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);" (assignment_expression "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" identifier = (binary_expression "iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" identifier + (pointer_expression "*(int *)(plVar6[0x6e] + 0x10c)" * (cast_expression "(int *)(plVar6[0x6e] + 0x10c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6[0x6e] + 0x10c)" ( (binary_expression "plVar6[0x6e] + 0x10c" (subscript_expression "plVar6[0x6e]" identifier [ number_literal ]) + number_literal) )))))) ;) })) })))) (expression_statement "uVar18 = local_cc;" (assignment_expression "uVar18 = local_cc" identifier = identifier) ;) (if_statement "if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar18 = (uint)*param_10;\n      }" { (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) })) (expression_statement "iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);" (assignment_expression "iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,uVar18)" identifier (argument_list "(param_9,plVar6,uVar18)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);" (assignment_expression "uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35)" identifier = (binary_expression "iVar21 + ((int)plVar6[0x6d] - iVar35)" identifier + (parenthesized_expression "((int)plVar6[0x6d] - iVar35)" ( (binary_expression "(int)plVar6[0x6d] - iVar35" (cast_expression "(int)plVar6[0x6d]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "plVar6[0x6d]" identifier [ number_literal ])) - identifier) )))) ;) (goto_statement "goto joined_r0x002c327b;" goto statement_identifier ;)) (case_statement "case 0x12:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);\n      if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);" statement_identifier : (expression_statement "cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);" (assignment_expression "cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4)" identifier = (call_expression "FUN_0029fae0(param_8,0x12,param_5,param_4)" identifier (argument_list "(param_8,0x12,param_5,param_4)" ( identifier , number_literal , identifier , identifier )))) ;)) (if_statement "if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }" if (parenthesized_expression "(cVar16 != '\0')" ( (binary_expression "cVar16 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }" { (expression_statement "bVar14 = *(byte *)((long)param_1 + 4);" (assignment_expression "bVar14 = *(byte *)((long)param_1 + 4)" identifier = (pointer_expression "*(byte *)((long)param_1 + 4)" * (cast_expression "(byte *)((long)param_1 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar18 = local_cc;" (assignment_expression "uVar18 = local_cc" identifier = identifier) ;) (if_statement "if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar18 = (uint)*param_10;\n        }" { (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) })) (goto_statement "goto LAB_002c2f02;" goto statement_identifier ;) })) (break_statement "break;" break ;)) (case_statement "case 0x13:" case number_literal :) (case_statement "case 0x91:" case number_literal :) (case_statement "case 0xf9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }\n      if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }\n      local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n      if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }\n      if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;\n      goto LAB_002c1fd4;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);" statement_identifier : (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" identifier = (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) ))))) ;)) (if_statement "if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }" if (parenthesized_expression "(param_8 != (undefined8 *)0x0)" ( (binary_expression "param_8 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }" { (if_statement "if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }" if (parenthesized_expression "(lVar31 != 0)" ( (binary_expression "lVar31 != 0" identifier != number_literal) )) (compound_statement "{\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }" { (expression_statement "local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);" (assignment_expression "local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6)" identifier = (call_expression "FUN_0029b9e0(lVar31,param_8,0,plVar6)" identifier (argument_list "(lVar31,param_8,0,plVar6)" ( identifier , identifier , number_literal , identifier )))) ;) (goto_statement "goto LAB_002c252a;" goto statement_identifier ;) })) (labeled_statement "LAB_002c4721:\n        FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c4726:\n        FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c472b:\n        FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (goto_statement "goto LAB_002c4730;" goto statement_identifier ;) })) (if_statement "if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n        FUN_00290940();\n        goto LAB_002c4792;\n      }" { (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002c4792;" goto statement_identifier ;) })) (expression_statement "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);" (assignment_expression "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc)" identifier = (call_expression "(**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc)" (parenthesized_expression "(**(code **)(*plVar6 + 0x160))" ( (pointer_expression "**(code **)(*plVar6 + 0x160)" * (pointer_expression "*(code **)(*plVar6 + 0x160)" * (cast_expression "(code **)(*plVar6 + 0x160)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x160)" ( (binary_expression "*plVar6 + 0x160" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) )) (argument_list "(plVar6,uVar33,0,(long)(int)local_cc)" ( identifier , identifier , number_literal , (cast_expression "(long)(int)local_cc" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (labeled_statement "LAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }" statement_identifier : (if_statement "if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }" if (parenthesized_expression "(*(long *)(param_4 + 0x20) == 0)" ( (binary_expression "*(long *)(param_4 + 0x20) == 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        FUN_00290940();\n        goto LAB_002c4721;\n      }" { (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002c4721;" goto statement_identifier ;) }))) (expression_statement "uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);" (assignment_expression "uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" identifier = (call_expression "FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" identifier (argument_list "(*(long *)(param_4 + 0x20),local_e4,plVar6)" ( (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) , identifier , identifier )))) ;) (if_statement "if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }" if (parenthesized_expression "(uVar18 != 0xf9)" ( (binary_expression "uVar18 != 0xf9" identifier != number_literal) )) (compound_statement "{\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }" { (if_statement "if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }" if (parenthesized_expression "(*(char *)((long)param_1 + 4) == '\0')" ( (binary_expression "*(char *)((long)param_1 + 4) == '\0'" (pointer_expression "*(char *)((long)param_1 + 4)" * (cast_expression "(char *)((long)param_1 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }" { (expression_statement "uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;" (assignment_expression "uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10" identifier = (binary_expression "(uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10" (binary_expression "(uVar36 ^ (uint)*param_10) & 0xffff" (parenthesized_expression "(uVar36 ^ (uint)*param_10)" ( (binary_expression "uVar36 ^ (uint)*param_10" identifier ^ (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) )) & number_literal) ^ (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier))) ;) (goto_statement "goto LAB_002c2590;" goto statement_identifier ;) })) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;) })) (if_statement "if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;" if (parenthesized_expression "(*(char *)((long)param_1 + 4) == '\0')" ( (binary_expression "*(char *)((long)param_1 + 4) == '\0'" (pointer_expression "*(char *)((long)param_1 + 4)" * (cast_expression "(char *)((long)param_1 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002c1fd0;" goto statement_identifier ;)) (goto_statement "goto LAB_002c1fd4;" goto statement_identifier ;)) (case_statement "case 0x14:" case number_literal :) (case_statement "case 0x92:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) goto LAB_002c4726;\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }\n      if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }\n      uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);\n      if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;\n      goto LAB_002c2590;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;" statement_identifier : (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;)) (expression_statement "uVar17 = uVar18 & 0xffff;" (assignment_expression "uVar17 = uVar18 & 0xffff" identifier = (binary_expression "uVar18 & 0xffff" identifier & number_literal)) ;) (if_statement "if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }" if (parenthesized_expression "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar17 = local_cc;\n      }" { (expression_statement "uVar17 = local_cc;" (assignment_expression "uVar17 = local_cc" identifier = identifier) ;) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,uVar17)" identifier (argument_list "(param_9,plVar6,uVar17)" ( identifier , identifier , identifier )))) ;) (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" identifier = (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (lVar31 == 0) goto LAB_002c4726;" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002c4726;" goto statement_identifier ;)) (if_statement "if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }" if (parenthesized_expression "(*(long *)(lVar31 + 0xd0) == 0)" ( (binary_expression "*(long *)(lVar31 + 0xd0) == 0" (pointer_expression "*(long *)(lVar31 + 0xd0)" * (cast_expression "(long *)(lVar31 + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0xd0)" ( (binary_expression "lVar31 + 0xd0" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        lVar31 = *(long *)(lVar31 + 200);\n      }" { (expression_statement "lVar31 = *(long *)(lVar31 + 200);" (assignment_expression "lVar31 = *(long *)(lVar31 + 200)" identifier = (pointer_expression "*(long *)(lVar31 + 200)" * (cast_expression "(long *)(lVar31 + 200)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 200)" ( (binary_expression "lVar31 + 200" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        lVar31 = plVar6[0x6e];\n      }" else (compound_statement "{\n        lVar31 = plVar6[0x6e];\n      }" { (expression_statement "lVar31 = plVar6[0x6e];" (assignment_expression "lVar31 = plVar6[0x6e]" identifier = (subscript_expression "plVar6[0x6e]" identifier [ number_literal ])) ;) }))) (if_statement "if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }" { (labeled_statement "LAB_002c4761:\n        FUN_00293350();" statement_identifier : (expression_statement "FUN_00293350();" (call_expression "FUN_00293350()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c4766:\n        FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (goto_statement "goto LAB_002c476b;" goto statement_identifier ;) })) (expression_statement "uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);" (assignment_expression "uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10)" identifier = (call_expression "FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10)" identifier (argument_list "(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10)" ( identifier , (binary_expression "(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10" (call_expression "(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10)" (call_expression "(ulong)(ushort)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(ushort)" ( identifier ))) (argument_list "((uint)(iVar35 + 0x8000) >> 0x10)" ( (binary_expression "(uint)(iVar35 + 0x8000) >> 0x10" (call_expression "(uint)(iVar35 + 0x8000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar35 + 0x8000)" ( (binary_expression "iVar35 + 0x8000" identifier + number_literal) ))) >> number_literal) ))) << number_literal) )))) ;) (if_statement "if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;" if (parenthesized_expression "(*(long *)(param_4 + 0x20) == 0)" ( (binary_expression "*(long *)(param_4 + 0x20) == 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_002c475c;" goto statement_identifier ;)) (expression_statement "uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);" (assignment_expression "uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6)" identifier = (call_expression "FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6)" identifier (argument_list "(*(long *)(param_4 + 0x20),uVar19,plVar6)" ( (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) , identifier , identifier )))) ;) (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (expression_statement "uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;" (assignment_expression "uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18" identifier = (binary_expression "(uVar18 ^ uVar36) & 0xffff ^ uVar18" (binary_expression "(uVar18 ^ uVar36) & 0xffff" (parenthesized_expression "(uVar18 ^ uVar36)" ( (binary_expression "uVar18 ^ uVar36" identifier ^ identifier) )) & number_literal) ^ identifier)) ;) (goto_statement "goto LAB_002c2590;" goto statement_identifier ;)) (case_statement "case 0x15:" case number_literal :) (case_statement "case 0x93:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;\n      local_b0 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }\n      if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;" statement_identifier : (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;)) (expression_statement "local_b0 = uVar18 & 0xffff;" (assignment_expression "local_b0 = uVar18 & 0xffff" identifier = (binary_expression "uVar18 & 0xffff" identifier & number_literal)) ;) (if_statement "if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }" if (parenthesized_expression "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_b0 = local_cc;\n      }" { (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" identifier = identifier) ;) })) (if_statement "if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }" if (parenthesized_expression "(local_ce != 0)" ( (binary_expression "local_ce != 0" identifier != number_literal) )) (compound_statement "{\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }" { (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;" (assignment_expression "lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10" identifier = (binary_expression "(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10" (call_expression "(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10)" (call_expression "(ulong)(ushort)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(ushort)" ( identifier ))) (argument_list "((uint)(iVar35 + 0x8000) >> 0x10)" ( (binary_expression "(uint)(iVar35 + 0x8000) >> 0x10" (call_expression "(uint)(iVar35 + 0x8000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar35 + 0x8000)" ( (binary_expression "iVar35 + 0x8000" identifier + number_literal) ))) >> number_literal) ))) << number_literal)) ;) (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" identifier = (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_00290940();\n          goto LAB_002c463a;\n        }" { (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002c463a;" goto statement_identifier ;) })) (if_statement "if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }" if (parenthesized_expression "(*(long *)(lVar31 + 0xd0) == 0)" ( (binary_expression "*(long *)(lVar31 + 0xd0) == 0" (pointer_expression "*(long *)(lVar31 + 0xd0)" * (cast_expression "(long *)(lVar31 + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0xd0)" ( (binary_expression "lVar31 + 0xd0" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          lVar31 = *(long *)(lVar31 + 200);\n        }" { (expression_statement "lVar31 = *(long *)(lVar31 + 200);" (assignment_expression "lVar31 = *(long *)(lVar31 + 200)" identifier = (pointer_expression "*(long *)(lVar31 + 200)" * (cast_expression "(long *)(lVar31 + 200)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 200)" ( (binary_expression "lVar31 + 200" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          lVar31 = plVar6[0x6e];\n        }" else (compound_statement "{\n          lVar31 = plVar6[0x6e];\n        }" { (expression_statement "lVar31 = plVar6[0x6e];" (assignment_expression "lVar31 = plVar6[0x6e]" identifier = (subscript_expression "plVar6[0x6e]" identifier [ number_literal ])) ;) }))) (if_statement "if (lVar31 == 0) goto LAB_002c463f;" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002c463f;" goto statement_identifier ;)) (expression_statement "FUN_002c0d60(lVar31,lVar25);" (call_expression "FUN_002c0d60(lVar31,lVar25)" identifier (argument_list "(lVar31,lVar25)" ( identifier , identifier ))) ;) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "local_b0 = iVar35 - (int)lVar25;" (assignment_expression "local_b0 = iVar35 - (int)lVar25" identifier = (binary_expression "iVar35 - (int)lVar25" identifier - (cast_expression "(int)lVar25" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (if_statement "if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (compound_statement "{\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(uint *)param_1 = local_b0;" (assignment_expression "*(uint *)param_1 = local_b0" (pointer_expression "*(uint *)param_1" * (cast_expression "(uint *)param_1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (else_clause "else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }" else (compound_statement "{\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }" { (expression_statement "*(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;" (assignment_expression "*(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(uVar18 ^ local_b0) & 0xffff ^ uVar18" (binary_expression "(uVar18 ^ local_b0) & 0xffff" (parenthesized_expression "(uVar18 ^ local_b0)" ( (binary_expression "uVar18 ^ local_b0" identifier ^ identifier) )) & number_literal) ^ identifier)) ;) (expression_statement "uVar17 = (uint)(0xffff < local_b0 + 0x8000);" (assignment_expression "uVar17 = (uint)(0xffff < local_b0 + 0x8000)" identifier = (call_expression "(uint)(0xffff < local_b0 + 0x8000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffff < local_b0 + 0x8000)" ( (binary_expression "0xffff < local_b0 + 0x8000" number_literal < (binary_expression "local_b0 + 0x8000" identifier + number_literal)) )))) ;) }))) (break_statement "break;" break ;)) (case_statement "case 0x16:" case number_literal :) (case_statement "case 0x1e:" case number_literal :) (case_statement "case 0x94:" case number_literal :) (case_statement "case 0x99:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }\n      goto LAB_002c46d8;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);" statement_identifier : (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" identifier = (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) ))))) ;)) (if_statement "if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }" if (parenthesized_expression "(param_8 != (undefined8 *)0x0)" ( (binary_expression "param_8 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }" { (if_statement "if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }" if (parenthesized_expression "(lVar31 != 0)" ( (binary_expression "lVar31 != 0" identifier != number_literal) )) (compound_statement "{\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }" { (expression_statement "local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);" (assignment_expression "local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6)" identifier = (call_expression "FUN_0029b9e0(lVar31,param_8,0,plVar6)" identifier (argument_list "(lVar31,param_8,0,plVar6)" ( identifier , identifier , number_literal , identifier )))) ;) (goto_statement "goto LAB_002c2378;" goto statement_identifier ;) })) (labeled_statement "LAB_002c4730:\n        FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c4735:\n        FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c473a:\n        FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c473f:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");" statement_identifier : (expression_statement "FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate")" identifier (argument_list "("../../gold/mips.cc",0x2e46,"relocate")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""relocate"" " string_content ") ))) ;)) })) (if_statement "if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }" if (parenthesized_expression "(lVar31 != 0)" ( (binary_expression "lVar31 != 0" identifier != number_literal) )) (compound_statement "{\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }" { (expression_statement "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);" (assignment_expression "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc)" identifier = (call_expression "(**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc)" (parenthesized_expression "(**(code **)(*plVar6 + 0x160))" ( (pointer_expression "**(code **)(*plVar6 + 0x160)" * (pointer_expression "*(code **)(*plVar6 + 0x160)" * (cast_expression "(code **)(*plVar6 + 0x160)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x160)" ( (binary_expression "*plVar6 + 0x160" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) )) (argument_list "(plVar6,uVar33,0,(long)(int)local_cc)" ( identifier , identifier , number_literal , (cast_expression "(long)(int)local_cc" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (labeled_statement "LAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }" statement_identifier : (if_statement "if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }" if (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" ( (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }" { (expression_statement "iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);" (assignment_expression "iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" identifier = (call_expression "FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" identifier (argument_list "(*(long *)(param_4 + 0x20),local_e4,plVar6)" ( (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) , identifier , identifier )))) ;) (expression_statement "uVar18 = iVar35 + 0x8000U >> 0x10;" (assignment_expression "uVar18 = iVar35 + 0x8000U >> 0x10" identifier = (binary_expression "iVar35 + 0x8000U >> 0x10" (binary_expression "iVar35 + 0x8000U" identifier + number_literal) >> number_literal)) ;) (if_statement "if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;" if (parenthesized_expression "(*(char *)((long)param_1 + 4) != '\0')" ( (binary_expression "*(char *)((long)param_1 + 4) != '\0'" (pointer_expression "*(char *)((long)param_1 + 4)" * (cast_expression "(char *)((long)param_1 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002c2940;" goto statement_identifier ;)) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);" (assignment_expression "*(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10)" (pointer_expression "*(ushort *)param_10" * (cast_expression "(ushort *)param_10" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (call_expression "(ushort)(iVar35 + 0x8000U >> 0x10)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(iVar35 + 0x8000U >> 0x10)" ( (binary_expression "iVar35 + 0x8000U >> 0x10" (binary_expression "iVar35 + 0x8000U" identifier + number_literal) >> number_literal) )))) ;) (goto_statement "goto LAB_002c2945;" goto statement_identifier ;) }))) (goto_statement "goto LAB_002c472b;" goto statement_identifier ;) })) (goto_statement "goto LAB_002c46d8;" goto statement_identifier ;)) (case_statement "case 0x17:" case number_literal :) (case_statement "case 0x1f:" case number_literal :) (case_statement "case 0x95:" case number_literal :) (case_statement "case 0x9a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }\nLAB_002c4792:\n      FUN_00290940();\nLAB_002c4797:\n      FUN_00290940();\nLAB_002c479c:\n      FUN_00290940();\nLAB_002c47a1:\n      FUN_00290940();\nLAB_002c47a6:\n      FUN_00290940();\n                    \n      uVar22 = FUN_0017eb9a();\n      return uVar22;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);" statement_identifier : (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" identifier = (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) ))))) ;)) (if_statement "if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }" if (parenthesized_expression "(param_8 != (undefined8 *)0x0)" ( (binary_expression "param_8 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }" { (if_statement "if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }" if (parenthesized_expression "(lVar31 != 0)" ( (binary_expression "lVar31 != 0" identifier != number_literal) )) (compound_statement "{\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }" { (expression_statement "local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);" (assignment_expression "local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6)" identifier = (call_expression "FUN_0029b9e0(lVar31,param_8,0,plVar6)" identifier (argument_list "(lVar31,param_8,0,plVar6)" ( identifier , identifier , number_literal , identifier )))) ;) (goto_statement "goto LAB_002c22ef;" goto statement_identifier ;) })) (labeled_statement "LAB_002c476b:\n        FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (goto_statement "goto LAB_002c4770;" goto statement_identifier ;) })) (if_statement "if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }" if (parenthesized_expression "(lVar31 != 0)" ( (binary_expression "lVar31 != 0" identifier != number_literal) )) (compound_statement "{\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }" { (expression_statement "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);" (assignment_expression "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc)" identifier = (call_expression "(**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc)" (parenthesized_expression "(**(code **)(*plVar6 + 0x160))" ( (pointer_expression "**(code **)(*plVar6 + 0x160)" * (pointer_expression "*(code **)(*plVar6 + 0x160)" * (cast_expression "(code **)(*plVar6 + 0x160)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x160)" ( (binary_expression "*plVar6 + 0x160" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) )) (argument_list "(plVar6,uVar33,0,(long)(int)local_cc)" ( identifier , identifier , number_literal , (cast_expression "(long)(int)local_cc" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (labeled_statement "LAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }" statement_identifier : (if_statement "if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }" if (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" ( (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }" { (expression_statement "uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);" (assignment_expression "uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" identifier = (call_expression "FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" identifier (argument_list "(*(long *)(param_4 + 0x20),local_e4,plVar6)" ( (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) )))) , identifier , identifier )))) ;) (if_statement "if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;" if (parenthesized_expression "(*(char *)((long)param_1 + 4) != '\0')" ( (binary_expression "*(char *)((long)param_1 + 4) != '\0'" (pointer_expression "*(char *)((long)param_1 + 4)" * (cast_expression "(char *)((long)param_1 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002c2940;" goto statement_identifier ;)) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;" (assignment_expression "*(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10" (binary_expression "(uVar18 ^ (uint)*param_10) & 0xffff" (parenthesized_expression "(uVar18 ^ (uint)*param_10)" ( (binary_expression "uVar18 ^ (uint)*param_10" identifier ^ (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) )) & number_literal) ^ (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier))) ;) (goto_statement "goto LAB_002c2945;" goto statement_identifier ;) }))) (goto_statement "goto LAB_002c4766;" goto statement_identifier ;) })) (labeled_statement "LAB_002c4792:\n      FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c4797:\n      FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c479c:\n      FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c47a1:\n      FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c47a6:\n      FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (expression_statement "uVar22 = FUN_0017eb9a();" (assignment_expression "uVar22 = FUN_0017eb9a()" identifier = (call_expression "FUN_0017eb9a()" identifier (argument_list "()" ( )))) ;) (return_statement "return uVar22;" return identifier ;)) (case_statement "case 0x18:" case number_literal :) (case_statement "case 0x96:\n      local_b8 = 0;\nLAB_002c2efa:\n      uVar18 = -local_b0;\nLAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      if (bVar14 != '\0') goto LAB_002c1f30;\n      uVar17 = 0;\n      *param_10 = (ulong)uVar36;\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c2efa:\n      uVar18 = -local_b0;" statement_identifier : (expression_statement "uVar18 = -local_b0;" (assignment_expression "uVar18 = -local_b0" identifier = (unary_expression "-local_b0" - identifier)) ;)) (labeled_statement "LAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);" statement_identifier : (expression_statement "uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);" (assignment_expression "uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,uVar18)" identifier (argument_list "(param_9,plVar6,uVar18)" ( identifier , identifier , identifier )))) ;)) (if_statement "if (bVar14 != '\0') goto LAB_002c1f30;" if (parenthesized_expression "(bVar14 != '\0')" ( (binary_expression "bVar14 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*param_10 = (ulong)uVar36;" (assignment_expression "*param_10 = (ulong)uVar36" (pointer_expression "*param_10" * identifier) = (cast_expression "(ulong)uVar36" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x1c:" case number_literal :) (case_statement "case 0x97:\n      local_b8 = 0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }\n      uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);\n      goto joined_r0x002c1f7e;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c1ed8:\n      local_cc = local_b0;" statement_identifier : (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" identifier = identifier) ;)) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }" if (parenthesized_expression "(((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0))" ( (binary_expression "((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)" (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)" ( (comma_expression "local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0" (assignment_expression "local_b0 = (uVar18 & 0xffff) - 0x10000" identifier = (binary_expression "(uVar18 & 0xffff) - 0x10000" (parenthesized_expression "(uVar18 & 0xffff)" ( (binary_expression "uVar18 & 0xffff" identifier & number_literal) )) - number_literal)) , (binary_expression "(uVar18 & 0x8000) == 0" (parenthesized_expression "(uVar18 & 0x8000)" ( (binary_expression "uVar18 & 0x8000" identifier & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n        local_b0 = uVar18 & 0xffff;\n      }" { (expression_statement "local_b0 = uVar18 & 0xffff;" (assignment_expression "local_b0 = uVar18 & 0xffff" identifier = (binary_expression "uVar18 & 0xffff" identifier & number_literal)) ;) })) (expression_statement "uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);" (assignment_expression "uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20)" identifier = (call_expression "(uint)((ulong)uVar17 + 0x80008000 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulong)uVar17 + 0x80008000 >> 0x20)" ( (binary_expression "(ulong)uVar17 + 0x80008000 >> 0x20" (binary_expression "(ulong)uVar17 + 0x80008000" (cast_expression "(ulong)uVar17" ( (type_descriptor "ulong" type_identifier) ) identifier) + number_literal) >> number_literal) )))) ;) (goto_statement "goto joined_r0x002c1f7e;" goto statement_identifier ;)) (case_statement "case 0x1d:" case number_literal :) (case_statement "case 0x98:\n      local_b8 = 0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar36 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }\n      FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }\n      uVar36 = uVar36 & 0xffff0000;\n      goto LAB_002c1fd0;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c2f32:\n      local_cc = local_b0;" statement_identifier : (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" identifier = identifier) ;)) (expression_statement "uVar36 = (uint)*param_10;" (assignment_expression "uVar36 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }" { (expression_statement "local_b0 = (uVar36 & 0xffff) - 0x10000;" (assignment_expression "local_b0 = (uVar36 & 0xffff) - 0x10000" identifier = (binary_expression "(uVar36 & 0xffff) - 0x10000" (parenthesized_expression "(uVar36 & 0xffff)" ( (binary_expression "uVar36 & 0xffff" identifier & number_literal) )) - number_literal)) ;) (if_statement "if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }" if (parenthesized_expression "((uVar36 & 0x8000) == 0)" ( (binary_expression "(uVar36 & 0x8000) == 0" (parenthesized_expression "(uVar36 & 0x8000)" ( (binary_expression "uVar36 & 0x8000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar36 & 0xffff;\n        }" { (expression_statement "local_b0 = uVar36 & 0xffff;" (assignment_expression "local_b0 = uVar36 & 0xffff" identifier = (binary_expression "uVar36 & 0xffff" identifier & number_literal)) ;) })) })) (expression_statement "FUN_001a5ac0(param_9,plVar6,local_b0);" (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier ))) ;) (if_statement "if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }" if (parenthesized_expression "(bVar45 && bVar48)" ( (binary_expression "bVar45 && bVar48" identifier && identifier) )) (compound_statement "{\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }" { (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(uint *)param_1 = 0;" (assignment_expression "*(uint *)param_1 = 0" (pointer_expression "*(uint *)param_1" * (cast_expression "(uint *)param_1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (break_statement "break;" break ;) })) (expression_statement "uVar36 = uVar36 & 0xffff0000;" (assignment_expression "uVar36 = uVar36 & 0xffff0000" identifier = (binary_expression "uVar36 & 0xffff0000" identifier & number_literal)) ;) (goto_statement "goto LAB_002c1fd0;" goto statement_identifier ;)) (case_statement "case 0x25:" case number_literal :) (case_statement "case 0x9c:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }\n      uVar17 = (uint)*param_10;\n      uVar36 = uVar17;\n      if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }\n      if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }" statement_identifier : (if_statement "if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }" if (parenthesized_expression "(param_8 != (undefined8 *)0x0)" ( (binary_expression "param_8 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }" { (expression_statement "cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);" (assignment_expression "cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1)" identifier = (call_expression "FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1)" identifier (argument_list "(param_8,*(int *)(param_8 + 4) != 0,1)" ( identifier , (binary_expression "*(int *)(param_8 + 4) != 0" (pointer_expression "*(int *)(param_8 + 4)" * (cast_expression "(int *)(param_8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 4)" ( (binary_expression "param_8 + 4" identifier + number_literal) )))) != number_literal) , number_literal )))) ;) (if_statement "if (cVar16 == '\0') break;" if (parenthesized_expression "(cVar16 == '\0')" ( (binary_expression "cVar16 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "bVar14 = *(byte *)((long)param_1 + 4);" (assignment_expression "bVar14 = *(byte *)((long)param_1 + 4)" identifier = (pointer_expression "*(byte *)((long)param_1 + 4)" * (cast_expression "(byte *)((long)param_1 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) }))) (expression_statement "uVar17 = (uint)*param_10;" (assignment_expression "uVar17 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "uVar36 = uVar17;" (assignment_expression "uVar36 = uVar17" identifier = identifier) ;) (if_statement "if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }" if (parenthesized_expression "(((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))" ( (binary_expression "((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809)))" (parenthesized_expression "((uVar18 == 0x25) && (local_cf != 1))" ( (binary_expression "(uVar18 == 0x25) && (local_cf != 1)" (parenthesized_expression "(uVar18 == 0x25)" ( (binary_expression "uVar18 == 0x25" identifier == number_literal) )) && (parenthesized_expression "(local_cf != 1)" ( (binary_expression "local_cf != 1" identifier != number_literal) ))) )) && (parenthesized_expression "((uVar17 == 0x3200008 || (uVar17 == 0x320f809)))" ( (parenthesized_expression "(uVar17 == 0x3200008 || (uVar17 == 0x320f809))" ( (binary_expression "uVar17 == 0x3200008 || (uVar17 == 0x320f809)" (binary_expression "uVar17 == 0x3200008" identifier == number_literal) || (parenthesized_expression "(uVar17 == 0x320f809)" ( (binary_expression "uVar17 == 0x320f809" identifier == number_literal) ))) )) ))) )) (compound_statement "{\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }" { (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6)" identifier (argument_list "(param_9,plVar6)" ( identifier , identifier )))) ;) (if_statement "if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }" if (parenthesized_expression "((iVar35 - param_11) + 0x1fffc < 0x40000)" ( (binary_expression "(iVar35 - param_11) + 0x1fffc < 0x40000" (binary_expression "(iVar35 - param_11) + 0x1fffc" (parenthesized_expression "(iVar35 - param_11)" ( (binary_expression "iVar35 - param_11" identifier - identifier) )) + number_literal) < number_literal) )) (compound_statement "{\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }" { (expression_statement "uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;" (assignment_expression "uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff" identifier = (binary_expression "(iVar35 - param_11) - 4 >> 2 & 0xffff" (binary_expression "(iVar35 - param_11) - 4 >> 2" (binary_expression "(iVar35 - param_11) - 4" (parenthesized_expression "(iVar35 - param_11)" ( (binary_expression "iVar35 - param_11" identifier - identifier) )) - number_literal) >> number_literal) & number_literal)) ;) (expression_statement "uVar36 = uVar18 | 0x10000000;" (assignment_expression "uVar36 = uVar18 | 0x10000000" identifier = (binary_expression "uVar18 | 0x10000000" identifier | number_literal)) ;) (if_statement "if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }" if (parenthesized_expression "(uVar17 != 0x3200008)" ( (binary_expression "uVar17 != 0x3200008" identifier != number_literal) )) (compound_statement "{\n            uVar36 = uVar18 | 0x4110000;\n          }" { (expression_statement "uVar36 = uVar18 | 0x4110000;" (assignment_expression "uVar36 = uVar18 | 0x4110000" identifier = (binary_expression "uVar18 | 0x4110000" identifier | number_literal)) ;) })) })) })) (if_statement "if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }" if (parenthesized_expression "(bVar14 == '\0')" ( (binary_expression "bVar14 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }" { (expression_statement "*(uint *)param_10 = uVar36;" (assignment_expression "*(uint *)param_10 = uVar36" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }" else (compound_statement "{\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }" { (expression_statement "*(uint *)param_1 = uVar36;" (assignment_expression "*(uint *)param_1 = uVar36" (pointer_expression "*(uint *)param_1" * (cast_expression "(uint *)param_1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) }))) (break_statement "break;" break ;)) (case_statement "case 0x27:" case number_literal :) (case_statement "case 0x29:\n      goto switchD_002c14fa_caseD_27;" case number_literal : (goto_statement "goto switchD_002c14fa_caseD_27;" goto statement_identifier ;)) (case_statement "case 0x2a:" case number_literal :) (case_statement "case 0x6a:" case number_literal :) (case_statement "case 0xa2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }\n      FUN_00290940();\nswitchD_002c14fa_caseD_27:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_27:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      goto joined_r0x002c327b;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);" statement_identifier : (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" identifier = (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) ))))) ;)) (if_statement "if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }" if (parenthesized_expression "(param_8 == (undefined8 *)0x0)" ( (binary_expression "param_8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }" { (if_statement "if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_00290940();\n          goto LAB_002c467a;\n        }" { (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002c467a;" goto statement_identifier ;) })) (expression_statement "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);" (assignment_expression "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc)" identifier = (call_expression "(**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc)" (parenthesized_expression "(**(code **)(*plVar6 + 0x160))" ( (pointer_expression "**(code **)(*plVar6 + 0x160)" * (pointer_expression "*(code **)(*plVar6 + 0x160)" * (cast_expression "(code **)(*plVar6 + 0x160)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x160)" ( (binary_expression "*plVar6 + 0x160" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) )) (argument_list "(plVar6,uVar33,2,(long)(int)local_cc)" ( identifier , identifier , number_literal , (cast_expression "(long)(int)local_cc" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }) (else_clause "else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }" else (compound_statement "{\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }" { (if_statement "if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }" { (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_002c475c:\n          FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (goto_statement "goto LAB_002c4761;" goto statement_identifier ;) })) (expression_statement "local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);" (assignment_expression "local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6)" identifier = (call_expression "FUN_0029b9e0(lVar31,param_8,2,plVar6)" identifier (argument_list "(lVar31,param_8,2,plVar6)" ( identifier , identifier , number_literal , identifier )))) ;) }))) (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" identifier = (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }" if (parenthesized_expression "(lVar31 != 0)" ( (binary_expression "lVar31 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }" { (labeled_statement "LAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);" statement_identifier : (expression_statement "uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);" (assignment_expression "uVar36 = FUN_002924d0(lVar31,local_e4,plVar6)" identifier = (call_expression "FUN_002924d0(lVar31,local_e4,plVar6)" identifier (argument_list "(lVar31,local_e4,plVar6)" ( identifier , identifier , identifier )))) ;)) (goto_statement "goto LAB_002c211b;" goto statement_identifier ;) })) (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;) (labeled_statement "switchD_002c14fa_caseD_27:\n      local_b8 = 0;" statement_identifier : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;)) (labeled_statement "switchD_002c18c9_caseD_27:\n      uVar18 = local_cc;" statement_identifier : (expression_statement "uVar18 = local_cc;" (assignment_expression "uVar18 = local_cc" identifier = identifier) ;)) (if_statement "if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar18 = (uint)*param_10;\n      }" { (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,uVar18)" identifier (argument_list "(param_9,plVar6,uVar18)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar35 - 0x8000;" (assignment_expression "uVar36 = iVar35 - 0x8000" identifier = (binary_expression "iVar35 - 0x8000" identifier - number_literal)) ;) (goto_statement "goto joined_r0x002c327b;" goto statement_identifier ;)) (case_statement "case 0x2b:" case number_literal :) (case_statement "case 0x6b:" case number_literal :) (case_statement "case 0xa3:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }\n      if (lVar25 == 0) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }\n      local_e4 = *(uint *)(lVar25 + 0x14);\n      uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\nLAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;\n      uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;\nLAB_002c2590:\n      *(uint *)param_10 = uVar18;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);" statement_identifier : (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" identifier = (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) ))))) ;)) (if_statement "if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }" { (labeled_statement "LAB_002c463a:\n        FUN_00290940();" statement_identifier : (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002c463f:\n        FUN_00293350();" statement_identifier : (expression_statement "FUN_00293350();" (call_expression "FUN_00293350()" identifier (argument_list "()" ( ))) ;)) (goto_statement "goto LAB_002c4644;" goto statement_identifier ;) })) (if_statement "if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }" if (parenthesized_expression "(*(long *)(lVar31 + 0xd0) == 0)" ( (binary_expression "*(long *)(lVar31 + 0xd0) == 0" (pointer_expression "*(long *)(lVar31 + 0xd0)" * (cast_expression "(long *)(lVar31 + 0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0xd0)" ( (binary_expression "lVar31 + 0xd0" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        lVar25 = *(long *)(lVar31 + 200);\n      }" { (expression_statement "lVar25 = *(long *)(lVar31 + 200);" (assignment_expression "lVar25 = *(long *)(lVar31 + 200)" identifier = (pointer_expression "*(long *)(lVar31 + 200)" * (cast_expression "(long *)(lVar31 + 200)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 200)" ( (binary_expression "lVar31 + 200" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        lVar25 = plVar6[0x6e];\n      }" else (compound_statement "{\n        lVar25 = plVar6[0x6e];\n      }" { (expression_statement "lVar25 = plVar6[0x6e];" (assignment_expression "lVar25 = plVar6[0x6e]" identifier = (subscript_expression "plVar6[0x6e]" identifier [ number_literal ])) ;) }))) (if_statement "if (lVar25 == 0) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }" if (parenthesized_expression "(lVar25 == 0)" ( (binary_expression "lVar25 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }" { (expression_statement "FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset")" identifier (argument_list "("../../gold/mips.cc",0x86a,"tls_ldm_offset")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""tls_ldm_offset"" " string_content ") ))) ;) })) (expression_statement "local_e4 = *(uint *)(lVar25 + 0x14);" (assignment_expression "local_e4 = *(uint *)(lVar25 + 0x14)" identifier = (pointer_expression "*(uint *)(lVar25 + 0x14)" * (cast_expression "(uint *)(lVar25 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar25 + 0x14)" ( (binary_expression "lVar25 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);" (assignment_expression "uVar36 = FUN_002924d0(lVar31,local_e4,plVar6)" identifier = (call_expression "FUN_002924d0(lVar31,local_e4,plVar6)" identifier (argument_list "(lVar31,local_e4,plVar6)" ( identifier , identifier , identifier )))) ;) (labeled_statement "LAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;" statement_identifier : (if_statement "if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;" if (parenthesized_expression "(*(char *)((long)param_1 + 4) != '\0')" ( (binary_expression "*(char *)((long)param_1 + 4) != '\0'" (pointer_expression "*(char *)((long)param_1 + 4)" * (cast_expression "(char *)((long)param_1 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 4)" ( (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_002c1fd4;" goto statement_identifier ;))) (expression_statement "uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;" (assignment_expression "uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10" identifier = (binary_expression "((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10" (binary_expression "((uint)*param_10 ^ uVar36) & 0xffff" (parenthesized_expression "((uint)*param_10 ^ uVar36)" ( (binary_expression "(uint)*param_10 ^ uVar36" (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier) ^ identifier) )) & number_literal) ^ (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier))) ;) (labeled_statement "LAB_002c2590:\n      *(uint *)param_10 = uVar18;" statement_identifier : (expression_statement "*(uint *)param_10 = uVar18;" (assignment_expression "*(uint *)param_10 = uVar18" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;)) (expression_statement "uVar17 = (uint)(0xffff < uVar36 + 0x8000);" (assignment_expression "uVar17 = (uint)(0xffff < uVar36 + 0x8000)" identifier = (call_expression "(uint)(0xffff < uVar36 + 0x8000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffff < uVar36 + 0x8000)" ( (binary_expression "0xffff < uVar36 + 0x8000" number_literal < (binary_expression "uVar36 + 0x8000" identifier + number_literal)) )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x2c:" case number_literal :) (case_statement "case 0x6c:" case number_literal :) (case_statement "case 0xa4:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      goto LAB_002c1f79;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;" statement_identifier : (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;)) (expression_statement "uVar17 = uVar18 & 0xffff;" (assignment_expression "uVar17 = uVar18 & 0xffff" identifier = (binary_expression "uVar18 & 0xffff" identifier & number_literal)) ;) (if_statement "if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }" if (parenthesized_expression "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar17 = local_cc;\n      }" { (expression_statement "uVar17 = local_cc;" (assignment_expression "uVar17 = local_cc" identifier = identifier) ;) })) (expression_statement "uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);" (assignment_expression "uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,uVar17)" identifier (argument_list "(param_9,plVar6,uVar17)" ( identifier , identifier , identifier )))) ;) (goto_statement "goto LAB_002c1f79;" goto statement_identifier ;)) (case_statement "case 0x2d:" case number_literal :) (case_statement "case 0x6d:" case number_literal :) (case_statement "case 0xa5:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;" statement_identifier : (expression_statement "local_108 = (uint)*param_10;" (assignment_expression "local_108 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;)) (expression_statement "uVar18 = local_108 & 0xffff;" (assignment_expression "uVar18 = local_108 & 0xffff" identifier = (binary_expression "local_108 & 0xffff" identifier & number_literal)) ;) (if_statement "if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }" if (parenthesized_expression "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar18 = local_cc;\n      }" { (expression_statement "uVar18 = local_cc;" (assignment_expression "uVar18 = local_cc" identifier = identifier) ;) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,uVar18)" identifier (argument_list "(param_9,plVar6,uVar18)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar35 - 0x8000;" (assignment_expression "uVar36 = iVar35 - 0x8000" identifier = (binary_expression "iVar35 - 0x8000" identifier - number_literal)) ;) (if_statement "if (!bVar45 || !bVar48) goto LAB_002c1ebf;" if (parenthesized_expression "(!bVar45 || !bVar48)" ( (binary_expression "!bVar45 || !bVar48" (unary_expression "!bVar45" ! identifier) || (unary_expression "!bVar48" ! identifier)) )) (goto_statement "goto LAB_002c1ebf;" goto statement_identifier ;)) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (case_statement "case 0x2e:" case number_literal :) (case_statement "case 0x6e:" case number_literal :) (case_statement "case 0xa6:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) goto LAB_002c2030;\n      goto LAB_002c47a1;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);" statement_identifier : (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" identifier = (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) ))))) ;)) (if_statement "if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }" if (parenthesized_expression "(param_8 == (undefined8 *)0x0)" ( (binary_expression "param_8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }" { (if_statement "if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_00290940();\n          goto LAB_002c4670;\n        }" { (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002c4670;" goto statement_identifier ;) })) (expression_statement "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);" (assignment_expression "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc)" identifier = (call_expression "(**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc)" (parenthesized_expression "(**(code **)(*plVar6 + 0x160))" ( (pointer_expression "**(code **)(*plVar6 + 0x160)" * (pointer_expression "*(code **)(*plVar6 + 0x160)" * (cast_expression "(code **)(*plVar6 + 0x160)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 0x160)" ( (binary_expression "*plVar6 + 0x160" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) )) (argument_list "(plVar6,uVar33,1,(long)(int)local_cc)" ( identifier , identifier , number_literal , (cast_expression "(long)(int)local_cc" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }) (else_clause "else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }" else (compound_statement "{\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }" { (if_statement "if (lVar31 == 0) goto LAB_002c47a6;" if (parenthesized_expression "(lVar31 == 0)" ( (binary_expression "lVar31 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002c47a6;" goto statement_identifier ;)) (expression_statement "local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);" (assignment_expression "local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6)" identifier = (call_expression "FUN_0029b9e0(lVar31,param_8,1,plVar6)" identifier (argument_list "(lVar31,param_8,1,plVar6)" ( identifier , identifier , number_literal , identifier )))) ;) }))) (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" identifier = (pointer_expression "*(long *)(param_4 + 0x20)" * (cast_expression "(long *)(param_4 + 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_4 + 0x20)" ( (binary_expression "param_4 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (lVar31 != 0) goto LAB_002c2030;" if (parenthesized_expression "(lVar31 != 0)" ( (binary_expression "lVar31 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002c2030;" goto statement_identifier ;)) (goto_statement "goto LAB_002c47a1;" goto statement_identifier ;)) (case_statement "case 0x2f:" case number_literal :) (case_statement "case 0x30:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1fd0;\n      goto LAB_002c1f30;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;" statement_identifier : (expression_statement "uVar18 = local_cc;" (assignment_expression "uVar18 = local_cc" identifier = identifier) ;)) (if_statement "if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar18 = (uint)*param_10;\n      }" { (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,uVar18)" identifier (argument_list "(param_9,plVar6,uVar18)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar35 - 0x7000;" (assignment_expression "uVar36 = iVar35 - 0x7000" identifier = (binary_expression "iVar35 - 0x7000" identifier - number_literal)) ;) (if_statement "if (!bVar45 || !bVar48) goto LAB_002c1fd0;" if (parenthesized_expression "(!bVar45 || !bVar48)" ( (binary_expression "!bVar45 || !bVar48" (unary_expression "!bVar45" ! identifier) || (unary_expression "!bVar48" ! identifier)) )) (goto_statement "goto LAB_002c1fd0;" goto statement_identifier ;)) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (case_statement "case 0x31:" case number_literal :) (case_statement "case 0x6f:" case number_literal :) (case_statement "case 0xa9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      uVar36 = iVar35 + 0x1000;\nLAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;\njoined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;" statement_identifier : (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;)) (expression_statement "uVar17 = uVar18 & 0xffff;" (assignment_expression "uVar17 = uVar18 & 0xffff" identifier = (binary_expression "uVar18 & 0xffff" identifier & number_literal)) ;) (if_statement "if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }" if (parenthesized_expression "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar17 = local_cc;\n      }" { (expression_statement "uVar17 = local_cc;" (assignment_expression "uVar17 = local_cc" identifier = identifier) ;) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,uVar17)" identifier (argument_list "(param_9,plVar6,uVar17)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar35 + 0x1000;" (assignment_expression "uVar36 = iVar35 + 0x1000" identifier = (binary_expression "iVar35 + 0x1000" identifier + number_literal)) ;) (labeled_statement "LAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;" statement_identifier : (expression_statement "uVar36 = uVar36 >> 0x10;" (assignment_expression "uVar36 = uVar36 >> 0x10" identifier = (binary_expression "uVar36 >> 0x10" identifier >> number_literal)) ;)) (labeled_statement "joined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;" statement_identifier : (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;))) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;" (assignment_expression "*(uint *)param_10 = uVar36 | uVar18 & 0xffff0000" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar36 | uVar18 & 0xffff0000" identifier | (binary_expression "uVar18 & 0xffff0000" identifier & number_literal))) ;) (break_statement "break;" break ;)) (case_statement "case 0x32:" case number_literal :) (case_statement "case 0x70:" case number_literal :) (case_statement "case 0xaa:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;" statement_identifier : (expression_statement "local_108 = (uint)*param_10;" (assignment_expression "local_108 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;)) (expression_statement "uVar18 = local_108 & 0xffff;" (assignment_expression "uVar18 = local_108 & 0xffff" identifier = (binary_expression "local_108 & 0xffff" identifier & number_literal)) ;) (if_statement "if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }" if (parenthesized_expression "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar18 = local_cc;\n      }" { (expression_statement "uVar18 = local_cc;" (assignment_expression "uVar18 = local_cc" identifier = identifier) ;) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,uVar18)" identifier (argument_list "(param_9,plVar6,uVar18)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar35 - 0x7000;" (assignment_expression "uVar36 = iVar35 - 0x7000" identifier = (binary_expression "iVar35 - 0x7000" identifier - number_literal)) ;) (if_statement "if (!bVar45 || !bVar48) goto LAB_002c1ebf;" if (parenthesized_expression "(!bVar45 || !bVar48)" ( (binary_expression "!bVar45 || !bVar48" (unary_expression "!bVar45" ! identifier) || (unary_expression "!bVar48" ! identifier)) )) (goto_statement "goto LAB_002c1ebf;" goto statement_identifier ;)) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (case_statement "case 0x3c:\n      local_b8 = 0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c2f96:\n      local_cc = local_b0;" statement_identifier : (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" identifier = identifier) ;)) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" { (expression_statement "uVar17 = uVar18 * 4 & 0x7ffffc;" (assignment_expression "uVar17 = uVar18 * 4 & 0x7ffffc" identifier = (binary_expression "uVar18 * 4 & 0x7ffffc" (binary_expression "uVar18 * 4" identifier * number_literal) & number_literal)) ;) (expression_statement "local_b0 = uVar17 - 0x800000;" (assignment_expression "local_b0 = uVar17 - 0x800000" identifier = (binary_expression "uVar17 - 0x800000" identifier - number_literal)) ;) (if_statement "if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }" if (parenthesized_expression "((uVar18 * 4 & 0x400000) == 0)" ( (binary_expression "(uVar18 * 4 & 0x400000) == 0" (parenthesized_expression "(uVar18 * 4 & 0x400000)" ( (binary_expression "uVar18 * 4 & 0x400000" (binary_expression "uVar18 * 4" identifier * number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar17;\n        }" { (expression_statement "local_b0 = uVar17;" (assignment_expression "local_b0 = uVar17" identifier = identifier) ;) })) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar35 - param_11 >> 2;" (assignment_expression "uVar36 = iVar35 - param_11 >> 2" identifier = (binary_expression "iVar35 - param_11 >> 2" (binary_expression "iVar35 - param_11" identifier - identifier) >> number_literal)) ;) (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (expression_statement "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;" (assignment_expression "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff" identifier ^ (binary_expression "(uVar36 ^ uVar18) & 0x1fffff" (parenthesized_expression "(uVar36 ^ uVar18)" ( (binary_expression "uVar36 ^ uVar18" identifier ^ identifier) )) & number_literal))) ;) (expression_statement "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar17 = 3;" (assignment_expression "uVar17 = 3" identifier = number_literal) ;) (if_statement "if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }" if (parenthesized_expression "((uVar32 & 3) == 0)" ( (binary_expression "(uVar32 & 3) == 0" (parenthesized_expression "(uVar32 & 3)" ( (binary_expression "uVar32 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }" { (expression_statement "uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);" (assignment_expression "uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000)" identifier = (call_expression "(uint)(0x7fffff < (iVar35 - param_11) + 0x400000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x7fffff < (iVar35 - param_11) + 0x400000)" ( (binary_expression "0x7fffff < (iVar35 - param_11) + 0x400000" number_literal < (binary_expression "(iVar35 - param_11) + 0x400000" (parenthesized_expression "(iVar35 - param_11)" ( (binary_expression "iVar35 - param_11" identifier - identifier) )) + number_literal)) )))) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x3d:\n      local_b8 = 0;\nLAB_002c304d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c304d:\n      local_cc = local_b0;" statement_identifier : (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" identifier = identifier) ;)) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" { (expression_statement "uVar17 = uVar18 * 4 & 0xffffffc;" (assignment_expression "uVar17 = uVar18 * 4 & 0xffffffc" identifier = (binary_expression "uVar18 * 4 & 0xffffffc" (binary_expression "uVar18 * 4" identifier * number_literal) & number_literal)) ;) (expression_statement "local_b0 = uVar17 + 0xf0000000;" (assignment_expression "local_b0 = uVar17 + 0xf0000000" identifier = (binary_expression "uVar17 + 0xf0000000" identifier + number_literal)) ;) (if_statement "if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }" if (parenthesized_expression "((uVar18 * 4 & 0x8000000) == 0)" ( (binary_expression "(uVar18 * 4 & 0x8000000) == 0" (parenthesized_expression "(uVar18 * 4 & 0x8000000)" ( (binary_expression "uVar18 * 4 & 0x8000000" (binary_expression "uVar18 * 4" identifier * number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar17;\n        }" { (expression_statement "local_b0 = uVar17;" (assignment_expression "local_b0 = uVar17" identifier = identifier) ;) })) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar35 - param_11 >> 2;" (assignment_expression "uVar36 = iVar35 - param_11 >> 2" identifier = (binary_expression "iVar35 - param_11 >> 2" (binary_expression "iVar35 - param_11" identifier - identifier) >> number_literal)) ;) (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (expression_statement "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;" (assignment_expression "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff" identifier ^ (binary_expression "(uVar36 ^ uVar18) & 0x3ffffff" (parenthesized_expression "(uVar36 ^ uVar18)" ( (binary_expression "uVar36 ^ uVar18" identifier ^ identifier) )) & number_literal))) ;) (expression_statement "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar17 = 3;" (assignment_expression "uVar17 = 3" identifier = number_literal) ;) (if_statement "if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }" if (parenthesized_expression "((uVar32 & 3) == 0)" ( (binary_expression "(uVar32 & 3) == 0" (parenthesized_expression "(uVar32 & 3)" ( (binary_expression "uVar32 & 3" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }" { (expression_statement "uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);" (assignment_expression "uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000)" identifier = (call_expression "(uint)(0xfffffff < (iVar35 - param_11) + 0x8000000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xfffffff < (iVar35 - param_11) + 0x8000000)" ( (binary_expression "0xfffffff < (iVar35 - param_11) + 0x8000000" number_literal < (binary_expression "(iVar35 - param_11) + 0x8000000" (parenthesized_expression "(iVar35 - param_11)" ( (binary_expression "iVar35 - param_11" identifier - identifier) )) + number_literal)) )))) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x3e:\n      local_b8 = 0;\nLAB_002c3104:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - (param_11 & 0xfffffff8);\n      uVar36 = uVar20 >> 3;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar32 = uVar32 & 7;\njoined_r0x002c324e:\n      uVar17 = 3;\n      if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c3104:\n      local_cc = local_b0;" statement_identifier : (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" identifier = identifier) ;)) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" { (expression_statement "uVar17 = uVar18 * 8 & 0x1ffff8;" (assignment_expression "uVar17 = uVar18 * 8 & 0x1ffff8" identifier = (binary_expression "uVar18 * 8 & 0x1ffff8" (binary_expression "uVar18 * 8" identifier * number_literal) & number_literal)) ;) (expression_statement "local_b0 = uVar17 - 0x200000;" (assignment_expression "local_b0 = uVar17 - 0x200000" identifier = (binary_expression "uVar17 - 0x200000" identifier - number_literal)) ;) (if_statement "if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }" if (parenthesized_expression "((uVar18 * 8 & 0x100000) == 0)" ( (binary_expression "(uVar18 * 8 & 0x100000) == 0" (parenthesized_expression "(uVar18 * 8 & 0x100000)" ( (binary_expression "uVar18 * 8 & 0x100000" (binary_expression "uVar18 * 8" identifier * number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar17;\n        }" { (expression_statement "local_b0 = uVar17;" (assignment_expression "local_b0 = uVar17" identifier = identifier) ;) })) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar20 = iVar35 - (param_11 & 0xfffffff8);" (assignment_expression "uVar20 = iVar35 - (param_11 & 0xfffffff8)" identifier = (binary_expression "iVar35 - (param_11 & 0xfffffff8)" identifier - (parenthesized_expression "(param_11 & 0xfffffff8)" ( (binary_expression "param_11 & 0xfffffff8" identifier & number_literal) )))) ;) (expression_statement "uVar36 = uVar20 >> 3;" (assignment_expression "uVar36 = uVar20 >> 3" identifier = (binary_expression "uVar20 >> 3" identifier >> number_literal)) ;) (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (expression_statement "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;" (assignment_expression "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff" identifier ^ (binary_expression "(uVar36 ^ uVar18) & 0x3ffff" (parenthesized_expression "(uVar36 ^ uVar18)" ( (binary_expression "uVar36 ^ uVar18" identifier ^ identifier) )) & number_literal))) ;) (expression_statement "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar32 = uVar32 & 7;" (assignment_expression "uVar32 = uVar32 & 7" identifier = (binary_expression "uVar32 & 7" identifier & number_literal)) ;) (labeled_statement "joined_r0x002c324e:\n      uVar17 = 3;" statement_identifier : (expression_statement "uVar17 = 3;" (assignment_expression "uVar17 = 3" identifier = number_literal) ;)) (if_statement "if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }" if (parenthesized_expression "(uVar32 == 0)" ( (binary_expression "uVar32 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }" { (expression_statement "uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);" (assignment_expression "uVar17 = (uint)(0x1fffff < uVar20 + 0x100000)" identifier = (call_expression "(uint)(0x1fffff < uVar20 + 0x100000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x1fffff < uVar20 + 0x100000)" ( (binary_expression "0x1fffff < uVar20 + 0x100000" number_literal < (binary_expression "uVar20 + 0x100000" identifier + number_literal)) )))) ;) })) (break_statement "break;" break ;)) (case_statement "case 0x3f:\n      local_b8 = 0;\nLAB_002c31c0:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - param_11;\n      uVar36 = uVar20 >> 2;\n      if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }\nLAB_002c1f30:\n      uVar17 = 0;\n      *(uint *)param_1 = uVar36;\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c31c0:\n      local_cc = local_b0;" statement_identifier : (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" identifier = identifier) ;)) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" { (expression_statement "uVar17 = uVar18 * 4 & 0x1ffffc;" (assignment_expression "uVar17 = uVar18 * 4 & 0x1ffffc" identifier = (binary_expression "uVar18 * 4 & 0x1ffffc" (binary_expression "uVar18 * 4" identifier * number_literal) & number_literal)) ;) (expression_statement "local_b0 = uVar17 - 0x200000;" (assignment_expression "local_b0 = uVar17 - 0x200000" identifier = (binary_expression "uVar17 - 0x200000" identifier - number_literal)) ;) (if_statement "if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }" if (parenthesized_expression "((uVar18 * 4 & 0x100000) == 0)" ( (binary_expression "(uVar18 * 4 & 0x100000) == 0" (parenthesized_expression "(uVar18 * 4 & 0x100000)" ( (binary_expression "uVar18 * 4 & 0x100000" (binary_expression "uVar18 * 4" identifier * number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar17;\n        }" { (expression_statement "local_b0 = uVar17;" (assignment_expression "local_b0 = uVar17" identifier = identifier) ;) })) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar20 = iVar35 - param_11;" (assignment_expression "uVar20 = iVar35 - param_11" identifier = (binary_expression "iVar35 - param_11" identifier - identifier)) ;) (expression_statement "uVar36 = uVar20 >> 2;" (assignment_expression "uVar36 = uVar20 >> 2" identifier = (binary_expression "uVar20 >> 2" identifier >> number_literal)) ;) (if_statement "if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }" if (parenthesized_expression "(!bVar45 || !bVar48)" ( (binary_expression "!bVar45 || !bVar48" (unary_expression "!bVar45" ! identifier) || (unary_expression "!bVar48" ! identifier)) )) (compound_statement "{\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }" { (expression_statement "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;" (assignment_expression "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff" identifier ^ (binary_expression "(uVar36 ^ uVar18) & 0x7ffff" (parenthesized_expression "(uVar36 ^ uVar18)" ( (binary_expression "uVar36 ^ uVar18" identifier ^ identifier) )) & number_literal))) ;) (expression_statement "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar32 = uVar32 & 3;" (assignment_expression "uVar32 = uVar32 & 3" identifier = (binary_expression "uVar32 & 3" identifier & number_literal)) ;) (goto_statement "goto joined_r0x002c324e;" goto statement_identifier ;) })) (labeled_statement "LAB_002c1f30:\n      uVar17 = 0;" statement_identifier : (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;)) (expression_statement "*(uint *)param_1 = uVar36;" (assignment_expression "*(uint *)param_1 = uVar36" (pointer_expression "*(uint *)param_1" * (cast_expression "(uint *)param_1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (break_statement "break;" break ;)) (case_statement "case 0x40:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "switchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }" statement_identifier : (if_statement "if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }" if (parenthesized_expression "(param_3 == 4)" ( (binary_expression "param_3 == 4" identifier == number_literal) )) (compound_statement "{\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }" { (expression_statement "uVar32 = *param_10;" (assignment_expression "uVar32 = *param_10" identifier = (pointer_expression "*param_10" * identifier)) ;) (expression_statement "uVar18 = (uint)uVar32 << 0x10;" (assignment_expression "uVar18 = (uint)uVar32 << 0x10" identifier = (binary_expression "(uint)uVar32 << 0x10" (cast_expression "(uint)uVar32" ( (type_descriptor "uint" type_identifier) ) identifier) << number_literal)) ;) (if_statement "if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }" if (parenthesized_expression "((char)local_b8 == '\0')" ( (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar18 = local_cc;\n        }" { (expression_statement "uVar18 = local_cc;" (assignment_expression "uVar18 = local_cc" identifier = identifier) ;) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,uVar18)" identifier (argument_list "(param_9,plVar6,uVar18)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;" (assignment_expression "uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10" identifier = (binary_expression "(iVar35 - param_11) + 0x8000 >> 0x10" (binary_expression "(iVar35 - param_11) + 0x8000" (parenthesized_expression "(iVar35 - param_11)" ( (binary_expression "iVar35 - param_11" identifier - identifier) )) + number_literal) >> number_literal)) ;) (if_statement "if ((bool)bVar14) goto LAB_002c3c10;" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (goto_statement "goto LAB_002c3c10;" goto statement_identifier ;)) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;" (assignment_expression "*(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(uint)uVar32 & 0xffff0000 | uVar36" (binary_expression "(uint)uVar32 & 0xffff0000" (cast_expression "(uint)uVar32" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) | identifier)) ;) }) (else_clause "else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }" else (compound_statement "{\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }" { (if_statement "if (param_3 != 9) goto LAB_002c4653;" if (parenthesized_expression "(param_3 != 9)" ( (binary_expression "param_3 != 9" identifier != number_literal) )) (goto_statement "goto LAB_002c4653;" goto statement_identifier ;)) (expression_statement "lVar31 = FUN_0049cb70(0x40);" (assignment_expression "lVar31 = FUN_0049cb70(0x40)" identifier = (call_expression "FUN_0049cb70(0x40)" identifier (argument_list "(0x40)" ( number_literal )))) ;) (expression_statement "*(undefined1 *)(lVar31 + 0x3c) = 0;" (assignment_expression "*(undefined1 *)(lVar31 + 0x3c) = 0" (pointer_expression "*(undefined1 *)(lVar31 + 0x3c)" * (cast_expression "(undefined1 *)(lVar31 + 0x3c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x3c)" ( (binary_expression "lVar31 + 0x3c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(lVar31 + 0x2c) = 0;" (assignment_expression "*(undefined4 *)(lVar31 + 0x2c) = 0" (pointer_expression "*(undefined4 *)(lVar31 + 0x2c)" * (cast_expression "(undefined4 *)(lVar31 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x2c)" ( (binary_expression "lVar31 + 0x2c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(ulong **)(lVar31 + 0x10) = param_10;" (assignment_expression "*(ulong **)(lVar31 + 0x10) = param_10" (pointer_expression "*(ulong **)(lVar31 + 0x10)" * (cast_expression "(ulong **)(lVar31 + 0x10)" ( (type_descriptor "ulong **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar31 + 0x10)" ( (binary_expression "lVar31 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(long **)(lVar31 + 0x18) = plVar6;" (assignment_expression "*(long **)(lVar31 + 0x18) = plVar6" (pointer_expression "*(long **)(lVar31 + 0x18)" * (cast_expression "(long **)(lVar31 + 0x18)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar31 + 0x18)" ( (binary_expression "lVar31 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined8 **)(lVar31 + 0x20) = param_9;" (assignment_expression "*(undefined8 **)(lVar31 + 0x20) = param_9" (pointer_expression "*(undefined8 **)(lVar31 + 0x20)" * (cast_expression "(undefined8 **)(lVar31 + 0x20)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar31 + 0x20)" ( (binary_expression "lVar31 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(lVar31 + 0x28) = local_cc;" (assignment_expression "*(uint *)(lVar31 + 0x28) = local_cc" (pointer_expression "*(uint *)(lVar31 + 0x28)" * (cast_expression "(uint *)(lVar31 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x28)" ( (binary_expression "lVar31 + 0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(lVar31 + 0x30) = uVar33;" (assignment_expression "*(uint *)(lVar31 + 0x30) = uVar33" (pointer_expression "*(uint *)(lVar31 + 0x30)" * (cast_expression "(uint *)(lVar31 + 0x30)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x30)" ( (binary_expression "lVar31 + 0x30" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char *)(lVar31 + 0x34) = (char)local_b8;" (assignment_expression "*(char *)(lVar31 + 0x34) = (char)local_b8" (pointer_expression "*(char *)(lVar31 + 0x34)" * (cast_expression "(char *)(lVar31 + 0x34)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x34)" ( (binary_expression "lVar31 + 0x34" identifier + number_literal) )))) = (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "*(uint *)(lVar31 + 0x38) = param_11;" (assignment_expression "*(uint *)(lVar31 + 0x38) = param_11" (pointer_expression "*(uint *)(lVar31 + 0x38)" * (cast_expression "(uint *)(lVar31 + 0x38)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar31 + 0x38)" ( (binary_expression "lVar31 + 0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_004a11e0(lVar31,&DAT_0067daa0);" (call_expression "FUN_004a11e0(lVar31,&DAT_0067daa0)" identifier (argument_list "(lVar31,&DAT_0067daa0)" ( identifier , (pointer_expression "&DAT_0067daa0" & identifier) ))) ;) (expression_statement "_DAT_0067dab0 = _DAT_0067dab0 + 1;" (assignment_expression "_DAT_0067dab0 = _DAT_0067dab0 + 1" identifier = (binary_expression "_DAT_0067dab0 + 1" identifier + number_literal)) ;) })))) (break_statement "break;" break ;)) (case_statement "case 0x41:\n      local_b8 = 0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }\n      if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c330f:\n      local_cc = local_b0;" statement_identifier : (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" identifier = identifier) ;)) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }" { (expression_statement "local_b0 = (uVar18 & 0xffff) - 0x10000;" (assignment_expression "local_b0 = (uVar18 & 0xffff) - 0x10000" identifier = (binary_expression "(uVar18 & 0xffff) - 0x10000" (parenthesized_expression "(uVar18 & 0xffff)" ( (binary_expression "uVar18 & 0xffff" identifier & number_literal) )) - number_literal)) ;) (if_statement "if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }" if (parenthesized_expression "((uVar18 & 0x8000) == 0)" ( (binary_expression "(uVar18 & 0x8000) == 0" (parenthesized_expression "(uVar18 & 0x8000)" ( (binary_expression "uVar18 & 0x8000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar18 & 0xffff;\n        }" { (expression_statement "local_b0 = uVar18 & 0xffff;" (assignment_expression "local_b0 = uVar18 & 0xffff" identifier = (binary_expression "uVar18 & 0xffff" identifier & number_literal)) ;) })) })) (if_statement "if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }" if (parenthesized_expression "((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))" ( (binary_expression "(param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0)" (parenthesized_expression "(param_3 == 9)" ( (binary_expression "param_3 == 9" identifier == number_literal) )) && (parenthesized_expression "(local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0)" ( (comma_expression "local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0" (assignment_expression "local_98 = DAT_0067daa0" identifier = identifier) , (binary_expression "(undefined8 **)DAT_0067daa0 != &DAT_0067daa0" (cast_expression "(undefined8 **)DAT_0067daa0" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != (pointer_expression "&DAT_0067daa0" & identifier))) ))) )) (compound_statement "{\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }" { (do_statement "do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);" do (compound_statement "{\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        }" { (if_statement "if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }" if (parenthesized_expression "(uVar33 == *(uint *)(local_98 + 6))" ( (binary_expression "uVar33 == *(uint *)(local_98 + 6)" identifier == (pointer_expression "*(uint *)(local_98 + 6)" * (cast_expression "(uint *)(local_98 + 6)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 6)" ( (binary_expression "local_98 + 6" identifier + number_literal) ))))) )) (compound_statement "{\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }" { (expression_statement "puVar9 = (uint *)local_98[2];" (assignment_expression "puVar9 = (uint *)local_98[2]" identifier = (cast_expression "(uint *)local_98[2]" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_98[2]" identifier [ number_literal ]))) ;) (expression_statement "iVar35 = *(int *)(local_98 + 5);" (assignment_expression "iVar35 = *(int *)(local_98 + 5)" identifier = (pointer_expression "*(int *)(local_98 + 5)" * (cast_expression "(int *)(local_98 + 5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 5)" ( (binary_expression "local_98 + 5" identifier + number_literal) ))))) ;) (expression_statement "uVar17 = *puVar9;" (assignment_expression "uVar17 = *puVar9" identifier = (pointer_expression "*puVar9" * identifier)) ;) (if_statement "if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }" if (parenthesized_expression "(*(char *)((long)local_98 + 0x34) != '\0')" ( (binary_expression "*(char *)((long)local_98 + 0x34) != '\0'" (pointer_expression "*(char *)((long)local_98 + 0x34)" * (cast_expression "(char *)((long)local_98 + 0x34)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)local_98 + 0x34)" ( (binary_expression "(long)local_98 + 0x34" (cast_expression "(long)local_98" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }" { (expression_statement "iVar35 = local_b0 + uVar17 * 0x10000;" (assignment_expression "iVar35 = local_b0 + uVar17 * 0x10000" identifier = (binary_expression "local_b0 + uVar17 * 0x10000" identifier + (binary_expression "uVar17 * 0x10000" identifier * number_literal))) ;) })) (expression_statement "iVar21 = *(int *)(local_98 + 7);" (assignment_expression "iVar21 = *(int *)(local_98 + 7)" identifier = (pointer_expression "*(int *)(local_98 + 7)" * (cast_expression "(int *)(local_98 + 7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 7)" ( (binary_expression "local_98 + 7" identifier + number_literal) ))))) ;) (expression_statement "iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);" (assignment_expression "iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35)" identifier = (call_expression "FUN_001a5ac0(local_98[4],local_98[3],iVar35)" identifier (argument_list "(local_98[4],local_98[3],iVar35)" ( (subscript_expression "local_98[4]" identifier [ number_literal ]) , (subscript_expression "local_98[3]" identifier [ number_literal ]) , identifier )))) ;) (expression_statement "uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;" (assignment_expression "uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10" identifier = (binary_expression "(uint)((0x8000 - iVar21) + iVar35) >> 0x10" (call_expression "(uint)((0x8000 - iVar21) + iVar35)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((0x8000 - iVar21) + iVar35)" ( (binary_expression "(0x8000 - iVar21) + iVar35" (parenthesized_expression "(0x8000 - iVar21)" ( (binary_expression "0x8000 - iVar21" number_literal - identifier) )) + identifier) ))) >> number_literal)) ;) (if_statement "if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }" if (parenthesized_expression "(bVar45 && bVar48)" ( (binary_expression "bVar45 && bVar48" identifier && identifier) )) (compound_statement "{\n              *(uint *)param_1 = uVar36;\n            }" { (expression_statement "*(uint *)param_1 = uVar36;" (assignment_expression "*(uint *)param_1 = uVar36" (pointer_expression "*(uint *)param_1" * (cast_expression "(uint *)param_1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (else_clause "else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }" else (compound_statement "{\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }" { (expression_statement "*puVar9 = uVar36 | uVar17 & 0xffff0000;" (assignment_expression "*puVar9 = uVar36 | uVar17 & 0xffff0000" (pointer_expression "*puVar9" * identifier) = (binary_expression "uVar36 | uVar17 & 0xffff0000" identifier | (binary_expression "uVar17 & 0xffff0000" identifier & number_literal))) ;) }))) (expression_statement "puVar10 = (undefined8 *)*local_98;" (assignment_expression "puVar10 = (undefined8 *)*local_98" identifier = (cast_expression "(undefined8 *)*local_98" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_98" * identifier))) ;) (expression_statement "_DAT_0067dab0 = _DAT_0067dab0 + -1;" (assignment_expression "_DAT_0067dab0 = _DAT_0067dab0 + -1" identifier = (binary_expression "_DAT_0067dab0 + -1" identifier + number_literal)) ;) (expression_statement "FUN_004a1200(local_98);" (call_expression "FUN_004a1200(local_98)" identifier (argument_list "(local_98)" ( identifier ))) ;) (expression_statement "FUN_0049e340(local_98);" (call_expression "FUN_0049e340(local_98)" identifier (argument_list "(local_98)" ( identifier ))) ;) (expression_statement "local_98 = puVar10;" (assignment_expression "local_98 = puVar10" identifier = identifier) ;) }) (else_clause "else {\n            local_98 = (undefined8 *)*local_98;\n          }" else (compound_statement "{\n            local_98 = (undefined8 *)*local_98;\n          }" { (expression_statement "local_98 = (undefined8 *)*local_98;" (assignment_expression "local_98 = (undefined8 *)*local_98" identifier = (cast_expression "(undefined8 *)*local_98" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_98" * identifier))) ;) }))) }) while (parenthesized_expression "((undefined8 **)local_98 != &DAT_0067daa0)" ( (binary_expression "(undefined8 **)local_98 != &DAT_0067daa0" (cast_expression "(undefined8 **)local_98" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) != (pointer_expression "&DAT_0067daa0" & identifier)) )) ;) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar35 - param_11;" (assignment_expression "uVar36 = iVar35 - param_11" identifier = (binary_expression "iVar35 - param_11" identifier - identifier)) ;) (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;)) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "*(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;" (assignment_expression "*(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(uVar36 ^ uVar18) & 0xffff ^ uVar18" (binary_expression "(uVar36 ^ uVar18) & 0xffff" (parenthesized_expression "(uVar36 ^ uVar18)" ( (binary_expression "uVar36 ^ uVar18" identifier ^ identifier) )) & number_literal) ^ identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 0x8b:\n      local_b8 = 0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c3385:\n      local_cc = local_b0;" statement_identifier : (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" identifier = identifier) ;)) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }" { (expression_statement "uVar17 = uVar18 * 2 & 0xff;" (assignment_expression "uVar17 = uVar18 * 2 & 0xff" identifier = (binary_expression "uVar18 * 2 & 0xff" (binary_expression "uVar18 * 2" identifier * number_literal) & number_literal)) ;) (expression_statement "local_b0 = uVar17 - 0x100;" (assignment_expression "local_b0 = uVar17 - 0x100" identifier = (binary_expression "uVar17 - 0x100" identifier - number_literal)) ;) (if_statement "if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }" if (parenthesized_expression "((uVar18 * 2 & 0x80) == 0)" ( (binary_expression "(uVar18 * 2 & 0x80) == 0" (parenthesized_expression "(uVar18 * 2 & 0x80)" ( (binary_expression "uVar18 * 2 & 0x80" (binary_expression "uVar18 * 2" identifier * number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar17;\n        }" { (expression_statement "local_b0 = uVar17;" (assignment_expression "local_b0 = uVar17" identifier = identifier) ;) })) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar35 - param_11 >> 1;" (assignment_expression "uVar36 = iVar35 - param_11 >> 1" identifier = (binary_expression "iVar35 - param_11 >> 1" (binary_expression "iVar35 - param_11" identifier - identifier) >> number_literal)) ;) (if_statement "if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (compound_statement "{\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }" { (labeled_statement "LAB_002c3c10:\n        uVar17 = 0;" statement_identifier : (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;)) (expression_statement "*(uint *)param_1 = uVar36;" (assignment_expression "*(uint *)param_1 = uVar36" (pointer_expression "*(uint *)param_1" * (cast_expression "(uint *)param_1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (else_clause "else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }" else (compound_statement "{\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }" { (expression_statement "*(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;" (assignment_expression "*(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(uVar36 ^ uVar18) & 0x7f ^ uVar18" (binary_expression "(uVar36 ^ uVar18) & 0x7f" (parenthesized_expression "(uVar36 ^ uVar18)" ( (binary_expression "uVar36 ^ uVar18" identifier ^ identifier) )) & number_literal) ^ identifier)) ;) (expression_statement "uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);" (assignment_expression "uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80)" identifier = (call_expression "(uint)(0xff < (iVar35 - param_11) + 0x80)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xff < (iVar35 - param_11) + 0x80)" ( (binary_expression "0xff < (iVar35 - param_11) + 0x80" number_literal < (binary_expression "(iVar35 - param_11) + 0x80" (parenthesized_expression "(iVar35 - param_11)" ( (binary_expression "iVar35 - param_11" identifier - identifier) )) + number_literal)) )))) ;) }))) (break_statement "break;" break ;)) (case_statement "case 0x8c:\n      local_b8 = 0;\nLAB_002c328d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;\n      uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c328d:\n      local_cc = local_b0;" statement_identifier : (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" identifier = identifier) ;)) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }" { (expression_statement "uVar17 = uVar18 * 2 & 0x7fe;" (assignment_expression "uVar17 = uVar18 * 2 & 0x7fe" identifier = (binary_expression "uVar18 * 2 & 0x7fe" (binary_expression "uVar18 * 2" identifier * number_literal) & number_literal)) ;) (expression_statement "local_b0 = uVar17 - 0x800;" (assignment_expression "local_b0 = uVar17 - 0x800" identifier = (binary_expression "uVar17 - 0x800" identifier - number_literal)) ;) (if_statement "if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }" if (parenthesized_expression "((uVar18 * 2 & 0x400) == 0)" ( (binary_expression "(uVar18 * 2 & 0x400) == 0" (parenthesized_expression "(uVar18 * 2 & 0x400)" ( (binary_expression "uVar18 * 2 & 0x400" (binary_expression "uVar18 * 2" identifier * number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar17;\n        }" { (expression_statement "local_b0 = uVar17;" (assignment_expression "local_b0 = uVar17" identifier = identifier) ;) })) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar35 - param_11 >> 1;" (assignment_expression "uVar36 = iVar35 - param_11 >> 1" identifier = (binary_expression "iVar35 - param_11 >> 1" (binary_expression "iVar35 - param_11" identifier - identifier) >> number_literal)) ;) (if_statement "if ((bool)bVar14) goto LAB_002c3c10;" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (goto_statement "goto LAB_002c3c10;" goto statement_identifier ;)) (expression_statement "*(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;" (assignment_expression "*(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(uVar36 ^ uVar18) & 0x3ff ^ uVar18" (binary_expression "(uVar36 ^ uVar18) & 0x3ff" (parenthesized_expression "(uVar36 ^ uVar18)" ( (binary_expression "uVar36 ^ uVar18" identifier ^ identifier) )) & number_literal) ^ identifier)) ;) (expression_statement "uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);" (assignment_expression "uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400)" identifier = (call_expression "(uint)(0x7ff < (iVar35 - param_11) + 0x400)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x7ff < (iVar35 - param_11) + 0x400)" ( (binary_expression "0x7ff < (iVar35 - param_11) + 0x400" number_literal < (binary_expression "(iVar35 - param_11) + 0x400" (parenthesized_expression "(iVar35 - param_11)" ( (binary_expression "iVar35 - param_11" identifier - identifier) )) + number_literal)) )))) ;) (break_statement "break;" break ;)) (case_statement "case 0x8d:\n      local_b8 = 0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);\n      break;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c33fc:\n      local_cc = local_b0;" statement_identifier : (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" identifier = identifier) ;)) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" if (parenthesized_expression "((char)local_b8 != '\0')" ( (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" { (expression_statement "uVar17 = uVar18 * 2 & 0x1fffe;" (assignment_expression "uVar17 = uVar18 * 2 & 0x1fffe" identifier = (binary_expression "uVar18 * 2 & 0x1fffe" (binary_expression "uVar18 * 2" identifier * number_literal) & number_literal)) ;) (expression_statement "local_b0 = uVar17 - 0x20000;" (assignment_expression "local_b0 = uVar17 - 0x20000" identifier = (binary_expression "uVar17 - 0x20000" identifier - number_literal)) ;) (if_statement "if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }" if (parenthesized_expression "((uVar18 * 2 & 0x10000) == 0)" ( (binary_expression "(uVar18 * 2 & 0x10000) == 0" (parenthesized_expression "(uVar18 * 2 & 0x10000)" ( (binary_expression "uVar18 * 2 & 0x10000" (binary_expression "uVar18 * 2" identifier * number_literal) & number_literal) )) == number_literal) )) (compound_statement "{\n          local_b0 = uVar17;\n        }" { (expression_statement "local_b0 = uVar17;" (assignment_expression "local_b0 = uVar17" identifier = identifier) ;) })) })) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;) (expression_statement "uVar36 = iVar35 - param_11 >> 1;" (assignment_expression "uVar36 = iVar35 - param_11 >> 1" identifier = (binary_expression "iVar35 - param_11 >> 1" (binary_expression "iVar35 - param_11" identifier - identifier) >> number_literal)) ;) (if_statement "if ((bool)bVar14) goto LAB_002c3c10;" if (parenthesized_expression "((bool)bVar14)" ( (cast_expression "(bool)bVar14" ( (type_descriptor "bool" primitive_type) ) identifier) )) (goto_statement "goto LAB_002c3c10;" goto statement_identifier ;)) (expression_statement "*(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;" (assignment_expression "*(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18" (pointer_expression "*(uint *)param_10" * (cast_expression "(uint *)param_10" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "(uVar36 ^ uVar18) & 0xffff ^ uVar18" (binary_expression "(uVar36 ^ uVar18) & 0xffff" (parenthesized_expression "(uVar36 ^ uVar18)" ( (binary_expression "uVar36 ^ uVar18" identifier ^ identifier) )) & number_literal) ^ identifier)) ;) (expression_statement "uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);" (assignment_expression "uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000)" identifier = (call_expression "(uint)(0x1ffff < (iVar35 - param_11) + 0x10000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x1ffff < (iVar35 - param_11) + 0x10000)" ( (binary_expression "0x1ffff < (iVar35 - param_11) + 0x10000" number_literal < (binary_expression "(iVar35 - param_11) + 0x10000" (parenthesized_expression "(iVar35 - param_11)" ( (binary_expression "iVar35 - param_11" identifier - identifier) )) + number_literal)) )))) ;) (break_statement "break;" break ;)) (case_statement "case 0xf8:\n      local_b8 = 0;\nLAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\njoined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;\nLAB_002c1fd0:\n      puVar34 = param_10;\nLAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;\nLAB_002c1fd6:\n      uVar17 = 0;" case number_literal : (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" identifier = number_literal) ;) (labeled_statement "LAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" statement_identifier : (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" identifier = (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" identifier (argument_list "(param_9,plVar6,local_b0)" ( identifier , identifier , identifier )))) ;)) (expression_statement "uVar36 = iVar35 - param_11;" (assignment_expression "uVar36 = iVar35 - param_11" identifier = (binary_expression "iVar35 - param_11" identifier - identifier)) ;) (labeled_statement "joined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;" statement_identifier : (if_statement "if (bVar45 && bVar48) goto LAB_002c1f30;" if (parenthesized_expression "(bVar45 && bVar48)" ( (binary_expression "bVar45 && bVar48" identifier && identifier) )) (goto_statement "goto LAB_002c1f30;" goto statement_identifier ;))) (labeled_statement "LAB_002c1fd0:\n      puVar34 = param_10;" statement_identifier : (expression_statement "puVar34 = param_10;" (assignment_expression "puVar34 = param_10" identifier = identifier) ;)) (labeled_statement "LAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;" statement_identifier : (expression_statement "*(uint *)puVar34 = uVar36;" (assignment_expression "*(uint *)puVar34 = uVar36" (pointer_expression "*(uint *)puVar34" * (cast_expression "(uint *)puVar34" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;)) (labeled_statement "LAB_002c1fd6:\n      uVar17 = 0;" statement_identifier : (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;))) })) (labeled_statement "LAB_002c1e60:\n    unaff_R13 = unaff_R13 + 1;" statement_identifier : (expression_statement "unaff_R13 = unaff_R13 + 1;" (assignment_expression "unaff_R13 = unaff_R13 + 1" identifier = (binary_expression "unaff_R13 + 1" identifier + number_literal)) ;)) (if_statement "if (local_d8 == unaff_R13) break;" if (parenthesized_expression "(local_d8 == unaff_R13)" ( (binary_expression "local_d8 == unaff_R13" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar18 = *unaff_R13;" (assignment_expression "uVar18 = *unaff_R13" identifier = (pointer_expression "*unaff_R13" * identifier)) ;) })) (expression_statement "local_c8 = &local_78;" (assignment_expression "local_c8 = &local_78" identifier = (pointer_expression "&local_78" & identifier)) ;) (expression_statement "uVar18 = uVar44 - 0x85;" (assignment_expression "uVar18 = uVar44 - 0x85" identifier = (binary_expression "uVar44 - 0x85" identifier - number_literal)) ;) (if_statement "if (local_f0 < 0xd) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    if (uVar18 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)) {\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(ushort *)((long)param_10 + 2) = (ushort)uVar36;\n    *(ushort *)param_10 = uVar30;\n  }\n  else if (((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)) &&\n          (1 < uVar44 - 0x8b)) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    goto LAB_002c19bf;\n  }" if (parenthesized_expression "(local_f0 < 0xd)" ( (binary_expression "local_f0 < 0xd" identifier < number_literal) )) (compound_statement "{\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    if (uVar18 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)) {\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(ushort *)((long)param_10 + 2) = (ushort)uVar36;\n    *(ushort *)param_10 = uVar30;\n  }" { (expression_statement "uVar36 = (uint)*param_10;" (assignment_expression "uVar36 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "uVar30 = (ushort)(uVar36 >> 0x10);" (assignment_expression "uVar30 = (ushort)(uVar36 >> 0x10)" identifier = (call_expression "(ushort)(uVar36 >> 0x10)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar36 >> 0x10)" ( (binary_expression "uVar36 >> 0x10" identifier >> number_literal) )))) ;) (if_statement "if (uVar18 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)) {\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }" if (parenthesized_expression "(uVar18 < 0x29)" ( (binary_expression "uVar18 < 0x29" identifier < number_literal) )) (compound_statement "{\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }\n    }" { (if_statement "if ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }" if (parenthesized_expression "((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0)" ( (binary_expression "(0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0" (parenthesized_expression "(0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1)" ( (binary_expression "0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1" (binary_expression "0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f)" number_literal >> (parenthesized_expression "((ulong)uVar18 & 0x3f)" ( (binary_expression "(ulong)uVar18 & 0x3f" (cast_expression "(ulong)uVar18" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) ))) & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }" { (labeled_statement "LAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;" statement_identifier : (expression_statement "uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;" (assignment_expression "uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f" identifier = (binary_expression "(ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f" (binary_expression "(ushort)uVar36 & 0x7e0 | uVar30 & 0xf800" (binary_expression "(ushort)uVar36 & 0x7e0" (cast_expression "(ushort)uVar36" ( (type_descriptor "ushort" type_identifier) ) identifier) & number_literal) | (binary_expression "uVar30 & 0xf800" identifier & number_literal)) | (binary_expression "(ushort)(uVar36 >> 0xb) & 0x1f" (call_expression "(ushort)(uVar36 >> 0xb)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar36 >> 0xb)" ( (binary_expression "uVar36 >> 0xb" identifier >> number_literal) ))) & number_literal))) ;)) (expression_statement "uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;" (assignment_expression "uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0" identifier = (binary_expression "uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0" (binary_expression "uVar36 & 0x1f" identifier & number_literal) | (binary_expression "uVar36 >> 0xb & 0xffffffe0" (binary_expression "uVar36 >> 0xb" identifier >> number_literal) & number_literal))) ;) })) }) (else_clause "else if (((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)) {\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }" else (if_statement "if (((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)) {\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }" if (parenthesized_expression "(((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100))" ( (binary_expression "((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)" (parenthesized_expression "((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4)" ( (binary_expression "(uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4" (parenthesized_expression "(uVar44 == 0x85 || uVar44 == 100)" ( (binary_expression "uVar44 == 0x85 || uVar44 == 100" (binary_expression "uVar44 == 0x85" identifier == number_literal) || (binary_expression "uVar44 == 100" identifier == number_literal)) )) || (binary_expression "uVar44 == 4" identifier == number_literal)) )) || (parenthesized_expression "(uVar44 != 100)" ( (binary_expression "uVar44 != 100" identifier != number_literal) ))) )) (compound_statement "{\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }" { (if_statement "if (uVar44 != 100) goto LAB_002c1c8c;" if (parenthesized_expression "(uVar44 != 100)" ( (binary_expression "uVar44 != 100" identifier != number_literal) )) (goto_statement "goto LAB_002c1c8c;" goto statement_identifier ;)) (expression_statement "uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;" (assignment_expression "uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f" identifier = (binary_expression "uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f" (binary_expression "uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0" (binary_expression "uVar30 & 0xfc00" identifier & number_literal) | (binary_expression "(ushort)(uVar36 >> 0xb) & 0x3e0" (call_expression "(ushort)(uVar36 >> 0xb)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar36 >> 0xb)" ( (binary_expression "uVar36 >> 0xb" identifier >> number_literal) ))) & number_literal)) | (binary_expression "uVar30 >> 5 & 0x1f" (binary_expression "uVar30 >> 5" identifier >> number_literal) & number_literal))) ;) })))) (labeled_statement "LAB_002c19bf:\n    *(ushort *)((long)param_10 + 2) = (ushort)uVar36;" statement_identifier : (expression_statement "*(ushort *)((long)param_10 + 2) = (ushort)uVar36;" (assignment_expression "*(ushort *)((long)param_10 + 2) = (ushort)uVar36" (pointer_expression "*(ushort *)((long)param_10 + 2)" * (cast_expression "(ushort *)((long)param_10 + 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_10 + 2)" ( (binary_expression "(long)param_10 + 2" (cast_expression "(long)param_10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (cast_expression "(ushort)uVar36" ( (type_descriptor "ushort" type_identifier) ) identifier)) ;)) (expression_statement "*(ushort *)param_10 = uVar30;" (assignment_expression "*(ushort *)param_10 = uVar30" (pointer_expression "*(ushort *)param_10" * (cast_expression "(ushort *)param_10" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (else_clause "else if (((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)) &&\n          (1 < uVar44 - 0x8b)) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    goto LAB_002c19bf;\n  }" else (if_statement "if (((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)) &&\n          (1 < uVar44 - 0x8b)) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    goto LAB_002c19bf;\n  }" if (parenthesized_expression "(((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)) &&\n          (1 < uVar44 - 0x8b))" ( (binary_expression "((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)) &&\n          (1 < uVar44 - 0x8b)" (parenthesized_expression "((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0))" ( (binary_expression "(uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)" (parenthesized_expression "(uVar18 < 0x29)" ( (binary_expression "uVar18 < 0x29" identifier < number_literal) )) && (parenthesized_expression "((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)" ( (binary_expression "(0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0" (parenthesized_expression "(0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1)" ( (binary_expression "0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1" (binary_expression "0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f)" number_literal >> (parenthesized_expression "((ulong)uVar18 & 0x3f)" ( (binary_expression "(ulong)uVar18 & 0x3f" (cast_expression "(ulong)uVar18" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) ))) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "(1 < uVar44 - 0x8b)" ( (binary_expression "1 < uVar44 - 0x8b" number_literal < (binary_expression "uVar44 - 0x8b" identifier - number_literal)) ))) )) (compound_statement "{\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    goto LAB_002c19bf;\n  }" { (expression_statement "uVar36 = (uint)*param_10;" (assignment_expression "uVar36 = (uint)*param_10" identifier = (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "uVar30 = (ushort)(uVar36 >> 0x10);" (assignment_expression "uVar30 = (ushort)(uVar36 >> 0x10)" identifier = (call_expression "(ushort)(uVar36 >> 0x10)" (parenthesized_expression "(ushort)" ( identifier )) (argument_list "(uVar36 >> 0x10)" ( (binary_expression "uVar36 >> 0x10" identifier >> number_literal) )))) ;) (goto_statement "goto LAB_002c19bf;" goto statement_identifier ;) })))) (if_statement "if (uVar17 == 1) {\n    if (param_8 == (undefined8 *)0x0) {\n      lVar31 = plVar6[1];\n      uVar22 = gettext("relocation overflow: %u against local symbol %u in %s");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31);\n    }\n    else {\n      if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }\n      if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      FUN_0049e340();\n    }\n  }\n  else if (uVar17 != 0) {\n    if (uVar17 == 2) {\n      pcVar39 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (uVar17 != 3) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }\n    uVar22 = gettext(pcVar39);\n    FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n  }" if (parenthesized_expression "(uVar17 == 1)" ( (binary_expression "uVar17 == 1" identifier == number_literal) )) (compound_statement "{\n    if (param_8 == (undefined8 *)0x0) {\n      lVar31 = plVar6[1];\n      uVar22 = gettext("relocation overflow: %u against local symbol %u in %s");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31);\n    }\n    else {\n      if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }\n      if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      FUN_0049e340();\n    }\n  }" { (if_statement "if (param_8 == (undefined8 *)0x0) {\n      lVar31 = plVar6[1];\n      uVar22 = gettext("relocation overflow: %u against local symbol %u in %s");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31);\n    }\n    else {\n      if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }\n      if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      FUN_0049e340();\n    }" if (parenthesized_expression "(param_8 == (undefined8 *)0x0)" ( (binary_expression "param_8 == (undefined8 *)0x0" identifier == (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      lVar31 = plVar6[1];\n      uVar22 = gettext("relocation overflow: %u against local symbol %u in %s");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31);\n    }" { (expression_statement "lVar31 = plVar6[1];" (assignment_expression "lVar31 = plVar6[1]" identifier = (subscript_expression "plVar6[1]" identifier [ number_literal ])) ;) (expression_statement "uVar22 = gettext("relocation overflow: %u against local symbol %u in %s");" (assignment_expression "uVar22 = gettext("relocation overflow: %u against local symbol %u in %s")" identifier = (call_expression "gettext("relocation overflow: %u against local symbol %u in %s")" identifier (argument_list "("relocation overflow: %u against local symbol %u in %s")" ( (string_literal ""relocation overflow: %u against local symbol %u in %s"" " string_content ") )))) ;) (expression_statement "FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31);" (call_expression "FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31)" identifier (argument_list "(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) }) (else_clause "else {\n      if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }\n      if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      FUN_0049e340();\n    }" else (compound_statement "{\n      if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }\n      if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      FUN_0049e340();\n    }" { (if_statement "if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }" if (parenthesized_expression "((*(byte *)((long)param_8 + 0x3a) & 7) == 0)" ( (binary_expression "(*(byte *)((long)param_8 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)((long)param_8 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)param_8 + 0x3a) & 7" (pointer_expression "*(byte *)((long)param_8 + 0x3a)" * (cast_expression "(byte *)((long)param_8 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x3a)" ( (binary_expression "(long)param_8 + 0x3a" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }" { (if_statement "if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }" if (parenthesized_expression "((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0)" ( (binary_expression "(*(byte *)((long)param_8 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((long)param_8 + 0x3b) & 0x20)" ( (binary_expression "*(byte *)((long)param_8 + 0x3b) & 0x20" (pointer_expression "*(byte *)((long)param_8 + 0x3b)" * (cast_expression "(byte *)((long)param_8 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x3b)" ( (binary_expression "(long)param_8 + 0x3b" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }" { (expression_statement "bVar42 = FUN_00443190();" (assignment_expression "bVar42 = FUN_00443190()" identifier = (call_expression "FUN_00443190()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar42 = bVar42 ^ 1;" (assignment_expression "bVar42 = bVar42 ^ 1" identifier = (binary_expression "bVar42 ^ 1" identifier ^ number_literal)) ;) }) (else_clause "else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }" else (compound_statement "{\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }" { (expression_statement "bVar42 = *(int *)(param_8 + 3) != 0;" (assignment_expression "bVar42 = *(int *)(param_8 + 3) != 0" identifier = (binary_expression "*(int *)(param_8 + 3) != 0" (pointer_expression "*(int *)(param_8 + 3)" * (cast_expression "(int *)(param_8 + 3)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8 + 3)" ( (binary_expression "param_8 + 3" identifier + number_literal) )))) != number_literal)) ;) }))) }) (else_clause "else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }" else (compound_statement "{\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }" { (expression_statement "bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;" (assignment_expression "bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4" identifier = (binary_expression "(*(byte *)((long)param_8 + 0x3a) & 7) != 4" (parenthesized_expression "(*(byte *)((long)param_8 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)param_8 + 0x3a) & 7" (pointer_expression "*(byte *)((long)param_8 + 0x3a)" * (cast_expression "(byte *)((long)param_8 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x3a)" ( (binary_expression "(long)param_8 + 0x3a" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal)) ;) }))) (if_statement "if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }" if (parenthesized_expression "((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0))" ( (binary_expression "(bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)" (parenthesized_expression "(bVar42 == 0)" ( (binary_expression "bVar42 == 0" identifier == number_literal) )) || (parenthesized_expression "((*(byte *)((long)param_8 + 0x3a) & 7) != 0)" ( (binary_expression "(*(byte *)((long)param_8 + 0x3a) & 7) != 0" (parenthesized_expression "(*(byte *)((long)param_8 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)param_8 + 0x3a) & 7" (pointer_expression "*(byte *)((long)param_8 + 0x3a)" * (cast_expression "(byte *)((long)param_8 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_8 + 0x3a)" ( (binary_expression "(long)param_8 + 0x3a" (cast_expression "(long)param_8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }" { (expression_statement "FUN_004443d0(local_58,param_8);" (call_expression "FUN_004443d0(local_58,param_8)" identifier (argument_list "(local_58,param_8)" ( identifier , identifier ))) ;) (expression_statement "puVar12 = local_58[0];" (assignment_expression "puVar12 = local_58[0]" identifier = (subscript_expression "local_58[0]" identifier [ number_literal ])) ;) (expression_statement "uVar22 = gettext("relocation overflow: %u against \'%s\'");" (assignment_expression "uVar22 = gettext("relocation overflow: %u against \'%s\'")" identifier = (call_expression "gettext("relocation overflow: %u against \'%s\'")" identifier (argument_list "("relocation overflow: %u against \'%s\'")" ( (string_literal ""relocation overflow: %u against \'%s\'"" " string_content escape_sequence string_content escape_sequence ") )))) ;) (expression_statement "FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);" (call_expression "FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12)" identifier (argument_list "(param_2,param_6,iVar3,uVar22,uVar44,puVar12)" ( identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (if_statement "if (local_58[0] == auStack_48) goto LAB_002c193c;" if (parenthesized_expression "(local_58[0] == auStack_48)" ( (binary_expression "local_58[0] == auStack_48" (subscript_expression "local_58[0]" identifier [ number_literal ]) == identifier) )) (goto_statement "goto LAB_002c193c;" goto statement_identifier ;)) }) (else_clause "else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }" else (compound_statement "{\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }" { (expression_statement "uVar22 = *(undefined8 *)(param_8[2] + 8);" (assignment_expression "uVar22 = *(undefined8 *)(param_8[2] + 8)" identifier = (pointer_expression "*(undefined8 *)(param_8[2] + 8)" * (cast_expression "(undefined8 *)(param_8[2] + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_8[2] + 8)" ( (binary_expression "param_8[2] + 8" (subscript_expression "param_8[2]" identifier [ number_literal ]) + number_literal) ))))) ;) (expression_statement "FUN_004443d0(local_58,param_8);" (call_expression "FUN_004443d0(local_58,param_8)" identifier (argument_list "(local_58,param_8)" ( identifier , identifier ))) ;) (expression_statement "puVar12 = local_58[0];" (assignment_expression "puVar12 = local_58[0]" identifier = (subscript_expression "local_58[0]" identifier [ number_literal ])) ;) (expression_statement "uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");" (assignment_expression "uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s")" identifier = (call_expression "gettext("relocation overflow: %u against \'%s\' defined in %s")" identifier (argument_list "("relocation overflow: %u against \'%s\' defined in %s")" ( (string_literal ""relocation overflow: %u against \'%s\' defined in %s"" " string_content escape_sequence string_content escape_sequence string_content ") )))) ;) (expression_statement "FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);" (call_expression "FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22)" identifier (argument_list "(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (if_statement "if (local_58[0] == auStack_48) goto LAB_002c193c;" if (parenthesized_expression "(local_58[0] == auStack_48)" ( (binary_expression "local_58[0] == auStack_48" (subscript_expression "local_58[0]" identifier [ number_literal ]) == identifier) )) (goto_statement "goto LAB_002c193c;" goto statement_identifier ;)) }))) (expression_statement "FUN_0049e340();" (call_expression "FUN_0049e340()" identifier (argument_list "()" ( ))) ;) }))) }) (else_clause "else if (uVar17 != 0) {\n    if (uVar17 == 2) {\n      pcVar39 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (uVar17 != 3) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }\n    uVar22 = gettext(pcVar39);\n    FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n  }" else (if_statement "if (uVar17 != 0) {\n    if (uVar17 == 2) {\n      pcVar39 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (uVar17 != 3) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }\n    uVar22 = gettext(pcVar39);\n    FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n  }" if (parenthesized_expression "(uVar17 != 0)" ( (binary_expression "uVar17 != 0" identifier != number_literal) )) (compound_statement "{\n    if (uVar17 == 2) {\n      pcVar39 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (uVar17 != 3) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }\n    uVar22 = gettext(pcVar39);\n    FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n  }" { (if_statement "if (uVar17 == 2) {\n      pcVar39 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (uVar17 != 3) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }" if (parenthesized_expression "(uVar17 == 2)" ( (binary_expression "uVar17 == 2" identifier == number_literal) )) (compound_statement "{\n      pcVar39 = "unexpected opcode while processing relocation";\n    }" { (expression_statement "pcVar39 = "unexpected opcode while processing relocation";" (assignment_expression "pcVar39 = "unexpected opcode while processing relocation"" identifier = (string_literal ""unexpected opcode while processing relocation"" " string_content ")) ;) }) (else_clause "else {\n      if (uVar17 != 3) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }" else (compound_statement "{\n      if (uVar17 != 3) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }" { (if_statement "if (uVar17 != 3) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }" if (parenthesized_expression "(uVar17 != 3)" ( (binary_expression "uVar17 != 3" identifier != number_literal) )) (compound_statement "{\n                    \n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }" { (expression_statement "FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x3035,"relocate")" identifier (argument_list "("../../gold/mips.cc",0x3035,"relocate")" ( (string_literal ""../../gold/mips.cc"" " string_content ") , number_literal , (string_literal ""relocate"" " string_content ") ))) ;) })) (expression_statement "pcVar39 = "unaligned PC-relative relocation";" (assignment_expression "pcVar39 = "unaligned PC-relative relocation"" identifier = (string_literal ""unaligned PC-relative relocation"" " string_content ")) ;) }))) (expression_statement "uVar22 = gettext(pcVar39);" (assignment_expression "uVar22 = gettext(pcVar39)" identifier = (call_expression "gettext(pcVar39)" identifier (argument_list "(pcVar39)" ( identifier )))) ;) (expression_statement "FUN_0034ad90(param_2,param_6,iVar3,uVar22);" (call_expression "FUN_0034ad90(param_2,param_6,iVar3,uVar22)" identifier (argument_list "(param_2,param_6,iVar3,uVar22)" ( identifier , identifier , identifier , identifier ))) ;) })))) (labeled_statement "LAB_002c193c:\n  FUN_001a5bc0(local_c8);" statement_identifier : (expression_statement "FUN_001a5bc0(local_c8);" (call_expression "FUN_001a5bc0(local_c8)" identifier (argument_list "(local_c8)" ( identifier ))) ;)) (return_statement "return 1;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (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) )))) / (parenthesized_expression ( IDENT ))) * (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) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < 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) ) (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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) ))))) ;) (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 (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) )) * LIT)) )) - (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression LIT << (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 (subscript_expression IDENT [ LIT ]) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (parenthesized_expression ( (binary_expression IDENT - (subscript_expression IDENT [ LIT ])) )) * LIT)) )) - (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & IDENT) )) != LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT | IDENT) )) & IDENT) )) != LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) })) (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 ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) )) (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 { (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 = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) || (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) })) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) )) (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 = IDENT) ;) }) (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 = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != IDENT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (goto_statement goto statement_identifier ;) })) (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 + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (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 = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == IDENT) )) || (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (char_literal ' escape_sequence ')) , (binary_expression (subscript_expression IDENT [ LIT ]) == LIT)) ))) )) (goto_statement goto statement_identifier ;))) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT & IDENT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == BOOL) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (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 = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (goto_statement goto statement_identifier ;))) }))) }) (else_clause else (compound_statement { (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 ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ LIT) )) & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ LIT) )) & (binary_expression IDENT == LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | IDENT)) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;)) }))) }) (else_clause else (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)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) || (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) || (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (binary_expression IDENT - 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 = BOOL) ;) (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) )))) == (char_literal ' escape_sequence '))) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (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 ( ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) )))) + (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 = IDENT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (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 ')) )) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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) )))) == 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 { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) + LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * 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 = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * 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 )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (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 { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (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) )))) != LIT) ))) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))))) ;) })) })))) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_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 (subscript_expression IDENT [ LIT ]) == LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) == LIT) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (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) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) && (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) )) * LIT)) )) - (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 LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT)) )))) & (binary_expression LIT << (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) )) != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - LIT) ))) + LIT))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (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 *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) != LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = BOOL) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) != LIT) )) && (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) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) + LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT)) ;) (expression_statement (assignment_expression IDENT = (unary_expression ! (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) >> LIT) & LIT) ^ LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) && (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) ))) )) && (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) ))) )) && (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - 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 , IDENT , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (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 (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) || IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (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 ( ))) ;) (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 ( ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) >> LIT) & LIT) )) == LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & (binary_expression IDENT == LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == BOOL) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (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 = (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 { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) )) (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 = IDENT) ;) }) (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 = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) != IDENT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) })) (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) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ LIT) )) & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ LIT) )) & (binary_expression IDENT == LIT))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT == LIT) || (binary_expression IDENT == LIT))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) || (binary_expression IDENT == LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | 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 = LIT) ;) (goto_statement goto statement_identifier ;) })) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (binary_expression IDENT == LIT) || (binary_expression IDENT == LIT))) , (binary_expression (binary_expression IDENT == LIT) || (binary_expression IDENT == LIT))) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) 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 = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT & LIT) ))) | (binary_expression IDENT & LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (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 ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (binary_expression IDENT == LIT) || (binary_expression IDENT == LIT))) , (binary_expression (binary_expression IDENT != LIT) && (binary_expression IDENT != LIT))) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression LIT << (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) & LIT) ))) & LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) )))) & LIT) )) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) )))) & LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) )))) & LIT) )) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & LIT) )) != LIT) ))) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression & IDENT)) , (binary_expression IDENT != LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT == IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != (char_literal ' escape_sequence '))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT && IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement default : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) })) }))) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) || (unary_expression ! IDENT)) )) & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression 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 { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) + LIT)) ;) })) (goto_statement goto statement_identifier ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT & LIT) ))) == (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) & LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (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 = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = BOOL) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression IDENT + LIT) & IDENT) | IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression 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 { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) + LIT)) ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) || (unary_expression ! IDENT)) )) && (parenthesized_expression ( (unary_expression ! IDENT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == (char_literal ' escape_sequence '))) ))) )) && (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> IDENT) )) >> LIT) != (binary_expression (binary_expression IDENT + LIT) >> (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) & LIT) )))) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> IDENT) ^ IDENT) )) & LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - LIT) < LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - LIT) < LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT == LIT) || (binary_expression IDENT == LIT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) || (unary_expression ! IDENT)) )) && (parenthesized_expression ( (unary_expression ! IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT & LIT) | (binary_expression IDENT << LIT))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT && IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) }))) }))) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) })) })) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) })) }))) })) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) })) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) })) (goto_statement goto statement_identifier ;)) })) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement default : (expression_statement (assignment_expression IDENT = LIT) ;) (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 ))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (binary_expression IDENT + LIT)) )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , 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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) }))) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (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)) , (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )))) )) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_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 IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == BOOL) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 = (binary_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )) [ LIT ]) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) + (pointer_expression * IDENT))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) + IDENT) + LIT) )) * LIT) >> LIT) )))) )))) = IDENT) ;) (break_statement break ;) }))) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) = IDENT) ;) })) (break_statement break ;)) (case_statement case LIT : (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;))) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) || (unary_expression ! IDENT)) )) & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , (binary_expression IDENT & LIT) , LIT , IDENT , IDENT , IDENT )))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })))) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) != (pointer_expression & IDENT)) )) (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (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 = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;)) }))) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) != (pointer_expression & IDENT)) )) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) != (pointer_expression & IDENT)) )) (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (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 = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , (binary_expression IDENT & LIT) , IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;)) }))) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) != (pointer_expression & IDENT)) )) ;) })) }))) (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 , IDENT )))) ;) }) (else_clause else (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 { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (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) )))) != LIT) ))) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))))) ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (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) )))) != LIT) ))) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))))) ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (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) )))) != LIT) ))) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))))) ;) })) }))) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + LIT)) ;) }))))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & LIT) ^ IDENT)) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = 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) ))))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (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) )))) != LIT) ))) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))))) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - 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 = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & LIT)) ;) })) (if_statement if (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression IDENT ^ IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT + 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 ))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (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 IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , (binary_expression IDENT & LIT) , LIT , IDENT , IDENT , IDENT )))) ;) (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 ( LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto 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 (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (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 , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 , IDENT )))) ;) (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 ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) ^ IDENT) )) & LIT) ^ (binary_expression (parenthesized_expression ( IDENT )) * IDENT))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (binary_expression IDENT + LIT)) )))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - IDENT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression IDENT ^ (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & LIT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + LIT)) )))) ;) })) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (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 (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 , LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 , IDENT )))) ;) (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 ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) ^ IDENT) )) & LIT) ^ (binary_expression (parenthesized_expression ( IDENT )) * IDENT))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (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 { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (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) )))) != LIT) ))) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))))) ;) })) })))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - IDENT) )))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , 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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) })) (goto_statement goto statement_identifier ;) })) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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 * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT , (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (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 { (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 , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) )) & LIT) ^ (binary_expression (parenthesized_expression ( IDENT )) * IDENT))) ;) (goto_statement goto statement_identifier ;) })) (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 ')) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) >> LIT) ))) << LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (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 , IDENT )))) ;) (if_statement if (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & LIT) ^ IDENT)) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( IDENT ))) (argument_list ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) ))) >> LIT) ))) << LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) })) (if_statement if (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & LIT) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (binary_expression IDENT + LIT)) )))) ;) }))) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT , (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (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 { (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 , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + LIT) >> LIT) )))) ;) (goto_statement goto statement_identifier ;) }))) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT , (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (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 { (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 , IDENT )))) ;) (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 ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) )) & LIT) ^ (binary_expression (parenthesized_expression ( IDENT )) * IDENT))) ;) (goto_statement goto statement_identifier ;) }))) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (return_statement return IDENT ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) - LIT)) , (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) >> LIT) )))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) })) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT && IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (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 , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (break_statement break ;)) (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 (parenthesized_expression ( IDENT )) * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) - LIT) >> LIT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT : (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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 * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT , (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) ^ IDENT) )) & LIT) ^ (binary_expression (parenthesized_expression ( IDENT )) * IDENT))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (binary_expression IDENT + LIT)) )))) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) || (unary_expression ! IDENT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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 * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT , (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT )))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) || (unary_expression ! IDENT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) IDENT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression IDENT | (binary_expression IDENT & LIT))) ;) (break_statement break ;)) (case_statement case LIT :) (case_statement case LIT :) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) || (unary_expression ! IDENT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - IDENT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression IDENT ^ (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & LIT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + LIT)) )))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - IDENT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression IDENT ^ (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & LIT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + LIT)) )))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (if_statement if (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression IDENT ^ (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & LIT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (binary_expression IDENT + LIT)) )))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) || (unary_expression ! IDENT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression IDENT ^ (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & LIT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + LIT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) | IDENT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })))) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) != (pointer_expression & IDENT))) ))) )) (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (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 IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression LIT - IDENT) )) + IDENT) ))) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT && IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT | (binary_expression IDENT & LIT))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }))) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) != (pointer_expression & IDENT)) )) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (if_statement if (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & LIT) ^ IDENT)) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - IDENT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & LIT) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + LIT)) )))) ;) }))) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - IDENT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & LIT) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + LIT)) )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * LIT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - IDENT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT ^ IDENT) )) & LIT) ^ IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + LIT)) )))) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT && IDENT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;))) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (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 (binary_expression LIT >> (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) | (binary_expression IDENT & LIT)) | (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) & LIT))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT & LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT))) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) || (binary_expression IDENT == LIT)) )) || (binary_expression IDENT == LIT)) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression IDENT & LIT) | (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) & LIT)) | (binary_expression (binary_expression IDENT >> LIT) & LIT))) ;) })))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT >> (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) & LIT) )) != LIT) ))) )) && (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (goto_statement goto statement_identifier ;) })))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (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 (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) }) (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 (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 (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT ^ LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT)) ;) }))) }) (else_clause else (compound_statement { (expression_statement (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)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == 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 { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 , IDENT , IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == IDENT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) }) (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 (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (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 = (string_literal " string_content ")) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) })))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (return_statement return LIT ;) })))
(function_definition "undefined8\nFUN_002c1090(ulong *param_1,long param_2,int param_3,long param_4,undefined8 param_5,long param_6,\n            int *param_7,undefined8 *param_8,undefined8 *param_9,ulong *param_10,uint param_11)\n\n{\n  byte bVar1;\n  ushort uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  long *plVar6;\n  int *piVar7;\n  ulong uVar8;\n  uint *puVar9;\n  undefined8 *puVar10;\n  char cVar11;\n  undefined1 *puVar12;\n  byte bVar13;\n  byte bVar14;\n  char cVar15;\n  char cVar16;\n  uint uVar17;\n  uint uVar18;\n  undefined4 uVar19;\n  uint uVar20;\n  int iVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  ulong uVar24;\n  long lVar25;\n  long *plVar26;\n  long *plVar27;\n  long *plVar28;\n  long *plVar29;\n  ushort uVar30;\n  long lVar31;\n  int extraout_EDX;\n  ulong uVar32;\n  uint uVar33;\n  ulong *puVar34;\n  int iVar35;\n  uint uVar36;\n  byte *pbVar37;\n  byte *pbVar38;\n  char *pcVar39;\n  long *plVar40;\n  undefined8 uVar41;\n  byte bVar42;\n  uint *unaff_R13;\n  ulong uVar43;\n  uint uVar44;\n  bool bVar45;\n  bool bVar46;\n  byte bVar47;\n  bool bVar48;\n  bool bVar49;\n  sbyte local_118;\n  uint local_108;\n  undefined8 *local_100;\n  uint local_f0;\n  byte local_e8;\n  uint local_e4;\n  uint *local_d8;\n  byte local_cf;\n  byte local_ce;\n  bool local_cd;\n  uint local_cc;\n  undefined8 *local_c8;\n  int local_bc;\n  ulong local_b8;\n  uint local_b0;\n  undefined8 *local_98;\n  uint local_84;\n  undefined4 uStack_80;\n  undefined4 uStack_7c;\n  undefined8 local_78;\n  undefined4 local_70;\n  uint local_68;\n  undefined1 *local_58 [2];\n  undefined1 auStack_48 [24];\n  \n  bVar42 = 0;\n  uVar18 = param_7[1];\n  uVar32 = (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x14) /\n           (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x24);\n  iVar3 = *param_7;\n  uVar44 = uVar18 & 0xff;\n  uVar33 = uVar18 >> 8;\n  if (param_3 == 4) {\n    cVar11 = '\0';\n    local_cc = param_7[2];\n    local_bc = -1;\n    if (param_6 + 1U < uVar32) {\n      local_bc = param_7[3];\n      cVar11 = (char)param_7[4];\n    }\n  }\n  else if (param_6 + 1U < uVar32) {\n    local_cc = 0;\n    local_bc = param_7[2];\n    cVar11 = (char)param_7[3];\n  }\n  else {\n    cVar11 = '\0';\n    local_bc = -1;\n    local_cc = 0;\n  }\n  local_70 = 0x80000000;\n  local_68 = 0;\n  plVar6 = *(long **)(param_2 + 0x10);\n  local_78 = 0xffffffff00000000;\n  if (param_8 == (undefined8 *)0x0) {\n    if (((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46) <= (ulong)uVar33) {\n                    \n      FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");\n    }\n    local_e8 = (byte)(uVar18 >> 8);\n    uVar24 = 1L << (local_e8 & 0x3f);\n    uVar32 = *(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8);\n    local_b8 = plVar6[0x4c];\n    uVar43 = uVar24 & uVar32;\n    bVar47 = uVar43 != 0;\n    if (((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b) <= (ulong)uVar33) {\nLAB_002c45d2:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");\n    }\n    uVar8 = *(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8);\n    bVar14 = (uVar24 & uVar8) != 0;\n    local_cd = ((uVar32 | uVar8) & uVar24) != 0;\n    if (local_cd) {\n                    \n      local_68 = FUN_001a5ac0(param_9,plVar6,1);\n      param_9 = &local_78;\n    }\n    if (uVar44 == 100) {\n      plVar27 = (long *)plVar6[0x69];\n      plVar40 = plVar6 + 0x68;\n      plVar29 = plVar27;\n      plVar28 = plVar40;\n      if (plVar27 == (long *)0x0) goto LAB_002c1c10;\n      do {\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      } while (plVar26 != (long *)0x0);\n      if (((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))\n      goto LAB_002c1c10;\n      plVar29 = plVar40;\n      if (uVar43 != 0) {\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }\n      do {\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      } while (plVar27 != (long *)0x0);\n      lVar31 = 0;\n      if ((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)) {\n        lVar31 = plVar28[5];\n      }\n      bVar47 = 0;\n      cVar15 = '\0';\n      goto LAB_002c1d90;\n    }\n    plVar40 = (long *)plVar6[99];\n    plVar27 = plVar6 + 0x62;\n    if ((long *)plVar6[99] != (long *)0x0) {\n      do {\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      } while ((long *)plVar29[2] != (long *)0x0);\nLAB_002c2b6a:\n      if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;\n      goto LAB_002c15fe;\n    }\nLAB_002c1c10:\n    cVar15 = '\0';\nLAB_002c1c17:\n    bVar45 = uVar44 == 100;\nLAB_002c13a0:\n    bVar42 = bVar14 & bVar45;\n    bVar48 = (bool)bVar42;\n    if ((bool)bVar42 == false) {\nLAB_002c13ac:\n      bVar48 = bVar45;\n      if ((uVar18 & 0xf7) == 0x85) {\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }\n    }\n    else {\nLAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");\n      FUN_0034a750(uVar22);\n      bVar14 = bVar42;\n    }\nLAB_002c13d7:\n    if (param_8 != (undefined8 *)0x0) goto LAB_002c16b8;\n    local_cf = (bVar47 ^ 1) & bVar48;\n    local_ce = local_cf;\n    if (local_cf != 0) goto LAB_002c1402;\n    local_cf = (bVar14 ^ 1) & uVar44 == 0x85;\n    if (local_cf == 0) goto LAB_002c1bcf;\n    local_84 = 0x85;\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_f0 = 0x21;\n    local_b8 = (ulong)(param_3 == 9);\n    local_ce = local_cf;\nLAB_002c1d4a:\n    if (1 < local_84 - 0x8b) {\n      uVar17 = (uint)(ushort)*param_10;\n      uVar18 = (uint)*(ushort *)((long)param_10 + 2);\nLAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;\nLAB_002c1467:\n      *(uint *)param_10 = uVar18;\n    }\n  }\n  else {\n    bVar14 = *(byte *)((long)param_8 + 0x39) >> 2;\n    bVar47 = (bVar14 & 0x3c) == 0x3c;\n    bVar14 = (bVar14 & 0x30) == 0x20;\n    local_cd = (bool)bVar47 || (bool)bVar14;\n    if (((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)) {\n      local_68 = FUN_001a5ac0(param_9,plVar6,0);\n      local_68 = local_68 | 1;\n      param_9 = &local_78;\n    }\n    else {\n      local_cd = false;\n    }\n    local_c8 = &local_78;\n    iVar35 = 0;\n    if (uVar44 - 1 < 0xf9) {\n      iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];\n    }\n                    \n    cVar15 = FUN_00228fa0(param_8,iVar35);\n    if (cVar15 == '\0') {\n      bVar45 = false;\n      bVar48 = *(char *)((long)param_8 + 0x65) == '\0';\n      if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }\n    }\n    else {\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    \n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }\n    lVar31 = 9;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"_gp_disp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar45 = *pbVar37 < *pbVar38;\n      bVar48 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar48);\n    lVar31 = 0xf;\n    bVar48 = !bVar45 && !bVar48;\n    bVar46 = bVar48 < bVar45;\n    bVar49 = bVar48 == bVar45;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"__gnu_local_gp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar46 = *pbVar37 < *pbVar38;\n      bVar49 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar49);\n    if (bVar48 != bVar45) {\n      if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }\nLAB_002c15d8:\n      cVar15 = '\0';\n      if (uVar44 != 100) goto LAB_002c15e9;\nLAB_002c12e3:\n      lVar25 = param_8[0xf];\n      if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    \n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = true;\nLAB_002c1320:\n      local_c8 = &local_78;\n      if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    \n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }\n      goto LAB_002c13a0;\n    }\n    local_b8 = (ulong)*(byte *)((long)plVar6 + 0x36c);\n    bVar42 = *(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1;\n    if ((!bVar46 && !bVar49) == bVar46) {\n      if (bVar42 == 0) goto LAB_002c1750;\n    }\n    else if (bVar42 == 0) goto LAB_002c15d8;\n    if ((((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40)) {\n      uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n    }\n    cVar15 = '\x01';\n    if (uVar44 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    if (param_8[0xe] == 0) {\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    if ((uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0')) {\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = false;\n      goto LAB_002c13ac;\n    }\nLAB_002c15fe:\n    local_c8 = &local_78;\n    uVar17 = *(uint *)(param_2 + 0x30);\n    unaff_R13 = (uint *)(ulong)uVar17;\n    cVar16 = FUN_002972f0(plVar6,unaff_R13);\n    if ((cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e))) {\n      if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }\n    if (param_8 == (undefined8 *)0x0) {\n      plVar40 = (long *)plVar6[99];\n      plVar27 = plVar6 + 0x62;\n      if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }\nLAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);\n      bVar48 = uVar44 == 100;\n      bVar47 = 0;\n      if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }\n      param_9 = local_c8;\n      local_cd = true;\n      goto LAB_002c13d7;\n    }\n    if (*(char *)(param_8 + 9) == '\0') {\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");\n    }\n    if (*(int *)((long)param_8 + 0x4c) == -1) {\n      plVar40 = (long *)param_8[0xe];\n      goto LAB_002c3d91;\n    }\n    lVar31 = *(long *)(param_4 + 0x98);\n    if (lVar31 == 0) {\n      FUN_00290900();\nLAB_002c46d8:\n      FUN_00290940();\n      goto LAB_002c46dd;\n    }\n    local_cd = (bool)(*(byte *)(lVar31 + 0x20) & 1);\n    if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c4670:\n                    \n      FUN_00291e90();\n    }\n    bVar48 = uVar44 == 100;\n    local_68 = *(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8);\n    bVar47 = 0;\n    if ((uVar18 & 0xf7) != 0x85) {\n      param_9 = local_c8;\n      goto LAB_002c13c4;\n    }\n    param_9 = local_c8;\nLAB_002c16b8:\n    cVar16 = FUN_002e7200(param_8);\n    if (cVar16 == '\0') {\n      local_cf = (bVar47 ^ 1) & bVar48;\n      if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    else {\n      local_cf = 0;\n    }\n    if (*(char *)((long)param_8 + 100) != '\0') {\n      local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n      if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar44 - 100;\n      uVar32 = (ulong)(uVar44 - 0x85);\n      local_b8 = (ulong)(param_3 == 9);\n      uStack_80 = 0;\n      uStack_7c = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar30 = (ushort)*param_10;\n      uVar17 = (uint)uVar30;\n      uVar2 = *(ushort *)((long)param_10 + 2);\n      uVar18 = (uint)uVar2;\n      local_84 = uVar44;\n      if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    \n    local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0);\n    if ((local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    if (uVar44 - 0x85 < 0x29) {\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_ce = 0;\n    local_b8 = (ulong)(param_3 == 9);\nLAB_002c1b2f:\n    local_84 = uVar44;\n    if (((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;\n  }\n  uStack_80 = 0;\n  uStack_7c = 0;\n  unaff_R13 = &local_84;\n  uVar17 = 0;\n  local_e4 = 0;\n  local_d8 = (uint *)&local_78;\n  uVar44 = local_84;\n  uVar18 = local_84;\n  while (local_c8 = &local_78, uVar18 != 0) {\n    bVar45 = local_bc == iVar3;\n    bVar48 = cVar11 != '\0';\n    bVar14 = bVar45 && bVar48;\n    puVar34 = param_1;\n    if (*(char *)((long)param_1 + 4) == '\0') {\n      *(byte *)((long)param_1 + 4) = bVar14;\n      switch(uVar18) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }\n    }\n    local_cc = (uint)*param_1;\n    *(byte *)((long)param_1 + 4) = bVar14;\n    local_b0 = local_cc;\n    switch(uVar18) {\n    default:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);\n      break;\n    case 1:\n      local_b8 = 0;\n      local_b0 = local_cc;\nLAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar14 != 0) goto LAB_002c1f30;\n      *(ushort *)param_10 = (ushort)uVar36;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);\n      if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }\n      if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }\n      break;\n    case 3:\nswitchD_002c14fa_caseD_3:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");\n    case 4:\n    case 100:\n    case 0x85:\n      local_b8 = 0;\n      bVar42 = (!bVar45 || !bVar48) & local_cf;\n      uVar17 = (uint)*param_10;\n      goto LAB_002c38d3;\n    case 5:\n    case 0x68:\n    case 0x86:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }\n      break;\n    case 6:\n    case 0x69:\n    case 0x87:\n    case 0x9d:\n      local_b8 = 0;\n      local_108 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }\n      if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\nLAB_002c1ebf:\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;\n      break;\n    case 7:\n    case 8:\n    case 0x65:\n    case 0x88:\n    case 0x89:\n    case 0xac:\n      lVar31 = *(long *)(param_4 + 0x28);\n      if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }\n      local_b8 = 0;\n      iVar35 = 0;\n      uVar17 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar21 - iVar35;\n      if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }\n      uVar20 = (uVar36 ^ uVar17) & 0xffff;\n      if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar17 ^ uVar20;\n      if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }\n      goto LAB_002c1fd6;\n    case 9:\n    case 0x66:\n    case 0x8a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case 10:\n      local_b8 = 0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }\n      break;\n    case 0xb:\n    case 0x67:\n    case 0x8e:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;\n    case 0xc:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);\n      goto joined_r0x002c327b;\n    case 0x12:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);\n      if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }\n      break;\n    case 0x13:\n    case 0x91:\n    case 0xf9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }\n      if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }\n      local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n      if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }\n      if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;\n      goto LAB_002c1fd4;\n    case 0x14:\n    case 0x92:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) goto LAB_002c4726;\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }\n      if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }\n      uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);\n      if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;\n      goto LAB_002c2590;\n    case 0x15:\n    case 0x93:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;\n      local_b0 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }\n      if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }\n      break;\n    case 0x16:\n    case 0x1e:\n    case 0x94:\n    case 0x99:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }\n      goto LAB_002c46d8;\n    case 0x17:\n    case 0x1f:\n    case 0x95:\n    case 0x9a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }\nLAB_002c4792:\n      FUN_00290940();\nLAB_002c4797:\n      FUN_00290940();\nLAB_002c479c:\n      FUN_00290940();\nLAB_002c47a1:\n      FUN_00290940();\nLAB_002c47a6:\n      FUN_00290940();\n                    \n      uVar22 = FUN_0017eb9a();\n      return uVar22;\n    case 0x18:\n    case 0x96:\n      local_b8 = 0;\nLAB_002c2efa:\n      uVar18 = -local_b0;\nLAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      if (bVar14 != '\0') goto LAB_002c1f30;\n      uVar17 = 0;\n      *param_10 = (ulong)uVar36;\n      break;\n    case 0x1c:\n    case 0x97:\n      local_b8 = 0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }\n      uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);\n      goto joined_r0x002c1f7e;\n    case 0x1d:\n    case 0x98:\n      local_b8 = 0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar36 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }\n      FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }\n      uVar36 = uVar36 & 0xffff0000;\n      goto LAB_002c1fd0;\n    case 0x25:\n    case 0x9c:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }\n      uVar17 = (uint)*param_10;\n      uVar36 = uVar17;\n      if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }\n      if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }\n      break;\n    case 0x27:\n    case 0x29:\n      goto switchD_002c14fa_caseD_27;\n    case 0x2a:\n    case 0x6a:\n    case 0xa2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }\n      FUN_00290940();\nswitchD_002c14fa_caseD_27:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_27:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      goto joined_r0x002c327b;\n    case 0x2b:\n    case 0x6b:\n    case 0xa3:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }\n      if (lVar25 == 0) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }\n      local_e4 = *(uint *)(lVar25 + 0x14);\n      uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\nLAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;\n      uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;\nLAB_002c2590:\n      *(uint *)param_10 = uVar18;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 0x2c:\n    case 0x6c:\n    case 0xa4:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      goto LAB_002c1f79;\n    case 0x2d:\n    case 0x6d:\n    case 0xa5:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x2e:\n    case 0x6e:\n    case 0xa6:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) goto LAB_002c2030;\n      goto LAB_002c47a1;\n    case 0x2f:\n    case 0x30:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    case 0x31:\n    case 0x6f:\n    case 0xa9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      uVar36 = iVar35 + 0x1000;\nLAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;\njoined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;\n      break;\n    case 0x32:\n    case 0x70:\n    case 0xaa:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x3c:\n      local_b8 = 0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }\n      break;\n    case 0x3d:\n      local_b8 = 0;\nLAB_002c304d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }\n      break;\n    case 0x3e:\n      local_b8 = 0;\nLAB_002c3104:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - (param_11 & 0xfffffff8);\n      uVar36 = uVar20 >> 3;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar32 = uVar32 & 7;\njoined_r0x002c324e:\n      uVar17 = 3;\n      if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }\n      break;\n    case 0x3f:\n      local_b8 = 0;\nLAB_002c31c0:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - param_11;\n      uVar36 = uVar20 >> 2;\n      if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }\nLAB_002c1f30:\n      uVar17 = 0;\n      *(uint *)param_1 = uVar36;\n      break;\n    case 0x40:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case 0x41:\n      local_b8 = 0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }\n      if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      break;\n    case 0x8b:\n      local_b8 = 0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }\n      break;\n    case 0x8c:\n      local_b8 = 0;\nLAB_002c328d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;\n      uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);\n      break;\n    case 0x8d:\n      local_b8 = 0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);\n      break;\n    case 0xf8:\n      local_b8 = 0;\nLAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\njoined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;\nLAB_002c1fd0:\n      puVar34 = param_10;\nLAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;\nLAB_002c1fd6:\n      uVar17 = 0;\n    }\nLAB_002c1e60:\n    unaff_R13 = unaff_R13 + 1;\n    if (local_d8 == unaff_R13) break;\n    uVar18 = *unaff_R13;\n  }\n  local_c8 = &local_78;\n  uVar18 = uVar44 - 0x85;\n  if (local_f0 < 0xd) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    if (uVar18 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)) {\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(ushort *)((long)param_10 + 2) = (ushort)uVar36;\n    *(ushort *)param_10 = uVar30;\n  }\n  else if (((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)) &&\n          (1 < uVar44 - 0x8b)) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    goto LAB_002c19bf;\n  }\n  if (uVar17 == 1) {\n    if (param_8 == (undefined8 *)0x0) {\n      lVar31 = plVar6[1];\n      uVar22 = gettext("relocation overflow: %u against local symbol %u in %s");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31);\n    }\n    else {\n      if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }\n      if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      FUN_0049e340();\n    }\n  }\n  else if (uVar17 != 0) {\n    if (uVar17 == 2) {\n      pcVar39 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (uVar17 != 3) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }\n    uVar22 = gettext(pcVar39);\n    FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n  }\nLAB_002c193c:\n  FUN_001a5bc0(local_c8);\n  return 1;\n}" (type_identifier "undefined8") (function_declarator "FUN_002c1090(ulong *param_1,long param_2,int param_3,long param_4,undefined8 param_5,long param_6,\n            int *param_7,undefined8 *param_8,undefined8 *param_9,ulong *param_10,uint param_11)" (identifier "FUN_002c1090") (parameter_list "(ulong *param_1,long param_2,int param_3,long param_4,undefined8 param_5,long param_6,\n            int *param_7,undefined8 *param_8,undefined8 *param_9,ulong *param_10,uint param_11)" (( "(") (parameter_declaration "ulong *param_1" (type_identifier "ulong") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "long param_2" (sized_type_specifier "long" (long "long")) (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "long param_4" (sized_type_specifier "long" (long "long")) (identifier "param_4")) (, ",") (parameter_declaration "undefined8 param_5" (type_identifier "undefined8") (identifier "param_5")) (, ",") (parameter_declaration "long param_6" (sized_type_specifier "long" (long "long")) (identifier "param_6")) (, ",") (parameter_declaration "int *param_7" (primitive_type "int") (pointer_declarator "*param_7" (* "*") (identifier "param_7"))) (, ",") (parameter_declaration "undefined8 *param_8" (type_identifier "undefined8") (pointer_declarator "*param_8" (* "*") (identifier "param_8"))) (, ",") (parameter_declaration "undefined8 *param_9" (type_identifier "undefined8") (pointer_declarator "*param_9" (* "*") (identifier "param_9"))) (, ",") (parameter_declaration "ulong *param_10" (type_identifier "ulong") (pointer_declarator "*param_10" (* "*") (identifier "param_10"))) (, ",") (parameter_declaration "uint param_11" (type_identifier "uint") (identifier "param_11")) () ")"))) (compound_statement "{\n  byte bVar1;\n  ushort uVar2;\n  int iVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  long *plVar6;\n  int *piVar7;\n  ulong uVar8;\n  uint *puVar9;\n  undefined8 *puVar10;\n  char cVar11;\n  undefined1 *puVar12;\n  byte bVar13;\n  byte bVar14;\n  char cVar15;\n  char cVar16;\n  uint uVar17;\n  uint uVar18;\n  undefined4 uVar19;\n  uint uVar20;\n  int iVar21;\n  undefined8 uVar22;\n  undefined8 uVar23;\n  ulong uVar24;\n  long lVar25;\n  long *plVar26;\n  long *plVar27;\n  long *plVar28;\n  long *plVar29;\n  ushort uVar30;\n  long lVar31;\n  int extraout_EDX;\n  ulong uVar32;\n  uint uVar33;\n  ulong *puVar34;\n  int iVar35;\n  uint uVar36;\n  byte *pbVar37;\n  byte *pbVar38;\n  char *pcVar39;\n  long *plVar40;\n  undefined8 uVar41;\n  byte bVar42;\n  uint *unaff_R13;\n  ulong uVar43;\n  uint uVar44;\n  bool bVar45;\n  bool bVar46;\n  byte bVar47;\n  bool bVar48;\n  bool bVar49;\n  sbyte local_118;\n  uint local_108;\n  undefined8 *local_100;\n  uint local_f0;\n  byte local_e8;\n  uint local_e4;\n  uint *local_d8;\n  byte local_cf;\n  byte local_ce;\n  bool local_cd;\n  uint local_cc;\n  undefined8 *local_c8;\n  int local_bc;\n  ulong local_b8;\n  uint local_b0;\n  undefined8 *local_98;\n  uint local_84;\n  undefined4 uStack_80;\n  undefined4 uStack_7c;\n  undefined8 local_78;\n  undefined4 local_70;\n  uint local_68;\n  undefined1 *local_58 [2];\n  undefined1 auStack_48 [24];\n  \n  bVar42 = 0;\n  uVar18 = param_7[1];\n  uVar32 = (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x14) /\n           (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x24);\n  iVar3 = *param_7;\n  uVar44 = uVar18 & 0xff;\n  uVar33 = uVar18 >> 8;\n  if (param_3 == 4) {\n    cVar11 = '\0';\n    local_cc = param_7[2];\n    local_bc = -1;\n    if (param_6 + 1U < uVar32) {\n      local_bc = param_7[3];\n      cVar11 = (char)param_7[4];\n    }\n  }\n  else if (param_6 + 1U < uVar32) {\n    local_cc = 0;\n    local_bc = param_7[2];\n    cVar11 = (char)param_7[3];\n  }\n  else {\n    cVar11 = '\0';\n    local_bc = -1;\n    local_cc = 0;\n  }\n  local_70 = 0x80000000;\n  local_68 = 0;\n  plVar6 = *(long **)(param_2 + 0x10);\n  local_78 = 0xffffffff00000000;\n  if (param_8 == (undefined8 *)0x0) {\n    if (((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46) <= (ulong)uVar33) {\n                    \n      FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");\n    }\n    local_e8 = (byte)(uVar18 >> 8);\n    uVar24 = 1L << (local_e8 & 0x3f);\n    uVar32 = *(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8);\n    local_b8 = plVar6[0x4c];\n    uVar43 = uVar24 & uVar32;\n    bVar47 = uVar43 != 0;\n    if (((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b) <= (ulong)uVar33) {\nLAB_002c45d2:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");\n    }\n    uVar8 = *(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8);\n    bVar14 = (uVar24 & uVar8) != 0;\n    local_cd = ((uVar32 | uVar8) & uVar24) != 0;\n    if (local_cd) {\n                    \n      local_68 = FUN_001a5ac0(param_9,plVar6,1);\n      param_9 = &local_78;\n    }\n    if (uVar44 == 100) {\n      plVar27 = (long *)plVar6[0x69];\n      plVar40 = plVar6 + 0x68;\n      plVar29 = plVar27;\n      plVar28 = plVar40;\n      if (plVar27 == (long *)0x0) goto LAB_002c1c10;\n      do {\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      } while (plVar26 != (long *)0x0);\n      if (((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))\n      goto LAB_002c1c10;\n      plVar29 = plVar40;\n      if (uVar43 != 0) {\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }\n      do {\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      } while (plVar27 != (long *)0x0);\n      lVar31 = 0;\n      if ((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)) {\n        lVar31 = plVar28[5];\n      }\n      bVar47 = 0;\n      cVar15 = '\0';\n      goto LAB_002c1d90;\n    }\n    plVar40 = (long *)plVar6[99];\n    plVar27 = plVar6 + 0x62;\n    if ((long *)plVar6[99] != (long *)0x0) {\n      do {\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      } while ((long *)plVar29[2] != (long *)0x0);\nLAB_002c2b6a:\n      if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;\n      goto LAB_002c15fe;\n    }\nLAB_002c1c10:\n    cVar15 = '\0';\nLAB_002c1c17:\n    bVar45 = uVar44 == 100;\nLAB_002c13a0:\n    bVar42 = bVar14 & bVar45;\n    bVar48 = (bool)bVar42;\n    if ((bool)bVar42 == false) {\nLAB_002c13ac:\n      bVar48 = bVar45;\n      if ((uVar18 & 0xf7) == 0x85) {\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }\n    }\n    else {\nLAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");\n      FUN_0034a750(uVar22);\n      bVar14 = bVar42;\n    }\nLAB_002c13d7:\n    if (param_8 != (undefined8 *)0x0) goto LAB_002c16b8;\n    local_cf = (bVar47 ^ 1) & bVar48;\n    local_ce = local_cf;\n    if (local_cf != 0) goto LAB_002c1402;\n    local_cf = (bVar14 ^ 1) & uVar44 == 0x85;\n    if (local_cf == 0) goto LAB_002c1bcf;\n    local_84 = 0x85;\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_f0 = 0x21;\n    local_b8 = (ulong)(param_3 == 9);\n    local_ce = local_cf;\nLAB_002c1d4a:\n    if (1 < local_84 - 0x8b) {\n      uVar17 = (uint)(ushort)*param_10;\n      uVar18 = (uint)*(ushort *)((long)param_10 + 2);\nLAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;\nLAB_002c1467:\n      *(uint *)param_10 = uVar18;\n    }\n  }\n  else {\n    bVar14 = *(byte *)((long)param_8 + 0x39) >> 2;\n    bVar47 = (bVar14 & 0x3c) == 0x3c;\n    bVar14 = (bVar14 & 0x30) == 0x20;\n    local_cd = (bool)bVar47 || (bool)bVar14;\n    if (((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)) {\n      local_68 = FUN_001a5ac0(param_9,plVar6,0);\n      local_68 = local_68 | 1;\n      param_9 = &local_78;\n    }\n    else {\n      local_cd = false;\n    }\n    local_c8 = &local_78;\n    iVar35 = 0;\n    if (uVar44 - 1 < 0xf9) {\n      iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];\n    }\n                    \n    cVar15 = FUN_00228fa0(param_8,iVar35);\n    if (cVar15 == '\0') {\n      bVar45 = false;\n      bVar48 = *(char *)((long)param_8 + 0x65) == '\0';\n      if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }\n    }\n    else {\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    \n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }\n    lVar31 = 9;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"_gp_disp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar45 = *pbVar37 < *pbVar38;\n      bVar48 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar48);\n    lVar31 = 0xf;\n    bVar48 = !bVar45 && !bVar48;\n    bVar46 = bVar48 < bVar45;\n    bVar49 = bVar48 == bVar45;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"__gnu_local_gp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar46 = *pbVar37 < *pbVar38;\n      bVar49 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar49);\n    if (bVar48 != bVar45) {\n      if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }\nLAB_002c15d8:\n      cVar15 = '\0';\n      if (uVar44 != 100) goto LAB_002c15e9;\nLAB_002c12e3:\n      lVar25 = param_8[0xf];\n      if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    \n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = true;\nLAB_002c1320:\n      local_c8 = &local_78;\n      if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    \n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }\n      goto LAB_002c13a0;\n    }\n    local_b8 = (ulong)*(byte *)((long)plVar6 + 0x36c);\n    bVar42 = *(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1;\n    if ((!bVar46 && !bVar49) == bVar46) {\n      if (bVar42 == 0) goto LAB_002c1750;\n    }\n    else if (bVar42 == 0) goto LAB_002c15d8;\n    if ((((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40)) {\n      uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n    }\n    cVar15 = '\x01';\n    if (uVar44 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    if (param_8[0xe] == 0) {\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    if ((uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0')) {\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = false;\n      goto LAB_002c13ac;\n    }\nLAB_002c15fe:\n    local_c8 = &local_78;\n    uVar17 = *(uint *)(param_2 + 0x30);\n    unaff_R13 = (uint *)(ulong)uVar17;\n    cVar16 = FUN_002972f0(plVar6,unaff_R13);\n    if ((cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e))) {\n      if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }\n    if (param_8 == (undefined8 *)0x0) {\n      plVar40 = (long *)plVar6[99];\n      plVar27 = plVar6 + 0x62;\n      if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }\nLAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);\n      bVar48 = uVar44 == 100;\n      bVar47 = 0;\n      if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }\n      param_9 = local_c8;\n      local_cd = true;\n      goto LAB_002c13d7;\n    }\n    if (*(char *)(param_8 + 9) == '\0') {\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");\n    }\n    if (*(int *)((long)param_8 + 0x4c) == -1) {\n      plVar40 = (long *)param_8[0xe];\n      goto LAB_002c3d91;\n    }\n    lVar31 = *(long *)(param_4 + 0x98);\n    if (lVar31 == 0) {\n      FUN_00290900();\nLAB_002c46d8:\n      FUN_00290940();\n      goto LAB_002c46dd;\n    }\n    local_cd = (bool)(*(byte *)(lVar31 + 0x20) & 1);\n    if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c4670:\n                    \n      FUN_00291e90();\n    }\n    bVar48 = uVar44 == 100;\n    local_68 = *(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8);\n    bVar47 = 0;\n    if ((uVar18 & 0xf7) != 0x85) {\n      param_9 = local_c8;\n      goto LAB_002c13c4;\n    }\n    param_9 = local_c8;\nLAB_002c16b8:\n    cVar16 = FUN_002e7200(param_8);\n    if (cVar16 == '\0') {\n      local_cf = (bVar47 ^ 1) & bVar48;\n      if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    else {\n      local_cf = 0;\n    }\n    if (*(char *)((long)param_8 + 100) != '\0') {\n      local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n      if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar44 - 100;\n      uVar32 = (ulong)(uVar44 - 0x85);\n      local_b8 = (ulong)(param_3 == 9);\n      uStack_80 = 0;\n      uStack_7c = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar30 = (ushort)*param_10;\n      uVar17 = (uint)uVar30;\n      uVar2 = *(ushort *)((long)param_10 + 2);\n      uVar18 = (uint)uVar2;\n      local_84 = uVar44;\n      if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    \n    local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0);\n    if ((local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    if (uVar44 - 0x85 < 0x29) {\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_ce = 0;\n    local_b8 = (ulong)(param_3 == 9);\nLAB_002c1b2f:\n    local_84 = uVar44;\n    if (((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;\n  }\n  uStack_80 = 0;\n  uStack_7c = 0;\n  unaff_R13 = &local_84;\n  uVar17 = 0;\n  local_e4 = 0;\n  local_d8 = (uint *)&local_78;\n  uVar44 = local_84;\n  uVar18 = local_84;\n  while (local_c8 = &local_78, uVar18 != 0) {\n    bVar45 = local_bc == iVar3;\n    bVar48 = cVar11 != '\0';\n    bVar14 = bVar45 && bVar48;\n    puVar34 = param_1;\n    if (*(char *)((long)param_1 + 4) == '\0') {\n      *(byte *)((long)param_1 + 4) = bVar14;\n      switch(uVar18) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }\n    }\n    local_cc = (uint)*param_1;\n    *(byte *)((long)param_1 + 4) = bVar14;\n    local_b0 = local_cc;\n    switch(uVar18) {\n    default:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);\n      break;\n    case 1:\n      local_b8 = 0;\n      local_b0 = local_cc;\nLAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar14 != 0) goto LAB_002c1f30;\n      *(ushort *)param_10 = (ushort)uVar36;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);\n      if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }\n      if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }\n      break;\n    case 3:\nswitchD_002c14fa_caseD_3:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");\n    case 4:\n    case 100:\n    case 0x85:\n      local_b8 = 0;\n      bVar42 = (!bVar45 || !bVar48) & local_cf;\n      uVar17 = (uint)*param_10;\n      goto LAB_002c38d3;\n    case 5:\n    case 0x68:\n    case 0x86:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }\n      break;\n    case 6:\n    case 0x69:\n    case 0x87:\n    case 0x9d:\n      local_b8 = 0;\n      local_108 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }\n      if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\nLAB_002c1ebf:\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;\n      break;\n    case 7:\n    case 8:\n    case 0x65:\n    case 0x88:\n    case 0x89:\n    case 0xac:\n      lVar31 = *(long *)(param_4 + 0x28);\n      if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }\n      local_b8 = 0;\n      iVar35 = 0;\n      uVar17 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar21 - iVar35;\n      if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }\n      uVar20 = (uVar36 ^ uVar17) & 0xffff;\n      if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar17 ^ uVar20;\n      if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }\n      goto LAB_002c1fd6;\n    case 9:\n    case 0x66:\n    case 0x8a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case 10:\n      local_b8 = 0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }\n      break;\n    case 0xb:\n    case 0x67:\n    case 0x8e:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;\n    case 0xc:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);\n      goto joined_r0x002c327b;\n    case 0x12:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);\n      if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }\n      break;\n    case 0x13:\n    case 0x91:\n    case 0xf9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }\n      if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }\n      local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n      if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }\n      if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;\n      goto LAB_002c1fd4;\n    case 0x14:\n    case 0x92:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) goto LAB_002c4726;\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }\n      if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }\n      uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);\n      if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;\n      goto LAB_002c2590;\n    case 0x15:\n    case 0x93:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;\n      local_b0 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }\n      if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }\n      break;\n    case 0x16:\n    case 0x1e:\n    case 0x94:\n    case 0x99:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }\n      goto LAB_002c46d8;\n    case 0x17:\n    case 0x1f:\n    case 0x95:\n    case 0x9a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }\nLAB_002c4792:\n      FUN_00290940();\nLAB_002c4797:\n      FUN_00290940();\nLAB_002c479c:\n      FUN_00290940();\nLAB_002c47a1:\n      FUN_00290940();\nLAB_002c47a6:\n      FUN_00290940();\n                    \n      uVar22 = FUN_0017eb9a();\n      return uVar22;\n    case 0x18:\n    case 0x96:\n      local_b8 = 0;\nLAB_002c2efa:\n      uVar18 = -local_b0;\nLAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      if (bVar14 != '\0') goto LAB_002c1f30;\n      uVar17 = 0;\n      *param_10 = (ulong)uVar36;\n      break;\n    case 0x1c:\n    case 0x97:\n      local_b8 = 0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }\n      uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);\n      goto joined_r0x002c1f7e;\n    case 0x1d:\n    case 0x98:\n      local_b8 = 0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar36 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }\n      FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }\n      uVar36 = uVar36 & 0xffff0000;\n      goto LAB_002c1fd0;\n    case 0x25:\n    case 0x9c:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }\n      uVar17 = (uint)*param_10;\n      uVar36 = uVar17;\n      if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }\n      if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }\n      break;\n    case 0x27:\n    case 0x29:\n      goto switchD_002c14fa_caseD_27;\n    case 0x2a:\n    case 0x6a:\n    case 0xa2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }\n      FUN_00290940();\nswitchD_002c14fa_caseD_27:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_27:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      goto joined_r0x002c327b;\n    case 0x2b:\n    case 0x6b:\n    case 0xa3:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }\n      if (lVar25 == 0) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }\n      local_e4 = *(uint *)(lVar25 + 0x14);\n      uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\nLAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;\n      uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;\nLAB_002c2590:\n      *(uint *)param_10 = uVar18;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 0x2c:\n    case 0x6c:\n    case 0xa4:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      goto LAB_002c1f79;\n    case 0x2d:\n    case 0x6d:\n    case 0xa5:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x2e:\n    case 0x6e:\n    case 0xa6:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) goto LAB_002c2030;\n      goto LAB_002c47a1;\n    case 0x2f:\n    case 0x30:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    case 0x31:\n    case 0x6f:\n    case 0xa9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      uVar36 = iVar35 + 0x1000;\nLAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;\njoined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;\n      break;\n    case 0x32:\n    case 0x70:\n    case 0xaa:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x3c:\n      local_b8 = 0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }\n      break;\n    case 0x3d:\n      local_b8 = 0;\nLAB_002c304d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }\n      break;\n    case 0x3e:\n      local_b8 = 0;\nLAB_002c3104:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - (param_11 & 0xfffffff8);\n      uVar36 = uVar20 >> 3;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar32 = uVar32 & 7;\njoined_r0x002c324e:\n      uVar17 = 3;\n      if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }\n      break;\n    case 0x3f:\n      local_b8 = 0;\nLAB_002c31c0:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - param_11;\n      uVar36 = uVar20 >> 2;\n      if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }\nLAB_002c1f30:\n      uVar17 = 0;\n      *(uint *)param_1 = uVar36;\n      break;\n    case 0x40:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case 0x41:\n      local_b8 = 0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }\n      if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      break;\n    case 0x8b:\n      local_b8 = 0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }\n      break;\n    case 0x8c:\n      local_b8 = 0;\nLAB_002c328d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;\n      uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);\n      break;\n    case 0x8d:\n      local_b8 = 0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);\n      break;\n    case 0xf8:\n      local_b8 = 0;\nLAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\njoined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;\nLAB_002c1fd0:\n      puVar34 = param_10;\nLAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;\nLAB_002c1fd6:\n      uVar17 = 0;\n    }\nLAB_002c1e60:\n    unaff_R13 = unaff_R13 + 1;\n    if (local_d8 == unaff_R13) break;\n    uVar18 = *unaff_R13;\n  }\n  local_c8 = &local_78;\n  uVar18 = uVar44 - 0x85;\n  if (local_f0 < 0xd) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    if (uVar18 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)) {\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(ushort *)((long)param_10 + 2) = (ushort)uVar36;\n    *(ushort *)param_10 = uVar30;\n  }\n  else if (((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)) &&\n          (1 < uVar44 - 0x8b)) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    goto LAB_002c19bf;\n  }\n  if (uVar17 == 1) {\n    if (param_8 == (undefined8 *)0x0) {\n      lVar31 = plVar6[1];\n      uVar22 = gettext("relocation overflow: %u against local symbol %u in %s");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31);\n    }\n    else {\n      if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }\n      if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      FUN_0049e340();\n    }\n  }\n  else if (uVar17 != 0) {\n    if (uVar17 == 2) {\n      pcVar39 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (uVar17 != 3) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }\n    uVar22 = gettext(pcVar39);\n    FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n  }\nLAB_002c193c:\n  FUN_001a5bc0(local_c8);\n  return 1;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "ushort uVar2;" (type_identifier "ushort") (identifier "uVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "long *plVar6;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar6" (* "*") (identifier "plVar6")) (; ";")) (declaration "int *piVar7;" (primitive_type "int") (pointer_declarator "*piVar7" (* "*") (identifier "piVar7")) (; ";")) (declaration "ulong uVar8;" (type_identifier "ulong") (identifier "uVar8") (; ";")) (declaration "uint *puVar9;" (type_identifier "uint") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "undefined8 *puVar10;" (type_identifier "undefined8") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "char cVar11;" (primitive_type "char") (identifier "cVar11") (; ";")) (declaration "undefined1 *puVar12;" (type_identifier "undefined1") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "byte bVar13;" (type_identifier "byte") (identifier "bVar13") (; ";")) (declaration "byte bVar14;" (type_identifier "byte") (identifier "bVar14") (; ";")) (declaration "char cVar15;" (primitive_type "char") (identifier "cVar15") (; ";")) (declaration "char cVar16;" (primitive_type "char") (identifier "cVar16") (; ";")) (declaration "uint uVar17;" (type_identifier "uint") (identifier "uVar17") (; ";")) (declaration "uint uVar18;" (type_identifier "uint") (identifier "uVar18") (; ";")) (declaration "undefined4 uVar19;" (type_identifier "undefined4") (identifier "uVar19") (; ";")) (declaration "uint uVar20;" (type_identifier "uint") (identifier "uVar20") (; ";")) (declaration "int iVar21;" (primitive_type "int") (identifier "iVar21") (; ";")) (declaration "undefined8 uVar22;" (type_identifier "undefined8") (identifier "uVar22") (; ";")) (declaration "undefined8 uVar23;" (type_identifier "undefined8") (identifier "uVar23") (; ";")) (declaration "ulong uVar24;" (type_identifier "ulong") (identifier "uVar24") (; ";")) (declaration "long lVar25;" (sized_type_specifier "long" (long "long")) (identifier "lVar25") (; ";")) (declaration "long *plVar26;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar26" (* "*") (identifier "plVar26")) (; ";")) (declaration "long *plVar27;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar27" (* "*") (identifier "plVar27")) (; ";")) (declaration "long *plVar28;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar28" (* "*") (identifier "plVar28")) (; ";")) (declaration "long *plVar29;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar29" (* "*") (identifier "plVar29")) (; ";")) (declaration "ushort uVar30;" (type_identifier "ushort") (identifier "uVar30") (; ";")) (declaration "long lVar31;" (sized_type_specifier "long" (long "long")) (identifier "lVar31") (; ";")) (declaration "int extraout_EDX;" (primitive_type "int") (identifier "extraout_EDX") (; ";")) (declaration "ulong uVar32;" (type_identifier "ulong") (identifier "uVar32") (; ";")) (declaration "uint uVar33;" (type_identifier "uint") (identifier "uVar33") (; ";")) (declaration "ulong *puVar34;" (type_identifier "ulong") (pointer_declarator "*puVar34" (* "*") (identifier "puVar34")) (; ";")) (declaration "int iVar35;" (primitive_type "int") (identifier "iVar35") (; ";")) (declaration "uint uVar36;" (type_identifier "uint") (identifier "uVar36") (; ";")) (declaration "byte *pbVar37;" (type_identifier "byte") (pointer_declarator "*pbVar37" (* "*") (identifier "pbVar37")) (; ";")) (declaration "byte *pbVar38;" (type_identifier "byte") (pointer_declarator "*pbVar38" (* "*") (identifier "pbVar38")) (; ";")) (declaration "char *pcVar39;" (primitive_type "char") (pointer_declarator "*pcVar39" (* "*") (identifier "pcVar39")) (; ";")) (declaration "long *plVar40;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar40" (* "*") (identifier "plVar40")) (; ";")) (declaration "undefined8 uVar41;" (type_identifier "undefined8") (identifier "uVar41") (; ";")) (declaration "byte bVar42;" (type_identifier "byte") (identifier "bVar42") (; ";")) (declaration "uint *unaff_R13;" (type_identifier "uint") (pointer_declarator "*unaff_R13" (* "*") (identifier "unaff_R13")) (; ";")) (declaration "ulong uVar43;" (type_identifier "ulong") (identifier "uVar43") (; ";")) (declaration "uint uVar44;" (type_identifier "uint") (identifier "uVar44") (; ";")) (declaration "bool bVar45;" (primitive_type "bool") (identifier "bVar45") (; ";")) (declaration "bool bVar46;" (primitive_type "bool") (identifier "bVar46") (; ";")) (declaration "byte bVar47;" (type_identifier "byte") (identifier "bVar47") (; ";")) (declaration "bool bVar48;" (primitive_type "bool") (identifier "bVar48") (; ";")) (declaration "bool bVar49;" (primitive_type "bool") (identifier "bVar49") (; ";")) (declaration "sbyte local_118;" (type_identifier "sbyte") (identifier "local_118") (; ";")) (declaration "uint local_108;" (type_identifier "uint") (identifier "local_108") (; ";")) (declaration "undefined8 *local_100;" (type_identifier "undefined8") (pointer_declarator "*local_100" (* "*") (identifier "local_100")) (; ";")) (declaration "uint local_f0;" (type_identifier "uint") (identifier "local_f0") (; ";")) (declaration "byte local_e8;" (type_identifier "byte") (identifier "local_e8") (; ";")) (declaration "uint local_e4;" (type_identifier "uint") (identifier "local_e4") (; ";")) (declaration "uint *local_d8;" (type_identifier "uint") (pointer_declarator "*local_d8" (* "*") (identifier "local_d8")) (; ";")) (declaration "byte local_cf;" (type_identifier "byte") (identifier "local_cf") (; ";")) (declaration "byte local_ce;" (type_identifier "byte") (identifier "local_ce") (; ";")) (declaration "bool local_cd;" (primitive_type "bool") (identifier "local_cd") (; ";")) (declaration "uint local_cc;" (type_identifier "uint") (identifier "local_cc") (; ";")) (declaration "undefined8 *local_c8;" (type_identifier "undefined8") (pointer_declarator "*local_c8" (* "*") (identifier "local_c8")) (; ";")) (declaration "int local_bc;" (primitive_type "int") (identifier "local_bc") (; ";")) (declaration "ulong local_b8;" (type_identifier "ulong") (identifier "local_b8") (; ";")) (declaration "uint local_b0;" (type_identifier "uint") (identifier "local_b0") (; ";")) (declaration "undefined8 *local_98;" (type_identifier "undefined8") (pointer_declarator "*local_98" (* "*") (identifier "local_98")) (; ";")) (declaration "uint local_84;" (type_identifier "uint") (identifier "local_84") (; ";")) (declaration "undefined4 uStack_80;" (type_identifier "undefined4") (identifier "uStack_80") (; ";")) (declaration "undefined4 uStack_7c;" (type_identifier "undefined4") (identifier "uStack_7c") (; ";")) (declaration "undefined8 local_78;" (type_identifier "undefined8") (identifier "local_78") (; ";")) (declaration "undefined4 local_70;" (type_identifier "undefined4") (identifier "local_70") (; ";")) (declaration "uint local_68;" (type_identifier "uint") (identifier "local_68") (; ";")) (declaration "undefined1 *local_58 [2];" (type_identifier "undefined1") (pointer_declarator "*local_58 [2]" (* "*") (array_declarator "local_58 [2]" (identifier "local_58") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "undefined1 auStack_48 [24];" (type_identifier "undefined1") (array_declarator "auStack_48 [24]" (identifier "auStack_48") ([ "[") (number_literal "24") (] "]")) (; ";")) (expression_statement "bVar42 = 0;" (assignment_expression "bVar42 = 0" (identifier "bVar42") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar18 = param_7[1];" (assignment_expression "uVar18 = param_7[1]" (identifier "uVar18") (= "=") (subscript_expression "param_7[1]" (identifier "param_7") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar32 = (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x14) /\n           (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x24);" (assignment_expression "uVar32 = (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x14) /\n           (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x24)" (identifier "uVar32") (= "=") (binary_expression "(ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x14) /\n           (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x24)" (binary_expression "(ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x14) /\n           (ulong)" (binary_expression "(ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x14)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(*(long *)(param_2 + 0x20) + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_2 + 0x20) + 0x14)" (( "(") (binary_expression "*(long *)(param_2 + 0x20) + 0x14" (pointer_expression "*(long *)(param_2 + 0x20)" (* "*") (cast_expression "(long *)(param_2 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x20)" (( "(") (binary_expression "param_2 + 0x20" (identifier "param_2") (+ "+") (number_literal "0x20")) () ")")))) (+ "+") (number_literal "0x14")) () ")")))) (/ "/") (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")"))) (* "*") (cast_expression "(uint *)(*(long *)(param_2 + 0x20) + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_2 + 0x20) + 0x24)" (( "(") (binary_expression "*(long *)(param_2 + 0x20) + 0x24" (pointer_expression "*(long *)(param_2 + 0x20)" (* "*") (cast_expression "(long *)(param_2 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x20)" (( "(") (binary_expression "param_2 + 0x20" (identifier "param_2") (+ "+") (number_literal "0x20")) () ")")))) (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "iVar3 = *param_7;" (assignment_expression "iVar3 = *param_7" (identifier "iVar3") (= "=") (pointer_expression "*param_7" (* "*") (identifier "param_7"))) (; ";")) (expression_statement "uVar44 = uVar18 & 0xff;" (assignment_expression "uVar44 = uVar18 & 0xff" (identifier "uVar44") (= "=") (binary_expression "uVar18 & 0xff" (identifier "uVar18") (& "&") (number_literal "0xff"))) (; ";")) (expression_statement "uVar33 = uVar18 >> 8;" (assignment_expression "uVar33 = uVar18 >> 8" (identifier "uVar33") (= "=") (binary_expression "uVar18 >> 8" (identifier "uVar18") (>> ">>") (number_literal "8"))) (; ";")) (if_statement "if (param_3 == 4) {\n    cVar11 = '\0';\n    local_cc = param_7[2];\n    local_bc = -1;\n    if (param_6 + 1U < uVar32) {\n      local_bc = param_7[3];\n      cVar11 = (char)param_7[4];\n    }\n  }\n  else if (param_6 + 1U < uVar32) {\n    local_cc = 0;\n    local_bc = param_7[2];\n    cVar11 = (char)param_7[3];\n  }\n  else {\n    cVar11 = '\0';\n    local_bc = -1;\n    local_cc = 0;\n  }" (if "if") (parenthesized_expression "(param_3 == 4)" (( "(") (binary_expression "param_3 == 4" (identifier "param_3") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n    cVar11 = '\0';\n    local_cc = param_7[2];\n    local_bc = -1;\n    if (param_6 + 1U < uVar32) {\n      local_bc = param_7[3];\n      cVar11 = (char)param_7[4];\n    }\n  }" ({ "{") (expression_statement "cVar11 = '\0';" (assignment_expression "cVar11 = '\0'" (identifier "cVar11") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_cc = param_7[2];" (assignment_expression "local_cc = param_7[2]" (identifier "local_cc") (= "=") (subscript_expression "param_7[2]" (identifier "param_7") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "local_bc = -1;" (assignment_expression "local_bc = -1" (identifier "local_bc") (= "=") (number_literal "-1")) (; ";")) (if_statement "if (param_6 + 1U < uVar32) {\n      local_bc = param_7[3];\n      cVar11 = (char)param_7[4];\n    }" (if "if") (parenthesized_expression "(param_6 + 1U < uVar32)" (( "(") (binary_expression "param_6 + 1U < uVar32" (binary_expression "param_6 + 1U" (identifier "param_6") (+ "+") (number_literal "1U")) (< "<") (identifier "uVar32")) () ")")) (compound_statement "{\n      local_bc = param_7[3];\n      cVar11 = (char)param_7[4];\n    }" ({ "{") (expression_statement "local_bc = param_7[3];" (assignment_expression "local_bc = param_7[3]" (identifier "local_bc") (= "=") (subscript_expression "param_7[3]" (identifier "param_7") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "cVar11 = (char)param_7[4];" (assignment_expression "cVar11 = (char)param_7[4]" (identifier "cVar11") (= "=") (cast_expression "(char)param_7[4]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_7[4]" (identifier "param_7") ([ "[") (number_literal "4") (] "]")))) (; ";")) (} "}"))) (} "}")) (else_clause "else if (param_6 + 1U < uVar32) {\n    local_cc = 0;\n    local_bc = param_7[2];\n    cVar11 = (char)param_7[3];\n  }\n  else {\n    cVar11 = '\0';\n    local_bc = -1;\n    local_cc = 0;\n  }" (else "else") (if_statement "if (param_6 + 1U < uVar32) {\n    local_cc = 0;\n    local_bc = param_7[2];\n    cVar11 = (char)param_7[3];\n  }\n  else {\n    cVar11 = '\0';\n    local_bc = -1;\n    local_cc = 0;\n  }" (if "if") (parenthesized_expression "(param_6 + 1U < uVar32)" (( "(") (binary_expression "param_6 + 1U < uVar32" (binary_expression "param_6 + 1U" (identifier "param_6") (+ "+") (number_literal "1U")) (< "<") (identifier "uVar32")) () ")")) (compound_statement "{\n    local_cc = 0;\n    local_bc = param_7[2];\n    cVar11 = (char)param_7[3];\n  }" ({ "{") (expression_statement "local_cc = 0;" (assignment_expression "local_cc = 0" (identifier "local_cc") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_bc = param_7[2];" (assignment_expression "local_bc = param_7[2]" (identifier "local_bc") (= "=") (subscript_expression "param_7[2]" (identifier "param_7") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "cVar11 = (char)param_7[3];" (assignment_expression "cVar11 = (char)param_7[3]" (identifier "cVar11") (= "=") (cast_expression "(char)param_7[3]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_7[3]" (identifier "param_7") ([ "[") (number_literal "3") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n    cVar11 = '\0';\n    local_bc = -1;\n    local_cc = 0;\n  }" (else "else") (compound_statement "{\n    cVar11 = '\0';\n    local_bc = -1;\n    local_cc = 0;\n  }" ({ "{") (expression_statement "cVar11 = '\0';" (assignment_expression "cVar11 = '\0'" (identifier "cVar11") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "local_bc = -1;" (assignment_expression "local_bc = -1" (identifier "local_bc") (= "=") (number_literal "-1")) (; ";")) (expression_statement "local_cc = 0;" (assignment_expression "local_cc = 0" (identifier "local_cc") (= "=") (number_literal "0")) (; ";")) (} "}")))))) (expression_statement "local_70 = 0x80000000;" (assignment_expression "local_70 = 0x80000000" (identifier "local_70") (= "=") (number_literal "0x80000000")) (; ";")) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" (identifier "local_68") (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6 = *(long **)(param_2 + 0x10);" (assignment_expression "plVar6 = *(long **)(param_2 + 0x10)" (identifier "plVar6") (= "=") (pointer_expression "*(long **)(param_2 + 0x10)" (* "*") (cast_expression "(long **)(param_2 + 0x10)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "local_78 = 0xffffffff00000000;" (assignment_expression "local_78 = 0xffffffff00000000" (identifier "local_78") (= "=") (number_literal "0xffffffff00000000")) (; ";")) (if_statement "if (param_8 == (undefined8 *)0x0) {\n    if (((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46) <= (ulong)uVar33) {\n                    \n      FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");\n    }\n    local_e8 = (byte)(uVar18 >> 8);\n    uVar24 = 1L << (local_e8 & 0x3f);\n    uVar32 = *(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8);\n    local_b8 = plVar6[0x4c];\n    uVar43 = uVar24 & uVar32;\n    bVar47 = uVar43 != 0;\n    if (((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b) <= (ulong)uVar33) {\nLAB_002c45d2:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");\n    }\n    uVar8 = *(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8);\n    bVar14 = (uVar24 & uVar8) != 0;\n    local_cd = ((uVar32 | uVar8) & uVar24) != 0;\n    if (local_cd) {\n                    \n      local_68 = FUN_001a5ac0(param_9,plVar6,1);\n      param_9 = &local_78;\n    }\n    if (uVar44 == 100) {\n      plVar27 = (long *)plVar6[0x69];\n      plVar40 = plVar6 + 0x68;\n      plVar29 = plVar27;\n      plVar28 = plVar40;\n      if (plVar27 == (long *)0x0) goto LAB_002c1c10;\n      do {\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      } while (plVar26 != (long *)0x0);\n      if (((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))\n      goto LAB_002c1c10;\n      plVar29 = plVar40;\n      if (uVar43 != 0) {\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }\n      do {\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      } while (plVar27 != (long *)0x0);\n      lVar31 = 0;\n      if ((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)) {\n        lVar31 = plVar28[5];\n      }\n      bVar47 = 0;\n      cVar15 = '\0';\n      goto LAB_002c1d90;\n    }\n    plVar40 = (long *)plVar6[99];\n    plVar27 = plVar6 + 0x62;\n    if ((long *)plVar6[99] != (long *)0x0) {\n      do {\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      } while ((long *)plVar29[2] != (long *)0x0);\nLAB_002c2b6a:\n      if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;\n      goto LAB_002c15fe;\n    }\nLAB_002c1c10:\n    cVar15 = '\0';\nLAB_002c1c17:\n    bVar45 = uVar44 == 100;\nLAB_002c13a0:\n    bVar42 = bVar14 & bVar45;\n    bVar48 = (bool)bVar42;\n    if ((bool)bVar42 == false) {\nLAB_002c13ac:\n      bVar48 = bVar45;\n      if ((uVar18 & 0xf7) == 0x85) {\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }\n    }\n    else {\nLAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");\n      FUN_0034a750(uVar22);\n      bVar14 = bVar42;\n    }\nLAB_002c13d7:\n    if (param_8 != (undefined8 *)0x0) goto LAB_002c16b8;\n    local_cf = (bVar47 ^ 1) & bVar48;\n    local_ce = local_cf;\n    if (local_cf != 0) goto LAB_002c1402;\n    local_cf = (bVar14 ^ 1) & uVar44 == 0x85;\n    if (local_cf == 0) goto LAB_002c1bcf;\n    local_84 = 0x85;\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_f0 = 0x21;\n    local_b8 = (ulong)(param_3 == 9);\n    local_ce = local_cf;\nLAB_002c1d4a:\n    if (1 < local_84 - 0x8b) {\n      uVar17 = (uint)(ushort)*param_10;\n      uVar18 = (uint)*(ushort *)((long)param_10 + 2);\nLAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;\nLAB_002c1467:\n      *(uint *)param_10 = uVar18;\n    }\n  }\n  else {\n    bVar14 = *(byte *)((long)param_8 + 0x39) >> 2;\n    bVar47 = (bVar14 & 0x3c) == 0x3c;\n    bVar14 = (bVar14 & 0x30) == 0x20;\n    local_cd = (bool)bVar47 || (bool)bVar14;\n    if (((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)) {\n      local_68 = FUN_001a5ac0(param_9,plVar6,0);\n      local_68 = local_68 | 1;\n      param_9 = &local_78;\n    }\n    else {\n      local_cd = false;\n    }\n    local_c8 = &local_78;\n    iVar35 = 0;\n    if (uVar44 - 1 < 0xf9) {\n      iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];\n    }\n                    \n    cVar15 = FUN_00228fa0(param_8,iVar35);\n    if (cVar15 == '\0') {\n      bVar45 = false;\n      bVar48 = *(char *)((long)param_8 + 0x65) == '\0';\n      if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }\n    }\n    else {\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    \n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }\n    lVar31 = 9;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"_gp_disp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar45 = *pbVar37 < *pbVar38;\n      bVar48 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar48);\n    lVar31 = 0xf;\n    bVar48 = !bVar45 && !bVar48;\n    bVar46 = bVar48 < bVar45;\n    bVar49 = bVar48 == bVar45;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"__gnu_local_gp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar46 = *pbVar37 < *pbVar38;\n      bVar49 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar49);\n    if (bVar48 != bVar45) {\n      if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }\nLAB_002c15d8:\n      cVar15 = '\0';\n      if (uVar44 != 100) goto LAB_002c15e9;\nLAB_002c12e3:\n      lVar25 = param_8[0xf];\n      if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    \n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = true;\nLAB_002c1320:\n      local_c8 = &local_78;\n      if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    \n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }\n      goto LAB_002c13a0;\n    }\n    local_b8 = (ulong)*(byte *)((long)plVar6 + 0x36c);\n    bVar42 = *(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1;\n    if ((!bVar46 && !bVar49) == bVar46) {\n      if (bVar42 == 0) goto LAB_002c1750;\n    }\n    else if (bVar42 == 0) goto LAB_002c15d8;\n    if ((((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40)) {\n      uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n    }\n    cVar15 = '\x01';\n    if (uVar44 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    if (param_8[0xe] == 0) {\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    if ((uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0')) {\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = false;\n      goto LAB_002c13ac;\n    }\nLAB_002c15fe:\n    local_c8 = &local_78;\n    uVar17 = *(uint *)(param_2 + 0x30);\n    unaff_R13 = (uint *)(ulong)uVar17;\n    cVar16 = FUN_002972f0(plVar6,unaff_R13);\n    if ((cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e))) {\n      if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }\n    if (param_8 == (undefined8 *)0x0) {\n      plVar40 = (long *)plVar6[99];\n      plVar27 = plVar6 + 0x62;\n      if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }\nLAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);\n      bVar48 = uVar44 == 100;\n      bVar47 = 0;\n      if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }\n      param_9 = local_c8;\n      local_cd = true;\n      goto LAB_002c13d7;\n    }\n    if (*(char *)(param_8 + 9) == '\0') {\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");\n    }\n    if (*(int *)((long)param_8 + 0x4c) == -1) {\n      plVar40 = (long *)param_8[0xe];\n      goto LAB_002c3d91;\n    }\n    lVar31 = *(long *)(param_4 + 0x98);\n    if (lVar31 == 0) {\n      FUN_00290900();\nLAB_002c46d8:\n      FUN_00290940();\n      goto LAB_002c46dd;\n    }\n    local_cd = (bool)(*(byte *)(lVar31 + 0x20) & 1);\n    if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c4670:\n                    \n      FUN_00291e90();\n    }\n    bVar48 = uVar44 == 100;\n    local_68 = *(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8);\n    bVar47 = 0;\n    if ((uVar18 & 0xf7) != 0x85) {\n      param_9 = local_c8;\n      goto LAB_002c13c4;\n    }\n    param_9 = local_c8;\nLAB_002c16b8:\n    cVar16 = FUN_002e7200(param_8);\n    if (cVar16 == '\0') {\n      local_cf = (bVar47 ^ 1) & bVar48;\n      if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    else {\n      local_cf = 0;\n    }\n    if (*(char *)((long)param_8 + 100) != '\0') {\n      local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n      if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar44 - 100;\n      uVar32 = (ulong)(uVar44 - 0x85);\n      local_b8 = (ulong)(param_3 == 9);\n      uStack_80 = 0;\n      uStack_7c = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar30 = (ushort)*param_10;\n      uVar17 = (uint)uVar30;\n      uVar2 = *(ushort *)((long)param_10 + 2);\n      uVar18 = (uint)uVar2;\n      local_84 = uVar44;\n      if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    \n    local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0);\n    if ((local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    if (uVar44 - 0x85 < 0x29) {\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_ce = 0;\n    local_b8 = (ulong)(param_3 == 9);\nLAB_002c1b2f:\n    local_84 = uVar44;\n    if (((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;\n  }" (if "if") (parenthesized_expression "(param_8 == (undefined8 *)0x0)" (( "(") (binary_expression "param_8 == (undefined8 *)0x0" (identifier "param_8") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46) <= (ulong)uVar33) {\n                    \n      FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");\n    }\n    local_e8 = (byte)(uVar18 >> 8);\n    uVar24 = 1L << (local_e8 & 0x3f);\n    uVar32 = *(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8);\n    local_b8 = plVar6[0x4c];\n    uVar43 = uVar24 & uVar32;\n    bVar47 = uVar43 != 0;\n    if (((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b) <= (ulong)uVar33) {\nLAB_002c45d2:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");\n    }\n    uVar8 = *(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8);\n    bVar14 = (uVar24 & uVar8) != 0;\n    local_cd = ((uVar32 | uVar8) & uVar24) != 0;\n    if (local_cd) {\n                    \n      local_68 = FUN_001a5ac0(param_9,plVar6,1);\n      param_9 = &local_78;\n    }\n    if (uVar44 == 100) {\n      plVar27 = (long *)plVar6[0x69];\n      plVar40 = plVar6 + 0x68;\n      plVar29 = plVar27;\n      plVar28 = plVar40;\n      if (plVar27 == (long *)0x0) goto LAB_002c1c10;\n      do {\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      } while (plVar26 != (long *)0x0);\n      if (((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))\n      goto LAB_002c1c10;\n      plVar29 = plVar40;\n      if (uVar43 != 0) {\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }\n      do {\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      } while (plVar27 != (long *)0x0);\n      lVar31 = 0;\n      if ((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)) {\n        lVar31 = plVar28[5];\n      }\n      bVar47 = 0;\n      cVar15 = '\0';\n      goto LAB_002c1d90;\n    }\n    plVar40 = (long *)plVar6[99];\n    plVar27 = plVar6 + 0x62;\n    if ((long *)plVar6[99] != (long *)0x0) {\n      do {\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      } while ((long *)plVar29[2] != (long *)0x0);\nLAB_002c2b6a:\n      if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;\n      goto LAB_002c15fe;\n    }\nLAB_002c1c10:\n    cVar15 = '\0';\nLAB_002c1c17:\n    bVar45 = uVar44 == 100;\nLAB_002c13a0:\n    bVar42 = bVar14 & bVar45;\n    bVar48 = (bool)bVar42;\n    if ((bool)bVar42 == false) {\nLAB_002c13ac:\n      bVar48 = bVar45;\n      if ((uVar18 & 0xf7) == 0x85) {\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }\n    }\n    else {\nLAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");\n      FUN_0034a750(uVar22);\n      bVar14 = bVar42;\n    }\nLAB_002c13d7:\n    if (param_8 != (undefined8 *)0x0) goto LAB_002c16b8;\n    local_cf = (bVar47 ^ 1) & bVar48;\n    local_ce = local_cf;\n    if (local_cf != 0) goto LAB_002c1402;\n    local_cf = (bVar14 ^ 1) & uVar44 == 0x85;\n    if (local_cf == 0) goto LAB_002c1bcf;\n    local_84 = 0x85;\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_f0 = 0x21;\n    local_b8 = (ulong)(param_3 == 9);\n    local_ce = local_cf;\nLAB_002c1d4a:\n    if (1 < local_84 - 0x8b) {\n      uVar17 = (uint)(ushort)*param_10;\n      uVar18 = (uint)*(ushort *)((long)param_10 + 2);\nLAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;\nLAB_002c1467:\n      *(uint *)param_10 = uVar18;\n    }\n  }" ({ "{") (if_statement "if (((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46) <= (ulong)uVar33) {\n                    \n      FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");\n    }" (if "if") (parenthesized_expression "(((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46) <= (ulong)uVar33)" (( "(") (binary_expression "((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46) <= (ulong)uVar33" (binary_expression "((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x46)" (parenthesized_expression "((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8)" (( "(") (binary_expression "(ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8" (binary_expression "(ulong)*(uint *)(plVar6 + 0x48)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(plVar6 + 0x48)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 0x48)" (( "(") (binary_expression "plVar6 + 0x48" (identifier "plVar6") (+ "+") (number_literal "0x48")) () ")")))) (+ "+") (binary_expression "(plVar6[0x47] - plVar6[0x45]) * 8" (parenthesized_expression "(plVar6[0x47] - plVar6[0x45])" (( "(") (binary_expression "plVar6[0x47] - plVar6[0x45]" (subscript_expression "plVar6[0x47]" (identifier "plVar6") ([ "[") (number_literal "0x47") (] "]")) (- "-") (subscript_expression "plVar6[0x45]" (identifier "plVar6") ([ "[") (number_literal "0x45") (] "]"))) () ")")) (* "*") (number_literal "8"))) () ")")) (- "-") (binary_expression "(ulong)*(uint *)(plVar6 + 0x46)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(plVar6 + 0x46)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 0x46)" (( "(") (binary_expression "plVar6 + 0x46" (identifier "plVar6") (+ "+") (number_literal "0x46")) () ")"))))) (<= "<=") (cast_expression "(ulong)uVar33" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar33"))) () ")")) (compound_statement "{\n                    \n      FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");\n    }" ({ "{") (expression_statement "FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16")" (identifier "FUN_00352af0") (argument_list "("../../gold/mips.cc",0x65f,"local_symbol_is_mips16")" (( "(") (string_literal ""../../gold/mips.cc"" (" """) (string_content "../../gold/mips.cc") (" """)) (, ",") (number_literal "0x65f") (, ",") (string_literal ""local_symbol_is_mips16"" (" """) (string_content "local_symbol_is_mips16") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "local_e8 = (byte)(uVar18 >> 8);" (assignment_expression "local_e8 = (byte)(uVar18 >> 8)" (identifier "local_e8") (= "=") (call_expression "(byte)(uVar18 >> 8)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uVar18 >> 8)" (( "(") (binary_expression "uVar18 >> 8" (identifier "uVar18") (>> ">>") (number_literal "8")) () ")")))) (; ";")) (expression_statement "uVar24 = 1L << (local_e8 & 0x3f);" (assignment_expression "uVar24 = 1L << (local_e8 & 0x3f)" (identifier "uVar24") (= "=") (binary_expression "1L << (local_e8 & 0x3f)" (number_literal "1L") (<< "<<") (parenthesized_expression "(local_e8 & 0x3f)" (( "(") (binary_expression "local_e8 & 0x3f" (identifier "local_e8") (& "&") (number_literal "0x3f")) () ")")))) (; ";")) (expression_statement "uVar32 = *(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8);" (assignment_expression "uVar32 = *(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8)" (identifier "uVar32") (= "=") (pointer_expression "*(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8)" (* "*") (cast_expression "(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8)" (( "(") (binary_expression "plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8" (subscript_expression "plVar6[0x45]" (identifier "plVar6") ([ "[") (number_literal "0x45") (] "]")) (+ "+") (binary_expression "(ulong)(uVar18 >> 0xe) * 8" (call_expression "(ulong)(uVar18 >> 0xe)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar18 >> 0xe)" (( "(") (binary_expression "uVar18 >> 0xe" (identifier "uVar18") (>> ">>") (number_literal "0xe")) () ")"))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "local_b8 = plVar6[0x4c];" (assignment_expression "local_b8 = plVar6[0x4c]" (identifier "local_b8") (= "=") (subscript_expression "plVar6[0x4c]" (identifier "plVar6") ([ "[") (number_literal "0x4c") (] "]"))) (; ";")) (expression_statement "uVar43 = uVar24 & uVar32;" (assignment_expression "uVar43 = uVar24 & uVar32" (identifier "uVar43") (= "=") (binary_expression "uVar24 & uVar32" (identifier "uVar24") (& "&") (identifier "uVar32"))) (; ";")) (expression_statement "bVar47 = uVar43 != 0;" (assignment_expression "bVar47 = uVar43 != 0" (identifier "bVar47") (= "=") (binary_expression "uVar43 != 0" (identifier "uVar43") (!= "!=") (number_literal "0"))) (; ";")) (if_statement "if (((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b) <= (ulong)uVar33) {\nLAB_002c45d2:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");\n    }" (if "if") (parenthesized_expression "(((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b) <= (ulong)uVar33)" (( "(") (binary_expression "((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b) <= (ulong)uVar33" (binary_expression "((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -\n        (ulong)*(uint *)(plVar6 + 0x4b)" (parenthesized_expression "((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8)" (( "(") (binary_expression "(ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8" (binary_expression "(ulong)*(uint *)(plVar6 + 0x4d)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(plVar6 + 0x4d)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 0x4d)" (( "(") (binary_expression "plVar6 + 0x4d" (identifier "plVar6") (+ "+") (number_literal "0x4d")) () ")")))) (+ "+") (binary_expression "(local_b8 - plVar6[0x4a]) * 8" (parenthesized_expression "(local_b8 - plVar6[0x4a])" (( "(") (binary_expression "local_b8 - plVar6[0x4a]" (identifier "local_b8") (- "-") (subscript_expression "plVar6[0x4a]" (identifier "plVar6") ([ "[") (number_literal "0x4a") (] "]"))) () ")")) (* "*") (number_literal "8"))) () ")")) (- "-") (binary_expression "(ulong)*(uint *)(plVar6 + 0x4b)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(plVar6 + 0x4b)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 0x4b)" (( "(") (binary_expression "plVar6 + 0x4b" (identifier "plVar6") (+ "+") (number_literal "0x4b")) () ")"))))) (<= "<=") (cast_expression "(ulong)uVar33" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar33"))) () ")")) (compound_statement "{\nLAB_002c45d2:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");\n    }" ({ "{") (labeled_statement "LAB_002c45d2:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");" (statement_identifier "LAB_002c45d2") (: ":") (expression_statement "FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips")" (identifier "FUN_00352af0") (argument_list "("../../gold/mips.cc",0x668,"local_symbol_is_micromips")" (( "(") (string_literal ""../../gold/mips.cc"" (" """) (string_content "../../gold/mips.cc") (" """)) (, ",") (number_literal "0x668") (, ",") (string_literal ""local_symbol_is_micromips"" (" """) (string_content "local_symbol_is_micromips") (" """)) () ")"))) (; ";"))) (} "}"))) (expression_statement "uVar8 = *(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8);" (assignment_expression "uVar8 = *(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8)" (identifier "uVar8") (= "=") (pointer_expression "*(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8)" (* "*") (cast_expression "(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8)" (( "(") (binary_expression "plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8" (subscript_expression "plVar6[0x4a]" (identifier "plVar6") ([ "[") (number_literal "0x4a") (] "]")) (+ "+") (binary_expression "(ulong)(uVar18 >> 0xe) * 8" (call_expression "(ulong)(uVar18 >> 0xe)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar18 >> 0xe)" (( "(") (binary_expression "uVar18 >> 0xe" (identifier "uVar18") (>> ">>") (number_literal "0xe")) () ")"))) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (expression_statement "bVar14 = (uVar24 & uVar8) != 0;" (assignment_expression "bVar14 = (uVar24 & uVar8) != 0" (identifier "bVar14") (= "=") (binary_expression "(uVar24 & uVar8) != 0" (parenthesized_expression "(uVar24 & uVar8)" (( "(") (binary_expression "uVar24 & uVar8" (identifier "uVar24") (& "&") (identifier "uVar8")) () ")")) (!= "!=") (number_literal "0"))) (; ";")) (expression_statement "local_cd = ((uVar32 | uVar8) & uVar24) != 0;" (assignment_expression "local_cd = ((uVar32 | uVar8) & uVar24) != 0" (identifier "local_cd") (= "=") (binary_expression "((uVar32 | uVar8) & uVar24) != 0" (parenthesized_expression "((uVar32 | uVar8) & uVar24)" (( "(") (binary_expression "(uVar32 | uVar8) & uVar24" (parenthesized_expression "(uVar32 | uVar8)" (( "(") (binary_expression "uVar32 | uVar8" (identifier "uVar32") (| "|") (identifier "uVar8")) () ")")) (& "&") (identifier "uVar24")) () ")")) (!= "!=") (number_literal "0"))) (; ";")) (if_statement "if (local_cd) {\n                    \n      local_68 = FUN_001a5ac0(param_9,plVar6,1);\n      param_9 = &local_78;\n    }" (if "if") (parenthesized_expression "(local_cd)" (( "(") (identifier "local_cd") () ")")) (compound_statement "{\n                    \n      local_68 = FUN_001a5ac0(param_9,plVar6,1);\n      param_9 = &local_78;\n    }" ({ "{") (expression_statement "local_68 = FUN_001a5ac0(param_9,plVar6,1);" (assignment_expression "local_68 = FUN_001a5ac0(param_9,plVar6,1)" (identifier "local_68") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,1)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,1)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "param_9 = &local_78;" (assignment_expression "param_9 = &local_78" (identifier "param_9") (= "=") (pointer_expression "&local_78" (& "&") (identifier "local_78"))) (; ";")) (} "}"))) (if_statement "if (uVar44 == 100) {\n      plVar27 = (long *)plVar6[0x69];\n      plVar40 = plVar6 + 0x68;\n      plVar29 = plVar27;\n      plVar28 = plVar40;\n      if (plVar27 == (long *)0x0) goto LAB_002c1c10;\n      do {\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      } while (plVar26 != (long *)0x0);\n      if (((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))\n      goto LAB_002c1c10;\n      plVar29 = plVar40;\n      if (uVar43 != 0) {\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }\n      do {\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      } while (plVar27 != (long *)0x0);\n      lVar31 = 0;\n      if ((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)) {\n        lVar31 = plVar28[5];\n      }\n      bVar47 = 0;\n      cVar15 = '\0';\n      goto LAB_002c1d90;\n    }" (if "if") (parenthesized_expression "(uVar44 == 100)" (( "(") (binary_expression "uVar44 == 100" (identifier "uVar44") (== "==") (number_literal "100")) () ")")) (compound_statement "{\n      plVar27 = (long *)plVar6[0x69];\n      plVar40 = plVar6 + 0x68;\n      plVar29 = plVar27;\n      plVar28 = plVar40;\n      if (plVar27 == (long *)0x0) goto LAB_002c1c10;\n      do {\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      } while (plVar26 != (long *)0x0);\n      if (((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))\n      goto LAB_002c1c10;\n      plVar29 = plVar40;\n      if (uVar43 != 0) {\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }\n      do {\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      } while (plVar27 != (long *)0x0);\n      lVar31 = 0;\n      if ((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)) {\n        lVar31 = plVar28[5];\n      }\n      bVar47 = 0;\n      cVar15 = '\0';\n      goto LAB_002c1d90;\n    }" ({ "{") (expression_statement "plVar27 = (long *)plVar6[0x69];" (assignment_expression "plVar27 = (long *)plVar6[0x69]" (identifier "plVar27") (= "=") (cast_expression "(long *)plVar6[0x69]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "plVar6[0x69]" (identifier "plVar6") ([ "[") (number_literal "0x69") (] "]")))) (; ";")) (expression_statement "plVar40 = plVar6 + 0x68;" (assignment_expression "plVar40 = plVar6 + 0x68" (identifier "plVar40") (= "=") (binary_expression "plVar6 + 0x68" (identifier "plVar6") (+ "+") (number_literal "0x68"))) (; ";")) (expression_statement "plVar29 = plVar27;" (assignment_expression "plVar29 = plVar27" (identifier "plVar29") (= "=") (identifier "plVar27")) (; ";")) (expression_statement "plVar28 = plVar40;" (assignment_expression "plVar28 = plVar40" (identifier "plVar28") (= "=") (identifier "plVar40")) (; ";")) (if_statement "if (plVar27 == (long *)0x0) goto LAB_002c1c10;" (if "if") (parenthesized_expression "(plVar27 == (long *)0x0)" (( "(") (binary_expression "plVar27 == (long *)0x0" (identifier "plVar27") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_002c1c10;" (goto "goto") (statement_identifier "LAB_002c1c10") (; ";"))) (do_statement "do {\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      } while (plVar26 != (long *)0x0);" (do "do") (compound_statement "{\n        if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }\n        plVar29 = plVar26;\n      }" ({ "{") (if_statement "if (*(uint *)(plVar29 + 4) < uVar33) {\n          plVar26 = (long *)plVar29[3];\n        }\n        else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }" (if "if") (parenthesized_expression "(*(uint *)(plVar29 + 4) < uVar33)" (( "(") (binary_expression "*(uint *)(plVar29 + 4) < uVar33" (pointer_expression "*(uint *)(plVar29 + 4)" (* "*") (cast_expression "(uint *)(plVar29 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar29 + 4)" (( "(") (binary_expression "plVar29 + 4" (identifier "plVar29") (+ "+") (number_literal "4")) () ")")))) (< "<") (identifier "uVar33")) () ")")) (compound_statement "{\n          plVar26 = (long *)plVar29[3];\n        }" ({ "{") (expression_statement "plVar26 = (long *)plVar29[3];" (assignment_expression "plVar26 = (long *)plVar29[3]" (identifier "plVar26") (= "=") (cast_expression "(long *)plVar29[3]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "plVar29[3]" (identifier "plVar29") ([ "[") (number_literal "3") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }" (else "else") (compound_statement "{\n          plVar26 = (long *)plVar29[2];\n          plVar28 = plVar29;\n        }" ({ "{") (expression_statement "plVar26 = (long *)plVar29[2];" (assignment_expression "plVar26 = (long *)plVar29[2]" (identifier "plVar26") (= "=") (cast_expression "(long *)plVar29[2]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "plVar29[2]" (identifier "plVar29") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "plVar28 = plVar29;" (assignment_expression "plVar28 = plVar29" (identifier "plVar28") (= "=") (identifier "plVar29")) (; ";")) (} "}")))) (expression_statement "plVar29 = plVar26;" (assignment_expression "plVar29 = plVar26" (identifier "plVar29") (= "=") (identifier "plVar26")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(plVar26 != (long *)0x0)" (( "(") (binary_expression "plVar26 != (long *)0x0" (identifier "plVar26") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (if_statement "if (((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))\n      goto LAB_002c1c10;" (if "if") (parenthesized_expression "(((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))" (( "(") (binary_expression "((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0)" (parenthesized_expression "((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4)))" (( "(") (binary_expression "(plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))" (parenthesized_expression "(plVar40 == plVar28)" (( "(") (binary_expression "plVar40 == plVar28" (identifier "plVar40") (== "==") (identifier "plVar28")) () ")")) (|| "||") (parenthesized_expression "(uVar33 < *(uint *)(plVar28 + 4))" (( "(") (binary_expression "uVar33 < *(uint *)(plVar28 + 4)" (identifier "uVar33") (< "<") (pointer_expression "*(uint *)(plVar28 + 4)" (* "*") (cast_expression "(uint *)(plVar28 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar28 + 4)" (( "(") (binary_expression "plVar28 + 4" (identifier "plVar28") (+ "+") (number_literal "4")) () ")"))))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(plVar28[5] == 0)" (( "(") (binary_expression "plVar28[5] == 0" (subscript_expression "plVar28[5]" (identifier "plVar28") ([ "[") (number_literal "5") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_002c1c10;" (goto "goto") (statement_identifier "LAB_002c1c10") (; ";"))) (expression_statement "plVar29 = plVar40;" (assignment_expression "plVar29 = plVar40" (identifier "plVar29") (= "=") (identifier "plVar40")) (; ";")) (if_statement "if (uVar43 != 0) {\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }" (if "if") (parenthesized_expression "(uVar43 != 0)" (( "(") (binary_expression "uVar43 != 0" (identifier "uVar43") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        bVar47 = true;\n        goto LAB_002c1c10;\n      }" ({ "{") (expression_statement "bVar47 = true;" (assignment_expression "bVar47 = true" (identifier "bVar47") (= "=") (true "true")) (; ";")) (goto_statement "goto LAB_002c1c10;" (goto "goto") (statement_identifier "LAB_002c1c10") (; ";")) (} "}"))) (do_statement "do {\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      } while (plVar27 != (long *)0x0);" (do "do") (compound_statement "{\n        plVar28 = plVar27;\n        if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }\n        plVar29 = plVar28;\n      }" ({ "{") (expression_statement "plVar28 = plVar27;" (assignment_expression "plVar28 = plVar27" (identifier "plVar28") (= "=") (identifier "plVar27")) (; ";")) (if_statement "if (*(uint *)(plVar28 + 4) < uVar33) {\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }\n        else {\n          plVar27 = (long *)plVar28[2];\n        }" (if "if") (parenthesized_expression "(*(uint *)(plVar28 + 4) < uVar33)" (( "(") (binary_expression "*(uint *)(plVar28 + 4) < uVar33" (pointer_expression "*(uint *)(plVar28 + 4)" (* "*") (cast_expression "(uint *)(plVar28 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar28 + 4)" (( "(") (binary_expression "plVar28 + 4" (identifier "plVar28") (+ "+") (number_literal "4")) () ")")))) (< "<") (identifier "uVar33")) () ")")) (compound_statement "{\n          plVar27 = (long *)plVar28[3];\n          plVar28 = plVar29;\n        }" ({ "{") (expression_statement "plVar27 = (long *)plVar28[3];" (assignment_expression "plVar27 = (long *)plVar28[3]" (identifier "plVar27") (= "=") (cast_expression "(long *)plVar28[3]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "plVar28[3]" (identifier "plVar28") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "plVar28 = plVar29;" (assignment_expression "plVar28 = plVar29" (identifier "plVar28") (= "=") (identifier "plVar29")) (; ";")) (} "}")) (else_clause "else {\n          plVar27 = (long *)plVar28[2];\n        }" (else "else") (compound_statement "{\n          plVar27 = (long *)plVar28[2];\n        }" ({ "{") (expression_statement "plVar27 = (long *)plVar28[2];" (assignment_expression "plVar27 = (long *)plVar28[2]" (identifier "plVar27") (= "=") (cast_expression "(long *)plVar28[2]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "plVar28[2]" (identifier "plVar28") ([ "[") (number_literal "2") (] "]")))) (; ";")) (} "}")))) (expression_statement "plVar29 = plVar28;" (assignment_expression "plVar29 = plVar28" (identifier "plVar29") (= "=") (identifier "plVar28")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(plVar27 != (long *)0x0)" (( "(") (binary_expression "plVar27 != (long *)0x0" (identifier "plVar27") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (expression_statement "lVar31 = 0;" (assignment_expression "lVar31 = 0" (identifier "lVar31") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)) {\n        lVar31 = plVar28[5];\n      }" (if "if") (parenthesized_expression "((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33))" (( "(") (binary_expression "(plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)" (parenthesized_expression "(plVar40 != plVar28)" (( "(") (binary_expression "plVar40 != plVar28" (identifier "plVar40") (!= "!=") (identifier "plVar28")) () ")")) (&& "&&") (parenthesized_expression "(*(uint *)(plVar28 + 4) <= uVar33)" (( "(") (binary_expression "*(uint *)(plVar28 + 4) <= uVar33" (pointer_expression "*(uint *)(plVar28 + 4)" (* "*") (cast_expression "(uint *)(plVar28 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar28 + 4)" (( "(") (binary_expression "plVar28 + 4" (identifier "plVar28") (+ "+") (number_literal "4")) () ")")))) (<= "<=") (identifier "uVar33")) () ")"))) () ")")) (compound_statement "{\n        lVar31 = plVar28[5];\n      }" ({ "{") (expression_statement "lVar31 = plVar28[5];" (assignment_expression "lVar31 = plVar28[5]" (identifier "lVar31") (= "=") (subscript_expression "plVar28[5]" (identifier "plVar28") ([ "[") (number_literal "5") (] "]"))) (; ";")) (} "}"))) (expression_statement "bVar47 = 0;" (assignment_expression "bVar47 = 0" (identifier "bVar47") (= "=") (number_literal "0")) (; ";")) (expression_statement "cVar15 = '\0';" (assignment_expression "cVar15 = '\0'" (identifier "cVar15") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (goto_statement "goto LAB_002c1d90;" (goto "goto") (statement_identifier "LAB_002c1d90") (; ";")) (} "}"))) (expression_statement "plVar40 = (long *)plVar6[99];" (assignment_expression "plVar40 = (long *)plVar6[99]" (identifier "plVar40") (= "=") (cast_expression "(long *)plVar6[99]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "plVar6[99]" (identifier "plVar6") ([ "[") (number_literal "99") (] "]")))) (; ";")) (expression_statement "plVar27 = plVar6 + 0x62;" (assignment_expression "plVar27 = plVar6 + 0x62" (identifier "plVar27") (= "=") (binary_expression "plVar6 + 0x62" (identifier "plVar6") (+ "+") (number_literal "0x62"))) (; ";")) (if_statement "if ((long *)plVar6[99] != (long *)0x0) {\n      do {\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      } while ((long *)plVar29[2] != (long *)0x0);\nLAB_002c2b6a:\n      if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;\n      goto LAB_002c15fe;\n    }" (if "if") (parenthesized_expression "((long *)plVar6[99] != (long *)0x0)" (( "(") (binary_expression "(long *)plVar6[99] != (long *)0x0" (cast_expression "(long *)plVar6[99]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "plVar6[99]" (identifier "plVar6") ([ "[") (number_literal "99") (] "]"))) (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      do {\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      } while ((long *)plVar29[2] != (long *)0x0);\nLAB_002c2b6a:\n      if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;\n      goto LAB_002c15fe;\n    }" ({ "{") (do_statement "do {\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      } while ((long *)plVar29[2] != (long *)0x0);" (do "do") (compound_statement "{\n        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }\n        plVar40 = (long *)plVar29[2];\n        plVar27 = plVar29;\n      }" ({ "{") (while_statement "while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }" (while "while") (parenthesized_expression "(plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33)" (( "(") (comma_expression "plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33" (assignment_expression "plVar29 = plVar40" (identifier "plVar29") (= "=") (identifier "plVar40")) (, ",") (binary_expression "*(uint *)(plVar29 + 4) < uVar33" (pointer_expression "*(uint *)(plVar29 + 4)" (* "*") (cast_expression "(uint *)(plVar29 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar29 + 4)" (( "(") (binary_expression "plVar29 + 4" (identifier "plVar29") (+ "+") (number_literal "4")) () ")")))) (< "<") (identifier "uVar33"))) () ")")) (compound_statement "{\n          plVar28 = plVar29 + 3;\n          plVar40 = (long *)*plVar28;\n          plVar29 = plVar27;\n          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;\n        }" ({ "{") (expression_statement "plVar28 = plVar29 + 3;" (assignment_expression "plVar28 = plVar29 + 3" (identifier "plVar28") (= "=") (binary_expression "plVar29 + 3" (identifier "plVar29") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "plVar40 = (long *)*plVar28;" (assignment_expression "plVar40 = (long *)*plVar28" (identifier "plVar40") (= "=") (cast_expression "(long *)*plVar28" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar28" (* "*") (identifier "plVar28")))) (; ";")) (expression_statement "plVar29 = plVar27;" (assignment_expression "plVar29 = plVar27" (identifier "plVar29") (= "=") (identifier "plVar27")) (; ";")) (if_statement "if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;" (if "if") (parenthesized_expression "((long *)*plVar28 == (long *)0x0)" (( "(") (binary_expression "(long *)*plVar28 == (long *)0x0" (cast_expression "(long *)*plVar28" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar28" (* "*") (identifier "plVar28"))) (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_002c2b6a;" (goto "goto") (statement_identifier "LAB_002c2b6a") (; ";"))) (} "}"))) (expression_statement "plVar40 = (long *)plVar29[2];" (assignment_expression "plVar40 = (long *)plVar29[2]" (identifier "plVar40") (= "=") (cast_expression "(long *)plVar29[2]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "plVar29[2]" (identifier "plVar29") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "plVar27 = plVar29;" (assignment_expression "plVar27 = plVar29" (identifier "plVar27") (= "=") (identifier "plVar29")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((long *)plVar29[2] != (long *)0x0)" (( "(") (binary_expression "(long *)plVar29[2] != (long *)0x0" (cast_expression "(long *)plVar29[2]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "plVar29[2]" (identifier "plVar29") ([ "[") (number_literal "2") (] "]"))) (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (labeled_statement "LAB_002c2b6a:\n      if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;" (statement_identifier "LAB_002c2b6a") (: ":") (if_statement "if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;" (if "if") (parenthesized_expression "(((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0))" (( "(") (binary_expression "((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||\n         (cVar15 = '\0', plVar29[5] == 0)" (parenthesized_expression "((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4)))" (( "(") (binary_expression "(plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))" (parenthesized_expression "(plVar6 + 0x62 == plVar29)" (( "(") (binary_expression "plVar6 + 0x62 == plVar29" (binary_expression "plVar6 + 0x62" (identifier "plVar6") (+ "+") (number_literal "0x62")) (== "==") (identifier "plVar29")) () ")")) (|| "||") (parenthesized_expression "(uVar33 < *(uint *)(plVar29 + 4))" (( "(") (binary_expression "uVar33 < *(uint *)(plVar29 + 4)" (identifier "uVar33") (< "<") (pointer_expression "*(uint *)(plVar29 + 4)" (* "*") (cast_expression "(uint *)(plVar29 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar29 + 4)" (( "(") (binary_expression "plVar29 + 4" (identifier "plVar29") (+ "+") (number_literal "4")) () ")"))))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(cVar15 = '\0', plVar29[5] == 0)" (( "(") (comma_expression "cVar15 = '\0', plVar29[5] == 0" (assignment_expression "cVar15 = '\0'" (identifier "cVar15") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (, ",") (binary_expression "plVar29[5] == 0" (subscript_expression "plVar29[5]" (identifier "plVar29") ([ "[") (number_literal "5") (] "]")) (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_002c1c10;" (goto "goto") (statement_identifier "LAB_002c1c10") (; ";")))) (goto_statement "goto LAB_002c15fe;" (goto "goto") (statement_identifier "LAB_002c15fe") (; ";")) (} "}"))) (labeled_statement "LAB_002c1c10:\n    cVar15 = '\0';" (statement_identifier "LAB_002c1c10") (: ":") (expression_statement "cVar15 = '\0';" (assignment_expression "cVar15 = '\0'" (identifier "cVar15") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";"))) (labeled_statement "LAB_002c1c17:\n    bVar45 = uVar44 == 100;" (statement_identifier "LAB_002c1c17") (: ":") (expression_statement "bVar45 = uVar44 == 100;" (assignment_expression "bVar45 = uVar44 == 100" (identifier "bVar45") (= "=") (binary_expression "uVar44 == 100" (identifier "uVar44") (== "==") (number_literal "100"))) (; ";"))) (labeled_statement "LAB_002c13a0:\n    bVar42 = bVar14 & bVar45;" (statement_identifier "LAB_002c13a0") (: ":") (expression_statement "bVar42 = bVar14 & bVar45;" (assignment_expression "bVar42 = bVar14 & bVar45" (identifier "bVar42") (= "=") (binary_expression "bVar14 & bVar45" (identifier "bVar14") (& "&") (identifier "bVar45"))) (; ";"))) (expression_statement "bVar48 = (bool)bVar42;" (assignment_expression "bVar48 = (bool)bVar42" (identifier "bVar48") (= "=") (cast_expression "(bool)bVar42" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "bVar42"))) (; ";")) (if_statement "if ((bool)bVar42 == false) {\nLAB_002c13ac:\n      bVar48 = bVar45;\n      if ((uVar18 & 0xf7) == 0x85) {\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }\n    }\n    else {\nLAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");\n      FUN_0034a750(uVar22);\n      bVar14 = bVar42;\n    }" (if "if") (parenthesized_expression "((bool)bVar42 == false)" (( "(") (binary_expression "(bool)bVar42 == false" (cast_expression "(bool)bVar42" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "bVar42")) (== "==") (false "false")) () ")")) (compound_statement "{\nLAB_002c13ac:\n      bVar48 = bVar45;\n      if ((uVar18 & 0xf7) == 0x85) {\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }\n    }" ({ "{") (labeled_statement "LAB_002c13ac:\n      bVar48 = bVar45;" (statement_identifier "LAB_002c13ac") (: ":") (expression_statement "bVar48 = bVar45;" (assignment_expression "bVar48 = bVar45" (identifier "bVar48") (= "=") (identifier "bVar45")) (; ";"))) (if_statement "if ((uVar18 & 0xf7) == 0x85) {\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }\n      else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }" (if "if") (parenthesized_expression "((uVar18 & 0xf7) == 0x85)" (( "(") (binary_expression "(uVar18 & 0xf7) == 0x85" (parenthesized_expression "(uVar18 & 0xf7)" (( "(") (binary_expression "uVar18 & 0xf7" (identifier "uVar18") (& "&") (number_literal "0xf7")) () ")")) (== "==") (number_literal "0x85")) () ")")) (compound_statement "{\nLAB_002c1870:\n        bVar42 = bVar14;\n        if (bVar47 != 0) goto LAB_002c187c;\n      }" ({ "{") (labeled_statement "LAB_002c1870:\n        bVar42 = bVar14;" (statement_identifier "LAB_002c1870") (: ":") (expression_statement "bVar42 = bVar14;" (assignment_expression "bVar42 = bVar14" (identifier "bVar42") (= "=") (identifier "bVar14")) (; ";"))) (if_statement "if (bVar47 != 0) goto LAB_002c187c;" (if "if") (parenthesized_expression "(bVar47 != 0)" (( "(") (binary_expression "bVar47 != 0" (identifier "bVar47") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_002c187c;" (goto "goto") (statement_identifier "LAB_002c187c") (; ";"))) (} "}")) (else_clause "else {\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }" (else "else") (compound_statement "{\nLAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;\n      }" ({ "{") (labeled_statement "LAB_002c13c4:\n        if (uVar44 - 0x8b < 2) goto LAB_002c1870;" (statement_identifier "LAB_002c13c4") (: ":") (if_statement "if (uVar44 - 0x8b < 2) goto LAB_002c1870;" (if "if") (parenthesized_expression "(uVar44 - 0x8b < 2)" (( "(") (binary_expression "uVar44 - 0x8b < 2" (binary_expression "uVar44 - 0x8b" (identifier "uVar44") (- "-") (number_literal "0x8b")) (< "<") (number_literal "2")) () ")")) (goto_statement "goto LAB_002c1870;" (goto "goto") (statement_identifier "LAB_002c1870") (; ";")))) (} "}")))) (} "}")) (else_clause "else {\nLAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");\n      FUN_0034a750(uVar22);\n      bVar14 = bVar42;\n    }" (else "else") (compound_statement "{\nLAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");\n      FUN_0034a750(uVar22);\n      bVar14 = bVar42;\n    }" ({ "{") (labeled_statement "LAB_002c187c:\n      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");" (statement_identifier "LAB_002c187c") (: ":") (expression_statement "uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");" (assignment_expression "uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other")" (identifier "uVar22") (= "=") (call_expression "gettext("MIPS16 and microMIPS functions cannot call each other")" (identifier "gettext") (argument_list "("MIPS16 and microMIPS functions cannot call each other")" (( "(") (string_literal ""MIPS16 and microMIPS functions cannot call each other"" (" """) (string_content "MIPS16 and microMIPS functions cannot call each other") (" """)) () ")")))) (; ";"))) (expression_statement "FUN_0034a750(uVar22);" (call_expression "FUN_0034a750(uVar22)" (identifier "FUN_0034a750") (argument_list "(uVar22)" (( "(") (identifier "uVar22") () ")"))) (; ";")) (expression_statement "bVar14 = bVar42;" (assignment_expression "bVar14 = bVar42" (identifier "bVar14") (= "=") (identifier "bVar42")) (; ";")) (} "}")))) (labeled_statement "LAB_002c13d7:\n    if (param_8 != (undefined8 *)0x0) goto LAB_002c16b8;" (statement_identifier "LAB_002c13d7") (: ":") (if_statement "if (param_8 != (undefined8 *)0x0) goto LAB_002c16b8;" (if "if") (parenthesized_expression "(param_8 != (undefined8 *)0x0)" (( "(") (binary_expression "param_8 != (undefined8 *)0x0" (identifier "param_8") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_002c16b8;" (goto "goto") (statement_identifier "LAB_002c16b8") (; ";")))) (expression_statement "local_cf = (bVar47 ^ 1) & bVar48;" (assignment_expression "local_cf = (bVar47 ^ 1) & bVar48" (identifier "local_cf") (= "=") (binary_expression "(bVar47 ^ 1) & bVar48" (parenthesized_expression "(bVar47 ^ 1)" (( "(") (binary_expression "bVar47 ^ 1" (identifier "bVar47") (^ "^") (number_literal "1")) () ")")) (& "&") (identifier "bVar48"))) (; ";")) (expression_statement "local_ce = local_cf;" (assignment_expression "local_ce = local_cf" (identifier "local_ce") (= "=") (identifier "local_cf")) (; ";")) (if_statement "if (local_cf != 0) goto LAB_002c1402;" (if "if") (parenthesized_expression "(local_cf != 0)" (( "(") (binary_expression "local_cf != 0" (identifier "local_cf") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_002c1402;" (goto "goto") (statement_identifier "LAB_002c1402") (; ";"))) (expression_statement "local_cf = (bVar14 ^ 1) & uVar44 == 0x85;" (assignment_expression "local_cf = (bVar14 ^ 1) & uVar44 == 0x85" (identifier "local_cf") (= "=") (binary_expression "(bVar14 ^ 1) & uVar44 == 0x85" (parenthesized_expression "(bVar14 ^ 1)" (( "(") (binary_expression "bVar14 ^ 1" (identifier "bVar14") (^ "^") (number_literal "1")) () ")")) (& "&") (binary_expression "uVar44 == 0x85" (identifier "uVar44") (== "==") (number_literal "0x85")))) (; ";")) (if_statement "if (local_cf == 0) goto LAB_002c1bcf;" (if "if") (parenthesized_expression "(local_cf == 0)" (( "(") (binary_expression "local_cf == 0" (identifier "local_cf") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002c1bcf;" (goto "goto") (statement_identifier "LAB_002c1bcf") (; ";"))) (expression_statement "local_84 = 0x85;" (assignment_expression "local_84 = 0x85" (identifier "local_84") (= "=") (number_literal "0x85")) (; ";")) (expression_statement "uStack_80 = 0;" (assignment_expression "uStack_80 = 0" (identifier "uStack_80") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_7c = 0;" (assignment_expression "uStack_7c = 0" (identifier "uStack_7c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_f0 = 0x21;" (assignment_expression "local_f0 = 0x21" (identifier "local_f0") (= "=") (number_literal "0x21")) (; ";")) (expression_statement "local_b8 = (ulong)(param_3 == 9);" (assignment_expression "local_b8 = (ulong)(param_3 == 9)" (identifier "local_b8") (= "=") (call_expression "(ulong)(param_3 == 9)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(param_3 == 9)" (( "(") (binary_expression "param_3 == 9" (identifier "param_3") (== "==") (number_literal "9")) () ")")))) (; ";")) (expression_statement "local_ce = local_cf;" (assignment_expression "local_ce = local_cf" (identifier "local_ce") (= "=") (identifier "local_cf")) (; ";")) (labeled_statement "LAB_002c1d4a:\n    if (1 < local_84 - 0x8b) {\n      uVar17 = (uint)(ushort)*param_10;\n      uVar18 = (uint)*(ushort *)((long)param_10 + 2);\nLAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;\nLAB_002c1467:\n      *(uint *)param_10 = uVar18;\n    }" (statement_identifier "LAB_002c1d4a") (: ":") (if_statement "if (1 < local_84 - 0x8b) {\n      uVar17 = (uint)(ushort)*param_10;\n      uVar18 = (uint)*(ushort *)((long)param_10 + 2);\nLAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;\nLAB_002c1467:\n      *(uint *)param_10 = uVar18;\n    }" (if "if") (parenthesized_expression "(1 < local_84 - 0x8b)" (( "(") (binary_expression "1 < local_84 - 0x8b" (number_literal "1") (< "<") (binary_expression "local_84 - 0x8b" (identifier "local_84") (- "-") (number_literal "0x8b"))) () ")")) (compound_statement "{\n      uVar17 = (uint)(ushort)*param_10;\n      uVar18 = (uint)*(ushort *)((long)param_10 + 2);\nLAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;\nLAB_002c1467:\n      *(uint *)param_10 = uVar18;\n    }" ({ "{") (expression_statement "uVar17 = (uint)(ushort)*param_10;" (assignment_expression "uVar17 = (uint)(ushort)*param_10" (identifier "uVar17") (= "=") (binary_expression "(uint)(ushort)*param_10" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(ushort)" (( "(") (identifier "ushort") () ")"))) (* "*") (identifier "param_10"))) (; ";")) (expression_statement "uVar18 = (uint)*(ushort *)((long)param_10 + 2);" (assignment_expression "uVar18 = (uint)*(ushort *)((long)param_10 + 2)" (identifier "uVar18") (= "=") (binary_expression "(uint)*(ushort *)((long)param_10 + 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(ushort *)((long)param_10 + 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_10 + 2)" (( "(") (binary_expression "(long)param_10 + 2" (cast_expression "(long)param_10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_10")) (+ "+") (number_literal "2")) () ")"))))) (; ";")) (labeled_statement "LAB_002c1462:\n      uVar18 = uVar17 << 0x10 | uVar18;" (statement_identifier "LAB_002c1462") (: ":") (expression_statement "uVar18 = uVar17 << 0x10 | uVar18;" (assignment_expression "uVar18 = uVar17 << 0x10 | uVar18" (identifier "uVar18") (= "=") (binary_expression "uVar17 << 0x10 | uVar18" (binary_expression "uVar17 << 0x10" (identifier "uVar17") (<< "<<") (number_literal "0x10")) (| "|") (identifier "uVar18"))) (; ";"))) (labeled_statement "LAB_002c1467:\n      *(uint *)param_10 = uVar18;" (statement_identifier "LAB_002c1467") (: ":") (expression_statement "*(uint *)param_10 = uVar18;" (assignment_expression "*(uint *)param_10 = uVar18" (pointer_expression "*(uint *)param_10" (* "*") (cast_expression "(uint *)param_10" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_10"))) (= "=") (identifier "uVar18")) (; ";"))) (} "}")))) (} "}")) (else_clause "else {\n    bVar14 = *(byte *)((long)param_8 + 0x39) >> 2;\n    bVar47 = (bVar14 & 0x3c) == 0x3c;\n    bVar14 = (bVar14 & 0x30) == 0x20;\n    local_cd = (bool)bVar47 || (bool)bVar14;\n    if (((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)) {\n      local_68 = FUN_001a5ac0(param_9,plVar6,0);\n      local_68 = local_68 | 1;\n      param_9 = &local_78;\n    }\n    else {\n      local_cd = false;\n    }\n    local_c8 = &local_78;\n    iVar35 = 0;\n    if (uVar44 - 1 < 0xf9) {\n      iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];\n    }\n                    \n    cVar15 = FUN_00228fa0(param_8,iVar35);\n    if (cVar15 == '\0') {\n      bVar45 = false;\n      bVar48 = *(char *)((long)param_8 + 0x65) == '\0';\n      if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }\n    }\n    else {\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    \n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }\n    lVar31 = 9;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"_gp_disp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar45 = *pbVar37 < *pbVar38;\n      bVar48 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar48);\n    lVar31 = 0xf;\n    bVar48 = !bVar45 && !bVar48;\n    bVar46 = bVar48 < bVar45;\n    bVar49 = bVar48 == bVar45;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"__gnu_local_gp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar46 = *pbVar37 < *pbVar38;\n      bVar49 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar49);\n    if (bVar48 != bVar45) {\n      if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }\nLAB_002c15d8:\n      cVar15 = '\0';\n      if (uVar44 != 100) goto LAB_002c15e9;\nLAB_002c12e3:\n      lVar25 = param_8[0xf];\n      if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    \n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = true;\nLAB_002c1320:\n      local_c8 = &local_78;\n      if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    \n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }\n      goto LAB_002c13a0;\n    }\n    local_b8 = (ulong)*(byte *)((long)plVar6 + 0x36c);\n    bVar42 = *(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1;\n    if ((!bVar46 && !bVar49) == bVar46) {\n      if (bVar42 == 0) goto LAB_002c1750;\n    }\n    else if (bVar42 == 0) goto LAB_002c15d8;\n    if ((((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40)) {\n      uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n    }\n    cVar15 = '\x01';\n    if (uVar44 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    if (param_8[0xe] == 0) {\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    if ((uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0')) {\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = false;\n      goto LAB_002c13ac;\n    }\nLAB_002c15fe:\n    local_c8 = &local_78;\n    uVar17 = *(uint *)(param_2 + 0x30);\n    unaff_R13 = (uint *)(ulong)uVar17;\n    cVar16 = FUN_002972f0(plVar6,unaff_R13);\n    if ((cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e))) {\n      if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }\n    if (param_8 == (undefined8 *)0x0) {\n      plVar40 = (long *)plVar6[99];\n      plVar27 = plVar6 + 0x62;\n      if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }\nLAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);\n      bVar48 = uVar44 == 100;\n      bVar47 = 0;\n      if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }\n      param_9 = local_c8;\n      local_cd = true;\n      goto LAB_002c13d7;\n    }\n    if (*(char *)(param_8 + 9) == '\0') {\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");\n    }\n    if (*(int *)((long)param_8 + 0x4c) == -1) {\n      plVar40 = (long *)param_8[0xe];\n      goto LAB_002c3d91;\n    }\n    lVar31 = *(long *)(param_4 + 0x98);\n    if (lVar31 == 0) {\n      FUN_00290900();\nLAB_002c46d8:\n      FUN_00290940();\n      goto LAB_002c46dd;\n    }\n    local_cd = (bool)(*(byte *)(lVar31 + 0x20) & 1);\n    if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c4670:\n                    \n      FUN_00291e90();\n    }\n    bVar48 = uVar44 == 100;\n    local_68 = *(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8);\n    bVar47 = 0;\n    if ((uVar18 & 0xf7) != 0x85) {\n      param_9 = local_c8;\n      goto LAB_002c13c4;\n    }\n    param_9 = local_c8;\nLAB_002c16b8:\n    cVar16 = FUN_002e7200(param_8);\n    if (cVar16 == '\0') {\n      local_cf = (bVar47 ^ 1) & bVar48;\n      if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    else {\n      local_cf = 0;\n    }\n    if (*(char *)((long)param_8 + 100) != '\0') {\n      local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n      if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar44 - 100;\n      uVar32 = (ulong)(uVar44 - 0x85);\n      local_b8 = (ulong)(param_3 == 9);\n      uStack_80 = 0;\n      uStack_7c = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar30 = (ushort)*param_10;\n      uVar17 = (uint)uVar30;\n      uVar2 = *(ushort *)((long)param_10 + 2);\n      uVar18 = (uint)uVar2;\n      local_84 = uVar44;\n      if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    \n    local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0);\n    if ((local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    if (uVar44 - 0x85 < 0x29) {\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_ce = 0;\n    local_b8 = (ulong)(param_3 == 9);\nLAB_002c1b2f:\n    local_84 = uVar44;\n    if (((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;\n  }" (else "else") (compound_statement "{\n    bVar14 = *(byte *)((long)param_8 + 0x39) >> 2;\n    bVar47 = (bVar14 & 0x3c) == 0x3c;\n    bVar14 = (bVar14 & 0x30) == 0x20;\n    local_cd = (bool)bVar47 || (bool)bVar14;\n    if (((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)) {\n      local_68 = FUN_001a5ac0(param_9,plVar6,0);\n      local_68 = local_68 | 1;\n      param_9 = &local_78;\n    }\n    else {\n      local_cd = false;\n    }\n    local_c8 = &local_78;\n    iVar35 = 0;\n    if (uVar44 - 1 < 0xf9) {\n      iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];\n    }\n                    \n    cVar15 = FUN_00228fa0(param_8,iVar35);\n    if (cVar15 == '\0') {\n      bVar45 = false;\n      bVar48 = *(char *)((long)param_8 + 0x65) == '\0';\n      if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }\n    }\n    else {\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    \n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }\n    lVar31 = 9;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"_gp_disp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar45 = *pbVar37 < *pbVar38;\n      bVar48 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar48);\n    lVar31 = 0xf;\n    bVar48 = !bVar45 && !bVar48;\n    bVar46 = bVar48 < bVar45;\n    bVar49 = bVar48 == bVar45;\n    pbVar37 = (byte *)*param_8;\n    pbVar38 = (byte *)"__gnu_local_gp";\n    do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar46 = *pbVar37 < *pbVar38;\n      bVar49 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar49);\n    if (bVar48 != bVar45) {\n      if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }\nLAB_002c15d8:\n      cVar15 = '\0';\n      if (uVar44 != 100) goto LAB_002c15e9;\nLAB_002c12e3:\n      lVar25 = param_8[0xf];\n      if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    \n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = true;\nLAB_002c1320:\n      local_c8 = &local_78;\n      if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    \n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }\n      goto LAB_002c13a0;\n    }\n    local_b8 = (ulong)*(byte *)((long)plVar6 + 0x36c);\n    bVar42 = *(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1;\n    if ((!bVar46 && !bVar49) == bVar46) {\n      if (bVar42 == 0) goto LAB_002c1750;\n    }\n    else if (bVar42 == 0) goto LAB_002c15d8;\n    if ((((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40)) {\n      uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n    }\n    cVar15 = '\x01';\n    if (uVar44 == 100) goto LAB_002c12e3;\nLAB_002c15e9:\n    if (param_8[0xe] == 0) {\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }\n    if ((uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0')) {\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = false;\n      goto LAB_002c13ac;\n    }\nLAB_002c15fe:\n    local_c8 = &local_78;\n    uVar17 = *(uint *)(param_2 + 0x30);\n    unaff_R13 = (uint *)(ulong)uVar17;\n    cVar16 = FUN_002972f0(plVar6,unaff_R13);\n    if ((cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e))) {\n      if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }\n    if (param_8 == (undefined8 *)0x0) {\n      plVar40 = (long *)plVar6[99];\n      plVar27 = plVar6 + 0x62;\n      if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }\nLAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);\n      bVar48 = uVar44 == 100;\n      bVar47 = 0;\n      if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }\n      param_9 = local_c8;\n      local_cd = true;\n      goto LAB_002c13d7;\n    }\n    if (*(char *)(param_8 + 9) == '\0') {\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");\n    }\n    if (*(int *)((long)param_8 + 0x4c) == -1) {\n      plVar40 = (long *)param_8[0xe];\n      goto LAB_002c3d91;\n    }\n    lVar31 = *(long *)(param_4 + 0x98);\n    if (lVar31 == 0) {\n      FUN_00290900();\nLAB_002c46d8:\n      FUN_00290940();\n      goto LAB_002c46dd;\n    }\n    local_cd = (bool)(*(byte *)(lVar31 + 0x20) & 1);\n    if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c4670:\n                    \n      FUN_00291e90();\n    }\n    bVar48 = uVar44 == 100;\n    local_68 = *(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8);\n    bVar47 = 0;\n    if ((uVar18 & 0xf7) != 0x85) {\n      param_9 = local_c8;\n      goto LAB_002c13c4;\n    }\n    param_9 = local_c8;\nLAB_002c16b8:\n    cVar16 = FUN_002e7200(param_8);\n    if (cVar16 == '\0') {\n      local_cf = (bVar47 ^ 1) & bVar48;\n      if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    else {\n      local_cf = 0;\n    }\n    if (*(char *)((long)param_8 + 100) != '\0') {\n      local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n      if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar44 - 100;\n      uVar32 = (ulong)(uVar44 - 0x85);\n      local_b8 = (ulong)(param_3 == 9);\n      uStack_80 = 0;\n      uStack_7c = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar30 = (ushort)*param_10;\n      uVar17 = (uint)uVar30;\n      uVar2 = *(ushort *)((long)param_10 + 2);\n      uVar18 = (uint)uVar2;\n      local_84 = uVar44;\n      if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }\n                    \n    local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0);\n    if ((local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92))\n    goto LAB_002c1402;\nLAB_002c1ab9:\n    if (uVar44 - 0x85 < 0x29) {\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }\n    uStack_80 = 0;\n    uStack_7c = 0;\n    local_ce = 0;\n    local_b8 = (ulong)(param_3 == 9);\nLAB_002c1b2f:\n    local_84 = uVar44;\n    if (((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;\n  }" ({ "{") (expression_statement "bVar14 = *(byte *)((long)param_8 + 0x39) >> 2;" (assignment_expression "bVar14 = *(byte *)((long)param_8 + 0x39) >> 2" (identifier "bVar14") (= "=") (binary_expression "*(byte *)((long)param_8 + 0x39) >> 2" (pointer_expression "*(byte *)((long)param_8 + 0x39)" (* "*") (cast_expression "(byte *)((long)param_8 + 0x39)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 0x39)" (( "(") (binary_expression "(long)param_8 + 0x39" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "0x39")) () ")")))) (>> ">>") (number_literal "2"))) (; ";")) (expression_statement "bVar47 = (bVar14 & 0x3c) == 0x3c;" (assignment_expression "bVar47 = (bVar14 & 0x3c) == 0x3c" (identifier "bVar47") (= "=") (binary_expression "(bVar14 & 0x3c) == 0x3c" (parenthesized_expression "(bVar14 & 0x3c)" (( "(") (binary_expression "bVar14 & 0x3c" (identifier "bVar14") (& "&") (number_literal "0x3c")) () ")")) (== "==") (number_literal "0x3c"))) (; ";")) (expression_statement "bVar14 = (bVar14 & 0x30) == 0x20;" (assignment_expression "bVar14 = (bVar14 & 0x30) == 0x20" (identifier "bVar14") (= "=") (binary_expression "(bVar14 & 0x30) == 0x20" (parenthesized_expression "(bVar14 & 0x30)" (( "(") (binary_expression "bVar14 & 0x30" (identifier "bVar14") (& "&") (number_literal "0x30")) () ")")) (== "==") (number_literal "0x20"))) (; ";")) (expression_statement "local_cd = (bool)bVar47 || (bool)bVar14;" (assignment_expression "local_cd = (bool)bVar47 || (bool)bVar14" (identifier "local_cd") (= "=") (binary_expression "(bool)bVar47 || (bool)bVar14" (cast_expression "(bool)bVar47" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "bVar47")) (|| "||") (cast_expression "(bool)bVar14" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "bVar14")))) (; ";")) (if_statement "if (((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)) {\n      local_68 = FUN_001a5ac0(param_9,plVar6,0);\n      local_68 = local_68 | 1;\n      param_9 = &local_78;\n    }\n    else {\n      local_cd = false;\n    }" (if "if") (parenthesized_expression "(((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0))" (( "(") (binary_expression "((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)" (parenthesized_expression "((bool)bVar47 || (bool)bVar14)" (( "(") (binary_expression "(bool)bVar47 || (bool)bVar14" (cast_expression "(bool)bVar47" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "bVar47")) (|| "||") (cast_expression "(bool)bVar14" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "bVar14"))) () ")")) (&& "&&") (parenthesized_expression "(iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)" (( "(") (comma_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,0)" (identifier "iVar35") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (number_literal "0") () ")")))) (, ",") (binary_expression "iVar35 != 0" (identifier "iVar35") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      local_68 = FUN_001a5ac0(param_9,plVar6,0);\n      local_68 = local_68 | 1;\n      param_9 = &local_78;\n    }" ({ "{") (expression_statement "local_68 = FUN_001a5ac0(param_9,plVar6,0);" (assignment_expression "local_68 = FUN_001a5ac0(param_9,plVar6,0)" (identifier "local_68") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "local_68 = local_68 | 1;" (assignment_expression "local_68 = local_68 | 1" (identifier "local_68") (= "=") (binary_expression "local_68 | 1" (identifier "local_68") (| "|") (number_literal "1"))) (; ";")) (expression_statement "param_9 = &local_78;" (assignment_expression "param_9 = &local_78" (identifier "param_9") (= "=") (pointer_expression "&local_78" (& "&") (identifier "local_78"))) (; ";")) (} "}")) (else_clause "else {\n      local_cd = false;\n    }" (else "else") (compound_statement "{\n      local_cd = false;\n    }" ({ "{") (expression_statement "local_cd = false;" (assignment_expression "local_cd = false" (identifier "local_cd") (= "=") (false "false")) (; ";")) (} "}")))) (expression_statement "local_c8 = &local_78;" (assignment_expression "local_c8 = &local_78" (identifier "local_c8") (= "=") (pointer_expression "&local_78" (& "&") (identifier "local_78"))) (; ";")) (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" (identifier "iVar35") (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar44 - 1 < 0xf9) {\n      iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];\n    }" (if "if") (parenthesized_expression "(uVar44 - 1 < 0xf9)" (( "(") (binary_expression "uVar44 - 1 < 0xf9" (binary_expression "uVar44 - 1" (identifier "uVar44") (- "-") (number_literal "1")) (< "<") (number_literal "0xf9")) () ")")) (compound_statement "{\n      iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];\n    }" ({ "{") (expression_statement "iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];" (assignment_expression "iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1]" (identifier "iVar35") (= "=") (cast_expression "(int)(char)(&DAT_0055e3e0)[uVar44 - 1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)(&DAT_0055e3e0)[uVar44 - 1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "(&DAT_0055e3e0)[uVar44 - 1]" (parenthesized_expression "(&DAT_0055e3e0)" (( "(") (pointer_expression "&DAT_0055e3e0" (& "&") (identifier "DAT_0055e3e0")) () ")")) ([ "[") (binary_expression "uVar44 - 1" (identifier "uVar44") (- "-") (number_literal "1")) (] "]"))))) (; ";")) (} "}"))) (expression_statement "cVar15 = FUN_00228fa0(param_8,iVar35);" (assignment_expression "cVar15 = FUN_00228fa0(param_8,iVar35)" (identifier "cVar15") (= "=") (call_expression "FUN_00228fa0(param_8,iVar35)" (identifier "FUN_00228fa0") (argument_list "(param_8,iVar35)" (( "(") (identifier "param_8") (, ",") (identifier "iVar35") () ")")))) (; ";")) (if_statement "if (cVar15 == '\0') {\n      bVar45 = false;\n      bVar48 = *(char *)((long)param_8 + 0x65) == '\0';\n      if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }\n    }\n    else {\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    \n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }" (if "if") (parenthesized_expression "(cVar15 == '\0')" (( "(") (binary_expression "cVar15 == '\0'" (identifier "cVar15") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      bVar45 = false;\n      bVar48 = *(char *)((long)param_8 + 0x65) == '\0';\n      if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }\n    }" ({ "{") (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" (identifier "bVar45") (= "=") (false "false")) (; ";")) (expression_statement "bVar48 = *(char *)((long)param_8 + 0x65) == '\0';" (assignment_expression "bVar48 = *(char *)((long)param_8 + 0x65) == '\0'" (identifier "bVar48") (= "=") (binary_expression "*(char *)((long)param_8 + 0x65) == '\0'" (pointer_expression "*(char *)((long)param_8 + 0x65)" (* "*") (cast_expression "(char *)((long)param_8 + 0x65)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 0x65)" (( "(") (binary_expression "(long)param_8 + 0x65" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "0x65")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) (; ";")) (if_statement "if (!bVar48) {\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }" (if "if") (parenthesized_expression "(!bVar48)" (( "(") (unary_expression "!bVar48" (! "!") (identifier "bVar48")) () ")")) (compound_statement "{\nLAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);\n        if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n          FUN_00291e90();\n        }\n        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));\n        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);\n        bVar48 = uVar17 == 0;\n        bVar13 = bVar47;\n        goto LAB_002c1209;\n      }" ({ "{") (labeled_statement "LAB_002c11e1:\n        lVar31 = *(long *)(param_4 + 0xb8);" (statement_identifier "LAB_002c11e1") (: ":") (expression_statement "lVar31 = *(long *)(param_4 + 0xb8);" (assignment_expression "lVar31 = *(long *)(param_4 + 0xb8)" (identifier "lVar31") (= "=") (pointer_expression "*(long *)(param_4 + 0xb8)" (* "*") (cast_expression "(long *)(param_4 + 0xb8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0xb8)" (( "(") (binary_expression "param_4 + 0xb8" (identifier "param_4") (+ "+") (number_literal "0xb8")) () ")"))))) (; ";"))) (if_statement "if (lVar31 == 0) {\n          FUN_002908e0();\nLAB_002c4653:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }" (if "if") (parenthesized_expression "(lVar31 == 0)" (( "(") (binary_expression "lVar31 == 0" (identifier "lVar31") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_002908e0();\nLAB_002c4653:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");\n        }" ({ "{") (expression_statement "FUN_002908e0();" (call_expression "FUN_002908e0()" (identifier "FUN_002908e0") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_002c4653:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");" (statement_identifier "LAB_002c4653") (: ":") (expression_statement "FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate")" (identifier "FUN_00352af0") (argument_list "("../../gold/mips.cc",0x2eda,"relocate")" (( "(") (string_literal ""../../gold/mips.cc"" (" """) (string_content "../../gold/mips.cc") (" """)) (, ",") (number_literal "0x2eda") (, ",") (string_literal ""relocate"" (" """) (string_content "relocate") (" """)) () ")"))) (; ";"))) (} "}"))) (if_statement "if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n          FUN_00291e90();\n        }" (if "if") (parenthesized_expression "((*(byte *)(lVar31 + 0x20) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(lVar31 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar31 + 0x20) & 1)" (( "(") (binary_expression "*(byte *)(lVar31 + 0x20) & 1" (pointer_expression "*(byte *)(lVar31 + 0x20)" (* "*") (cast_expression "(byte *)(lVar31 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x20)" (( "(") (binary_expression "lVar31 + 0x20" (identifier "lVar31") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n          FUN_00291e90();\n        }" ({ "{") (expression_statement "FUN_00291e90();" (call_expression "FUN_00291e90()" (identifier "FUN_00291e90") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));" (assignment_expression "bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8))" (identifier "bVar45") (= "=") (call_expression "CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8))" (identifier "CARRY4") (argument_list "(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8))" (( "(") (pointer_expression "*(uint *)((long)param_8 + 0x54)" (* "*") (cast_expression "(uint *)((long)param_8 + 0x54)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 0x54)" (( "(") (binary_expression "(long)param_8 + 0x54" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "0x54")) () ")")))) (, ",") (pointer_expression "*(uint *)(lVar31 + 8)" (* "*") (cast_expression "(uint *)(lVar31 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 8)" (( "(") (binary_expression "lVar31 + 8" (identifier "lVar31") (+ "+") (number_literal "8")) () ")")))) () ")")))) (; ";")) (expression_statement "uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);" (assignment_expression "uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8)" (identifier "uVar17") (= "=") (binary_expression "*(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8)" (pointer_expression "*(uint *)((long)param_8 + 0x54)" (* "*") (cast_expression "(uint *)((long)param_8 + 0x54)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 0x54)" (( "(") (binary_expression "(long)param_8 + 0x54" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "0x54")) () ")")))) (+ "+") (pointer_expression "*(uint *)(lVar31 + 8)" (* "*") (cast_expression "(uint *)(lVar31 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 8)" (( "(") (binary_expression "lVar31 + 8" (identifier "lVar31") (+ "+") (number_literal "8")) () ")")))))) (; ";")) (expression_statement "bVar48 = uVar17 == 0;" (assignment_expression "bVar48 = uVar17 == 0" (identifier "bVar48") (= "=") (binary_expression "uVar17 == 0" (identifier "uVar17") (== "==") (number_literal "0"))) (; ";")) (expression_statement "bVar13 = bVar47;" (assignment_expression "bVar13 = bVar47" (identifier "bVar13") (= "=") (identifier "bVar47")) (; ";")) (goto_statement "goto LAB_002c1209;" (goto "goto") (statement_identifier "LAB_002c1209") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    \n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }" (else "else") (compound_statement "{\n      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;\n      lVar31 = *(long *)(param_4 + 0x30);\n      if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    \n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }\nLAB_002c1209:\n      bVar47 = bVar13;\n      local_68 = uVar17;\n      param_9 = local_c8;\n    }" ({ "{") (if_statement "if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;" (if "if") (parenthesized_expression "(*(char *)((long)param_8 + 0x65) != '\0')" (( "(") (binary_expression "*(char *)((long)param_8 + 0x65) != '\0'" (pointer_expression "*(char *)((long)param_8 + 0x65)" (* "*") (cast_expression "(char *)((long)param_8 + 0x65)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 0x65)" (( "(") (binary_expression "(long)param_8 + 0x65" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "0x65")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_002c11e1;" (goto "goto") (statement_identifier "LAB_002c11e1") (; ";"))) (expression_statement "lVar31 = *(long *)(param_4 + 0x30);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x30)" (identifier "lVar31") (= "=") (pointer_expression "*(long *)(param_4 + 0x30)" (* "*") (cast_expression "(long *)(param_4 + 0x30)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x30)" (( "(") (binary_expression "param_4 + 0x30" (identifier "param_4") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (if_statement "if (*(int *)(param_8 + 0xd) == -1) {\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    \n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }\n      else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }" (if "if") (parenthesized_expression "(*(int *)(param_8 + 0xd) == -1)" (( "(") (binary_expression "*(int *)(param_8 + 0xd) == -1" (pointer_expression "*(int *)(param_8 + 0xd)" (* "*") (cast_expression "(int *)(param_8 + 0xd)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_8 + 0xd)" (( "(") (binary_expression "param_8 + 0xd" (identifier "param_8") (+ "+") (number_literal "0xd")) () ")")))) (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n        if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }\n        if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    \n          FUN_00291e90();\n        }\n        bVar1 = *(byte *)(param_4 + 0x14);\n        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }\n        local_b8 = (ulong)*(uint *)(param_4 + 0x10);\n        bVar45 = false;\n        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar13 = bVar1;\n        if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }\n      }" ({ "{") (if_statement "if (lVar31 == 0) {\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }" (if "if") (parenthesized_expression "(lVar31 == 0)" (( "(") (binary_expression "lVar31 == 0" (identifier "lVar31") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_00290920();\n          goto LAB_002c45d2;\n        }" ({ "{") (expression_statement "FUN_00290920();" (call_expression "FUN_00290920()" (identifier "FUN_00290920") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_002c45d2;" (goto "goto") (statement_identifier "LAB_002c45d2") (; ";")) (} "}"))) (if_statement "if (*(int *)((long)param_8 + 0x6c) == -1) {\n                    \n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }" (if "if") (parenthesized_expression "(*(int *)((long)param_8 + 0x6c) == -1)" (( "(") (binary_expression "*(int *)((long)param_8 + 0x6c) == -1" (pointer_expression "*(int *)((long)param_8 + 0x6c)" (* "*") (cast_expression "(int *)((long)param_8 + 0x6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 0x6c)" (( "(") (binary_expression "(long)param_8 + 0x6c" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "0x6c")) () ")")))) (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n                    \n          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");\n        }" ({ "{") (expression_statement "FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address")" (identifier "FUN_00352af0") (argument_list "("../../gold/mips.cc",0x9ed,"comp_entry_address")" (( "(") (string_literal ""../../gold/mips.cc"" (" """) (string_content "../../gold/mips.cc") (" """)) (, ",") (number_literal "0x9ed") (, ",") (string_literal ""comp_entry_address"" (" """) (string_content "comp_entry_address") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c45b0:\n                    \n          FUN_00291e90();\n        }" (if "if") (parenthesized_expression "((*(byte *)(lVar31 + 0x20) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(lVar31 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar31 + 0x20) & 1)" (( "(") (binary_expression "*(byte *)(lVar31 + 0x20) & 1" (pointer_expression "*(byte *)(lVar31 + 0x20)" (* "*") (cast_expression "(byte *)(lVar31 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x20)" (( "(") (binary_expression "lVar31 + 0x20" (identifier "lVar31") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_002c45b0:\n                    \n          FUN_00291e90();\n        }" ({ "{") (labeled_statement "LAB_002c45b0:\n                    \n          FUN_00291e90();" (statement_identifier "LAB_002c45b0") (: ":") (expression_statement "FUN_00291e90();" (call_expression "FUN_00291e90()" (identifier "FUN_00291e90") (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}"))) (expression_statement "bVar1 = *(byte *)(param_4 + 0x14);" (assignment_expression "bVar1 = *(byte *)(param_4 + 0x14)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)(param_4 + 0x14)" (* "*") (cast_expression "(byte *)(param_4 + 0x14)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x14)" (( "(") (binary_expression "param_4 + 0x14" (identifier "param_4") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);" (assignment_expression "uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8)" (identifier "uVar17") (= "=") (binary_expression "*(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8)" (binary_expression "*(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60)" (binary_expression "*(int *)((long)param_8 + 0x6c) + 1 +\n                 *(int *)(lVar31 + 0x68)" (binary_expression "*(int *)((long)param_8 + 0x6c) + 1" (pointer_expression "*(int *)((long)param_8 + 0x6c)" (* "*") (cast_expression "(int *)((long)param_8 + 0x6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 0x6c)" (( "(") (binary_expression "(long)param_8 + 0x6c" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "0x6c")) () ")")))) (+ "+") (number_literal "1")) (+ "+") (pointer_expression "*(int *)(lVar31 + 0x68)" (* "*") (cast_expression "(int *)(lVar31 + 0x68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x68)" (( "(") (binary_expression "lVar31 + 0x68" (identifier "lVar31") (+ "+") (number_literal "0x68")) () ")"))))) (+ "+") (pointer_expression "*(int *)(lVar31 + 0x60)" (* "*") (cast_expression "(int *)(lVar31 + 0x60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x60)" (( "(") (binary_expression "lVar31 + 0x60" (identifier "lVar31") (+ "+") (number_literal "0x60")) () ")"))))) (+ "+") (pointer_expression "*(int *)(lVar31 + 8)" (* "*") (cast_expression "(int *)(lVar31 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 8)" (( "(") (binary_expression "lVar31 + 8" (identifier "lVar31") (+ "+") (number_literal "8")) () ")")))))) (; ";")) (if_statement "if (bVar1 == 0) {\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }" (if "if") (parenthesized_expression "(bVar1 == 0)" (( "(") (binary_expression "bVar1 == 0" (identifier "bVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_00290d40();\n          goto LAB_002c45b0;\n        }" ({ "{") (expression_statement "FUN_00290d40();" (call_expression "FUN_00290d40()" (identifier "FUN_00290d40") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_002c45b0;" (goto "goto") (statement_identifier "LAB_002c45b0") (; ";")) (} "}"))) (expression_statement "local_b8 = (ulong)*(uint *)(param_4 + 0x10);" (assignment_expression "local_b8 = (ulong)*(uint *)(param_4 + 0x10)" (identifier "local_b8") (= "=") (binary_expression "(ulong)*(uint *)(param_4 + 0x10)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(param_4 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x10)" (( "(") (binary_expression "param_4 + 0x10" (identifier "param_4") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" (identifier "bVar45") (= "=") (false "false")) (; ";")) (expression_statement "bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;" (assignment_expression "bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0" (identifier "bVar48") (= "=") (binary_expression "(*(uint *)(param_4 + 0x10) & 0x2000000) == 0" (parenthesized_expression "(*(uint *)(param_4 + 0x10) & 0x2000000)" (( "(") (binary_expression "*(uint *)(param_4 + 0x10) & 0x2000000" (pointer_expression "*(uint *)(param_4 + 0x10)" (* "*") (cast_expression "(uint *)(param_4 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x10)" (( "(") (binary_expression "param_4 + 0x10" (identifier "param_4") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "0x2000000")) () ")")) (== "==") (number_literal "0"))) (; ";")) (expression_statement "bVar13 = bVar1;" (assignment_expression "bVar13 = bVar1" (identifier "bVar13") (= "=") (identifier "bVar1")) (; ";")) (if_statement "if (!bVar48) {\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }" (if "if") (parenthesized_expression "(!bVar48)" (( "(") (unary_expression "!bVar48" (! "!") (identifier "bVar48")) () ")")) (compound_statement "{\n          bVar13 = bVar47;\n          bVar14 = bVar1;\n        }" ({ "{") (expression_statement "bVar13 = bVar47;" (assignment_expression "bVar13 = bVar47" (identifier "bVar13") (= "=") (identifier "bVar47")) (; ";")) (expression_statement "bVar14 = bVar1;" (assignment_expression "bVar14 = bVar1" (identifier "bVar14") (= "=") (identifier "bVar1")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }" (else "else") (compound_statement "{\n        if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;\n        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);\n        bVar45 = false;\n        bVar48 = true;\n        bVar13 = 0;\n        bVar14 = 0;\n      }" ({ "{") (if_statement "if (lVar31 == 0) {\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }" (if "if") (parenthesized_expression "(lVar31 == 0)" (( "(") (binary_expression "lVar31 == 0" (identifier "lVar31") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_002c4644:\n          FUN_00290920();\nLAB_002c4649:\n                    \n          FUN_00291e90();\n        }" ({ "{") (labeled_statement "LAB_002c4644:\n          FUN_00290920();" (statement_identifier "LAB_002c4644") (: ":") (expression_statement "FUN_00290920();" (call_expression "FUN_00290920()" (identifier "FUN_00290920") (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "LAB_002c4649:\n                    \n          FUN_00291e90();" (statement_identifier "LAB_002c4649") (: ":") (expression_statement "FUN_00291e90();" (call_expression "FUN_00291e90()" (identifier "FUN_00291e90") (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}"))) (if_statement "if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;" (if "if") (parenthesized_expression "((*(byte *)(lVar31 + 0x20) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(lVar31 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar31 + 0x20) & 1)" (( "(") (binary_expression "*(byte *)(lVar31 + 0x20) & 1" (pointer_expression "*(byte *)(lVar31 + 0x20)" (* "*") (cast_expression "(byte *)(lVar31 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x20)" (( "(") (binary_expression "lVar31 + 0x20" (identifier "lVar31") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002c4649;" (goto "goto") (statement_identifier "LAB_002c4649") (; ";"))) (expression_statement "uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);" (assignment_expression "uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68)" (identifier "uVar17") (= "=") (binary_expression "*(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68)" (binary_expression "*(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8)" (pointer_expression "*(int *)(param_8 + 0xd)" (* "*") (cast_expression "(int *)(param_8 + 0xd)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_8 + 0xd)" (( "(") (binary_expression "param_8 + 0xd" (identifier "param_8") (+ "+") (number_literal "0xd")) () ")")))) (+ "+") (pointer_expression "*(int *)(lVar31 + 8)" (* "*") (cast_expression "(int *)(lVar31 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 8)" (( "(") (binary_expression "lVar31 + 8" (identifier "lVar31") (+ "+") (number_literal "8")) () ")"))))) (+ "+") (pointer_expression "*(int *)(lVar31 + 0x68)" (* "*") (cast_expression "(int *)(lVar31 + 0x68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x68)" (( "(") (binary_expression "lVar31 + 0x68" (identifier "lVar31") (+ "+") (number_literal "0x68")) () ")")))))) (; ";")) (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" (identifier "bVar45") (= "=") (false "false")) (; ";")) (expression_statement "bVar48 = true;" (assignment_expression "bVar48 = true" (identifier "bVar48") (= "=") (true "true")) (; ";")) (expression_statement "bVar13 = 0;" (assignment_expression "bVar13 = 0" (identifier "bVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar14 = 0;" (assignment_expression "bVar14 = 0" (identifier "bVar14") (= "=") (number_literal "0")) (; ";")) (} "}")))) (labeled_statement "LAB_002c1209:\n      bVar47 = bVar13;" (statement_identifier "LAB_002c1209") (: ":") (expression_statement "bVar47 = bVar13;" (assignment_expression "bVar47 = bVar13" (identifier "bVar47") (= "=") (identifier "bVar13")) (; ";"))) (expression_statement "local_68 = uVar17;" (assignment_expression "local_68 = uVar17" (identifier "local_68") (= "=") (identifier "uVar17")) (; ";")) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" (identifier "param_9") (= "=") (identifier "local_c8")) (; ";")) (} "}")))) (expression_statement "lVar31 = 9;" (assignment_expression "lVar31 = 9" (identifier "lVar31") (= "=") (number_literal "9")) (; ";")) (expression_statement "pbVar37 = (byte *)*param_8;" (assignment_expression "pbVar37 = (byte *)*param_8" (identifier "pbVar37") (= "=") (cast_expression "(byte *)*param_8" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_8" (* "*") (identifier "param_8")))) (; ";")) (expression_statement "pbVar38 = (byte *)"_gp_disp";" (assignment_expression "pbVar38 = (byte *)"_gp_disp"" (identifier "pbVar38") (= "=") (cast_expression "(byte *)"_gp_disp"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""_gp_disp"" (" """) (string_content "_gp_disp") (" """)))) (; ";")) (do_statement "do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar45 = *pbVar37 < *pbVar38;\n      bVar48 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar48);" (do "do") (compound_statement "{\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar45 = *pbVar37 < *pbVar38;\n      bVar48 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    }" ({ "{") (if_statement "if (lVar31 == 0) break;" (if "if") (parenthesized_expression "(lVar31 == 0)" (( "(") (binary_expression "lVar31 == 0" (identifier "lVar31") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar31 = lVar31 + -1;" (assignment_expression "lVar31 = lVar31 + -1" (identifier "lVar31") (= "=") (binary_expression "lVar31 + -1" (identifier "lVar31") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar45 = *pbVar37 < *pbVar38;" (assignment_expression "bVar45 = *pbVar37 < *pbVar38" (identifier "bVar45") (= "=") (binary_expression "*pbVar37 < *pbVar38" (pointer_expression "*pbVar37" (* "*") (identifier "pbVar37")) (< "<") (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")))) (; ";")) (expression_statement "bVar48 = *pbVar37 == *pbVar38;" (assignment_expression "bVar48 = *pbVar37 == *pbVar38" (identifier "bVar48") (= "=") (binary_expression "*pbVar37 == *pbVar38" (pointer_expression "*pbVar37" (* "*") (identifier "pbVar37")) (== "==") (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")))) (; ";")) (expression_statement "pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;" (assignment_expression "pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1" (identifier "pbVar37") (= "=") (binary_expression "pbVar37 + (ulong)bVar42 * -2 + 1" (binary_expression "pbVar37 + (ulong)bVar42 * -2" (identifier "pbVar37") (+ "+") (binary_expression "(ulong)bVar42 * -2" (cast_expression "(ulong)bVar42" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar42")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1" (identifier "pbVar38") (= "=") (binary_expression "pbVar38 + (ulong)bVar42 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar42 * -2" (identifier "pbVar38") (+ "+") (binary_expression "(ulong)bVar42 * -2" (cast_expression "(ulong)bVar42" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar42")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar48)" (( "(") (identifier "bVar48") () ")")) (; ";")) (expression_statement "lVar31 = 0xf;" (assignment_expression "lVar31 = 0xf" (identifier "lVar31") (= "=") (number_literal "0xf")) (; ";")) (expression_statement "bVar48 = !bVar45 && !bVar48;" (assignment_expression "bVar48 = !bVar45 && !bVar48" (identifier "bVar48") (= "=") (binary_expression "!bVar45 && !bVar48" (unary_expression "!bVar45" (! "!") (identifier "bVar45")) (&& "&&") (unary_expression "!bVar48" (! "!") (identifier "bVar48")))) (; ";")) (expression_statement "bVar46 = bVar48 < bVar45;" (assignment_expression "bVar46 = bVar48 < bVar45" (identifier "bVar46") (= "=") (binary_expression "bVar48 < bVar45" (identifier "bVar48") (< "<") (identifier "bVar45"))) (; ";")) (expression_statement "bVar49 = bVar48 == bVar45;" (assignment_expression "bVar49 = bVar48 == bVar45" (identifier "bVar49") (= "=") (binary_expression "bVar48 == bVar45" (identifier "bVar48") (== "==") (identifier "bVar45"))) (; ";")) (expression_statement "pbVar37 = (byte *)*param_8;" (assignment_expression "pbVar37 = (byte *)*param_8" (identifier "pbVar37") (= "=") (cast_expression "(byte *)*param_8" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*param_8" (* "*") (identifier "param_8")))) (; ";")) (expression_statement "pbVar38 = (byte *)"__gnu_local_gp";" (assignment_expression "pbVar38 = (byte *)"__gnu_local_gp"" (identifier "pbVar38") (= "=") (cast_expression "(byte *)"__gnu_local_gp"" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (string_literal ""__gnu_local_gp"" (" """) (string_content "__gnu_local_gp") (" """)))) (; ";")) (do_statement "do {\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar46 = *pbVar37 < *pbVar38;\n      bVar49 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    } while (bVar49);" (do "do") (compound_statement "{\n      if (lVar31 == 0) break;\n      lVar31 = lVar31 + -1;\n      bVar46 = *pbVar37 < *pbVar38;\n      bVar49 = *pbVar37 == *pbVar38;\n      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;\n      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;\n    }" ({ "{") (if_statement "if (lVar31 == 0) break;" (if "if") (parenthesized_expression "(lVar31 == 0)" (( "(") (binary_expression "lVar31 == 0" (identifier "lVar31") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "lVar31 = lVar31 + -1;" (assignment_expression "lVar31 = lVar31 + -1" (identifier "lVar31") (= "=") (binary_expression "lVar31 + -1" (identifier "lVar31") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar46 = *pbVar37 < *pbVar38;" (assignment_expression "bVar46 = *pbVar37 < *pbVar38" (identifier "bVar46") (= "=") (binary_expression "*pbVar37 < *pbVar38" (pointer_expression "*pbVar37" (* "*") (identifier "pbVar37")) (< "<") (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")))) (; ";")) (expression_statement "bVar49 = *pbVar37 == *pbVar38;" (assignment_expression "bVar49 = *pbVar37 == *pbVar38" (identifier "bVar49") (= "=") (binary_expression "*pbVar37 == *pbVar38" (pointer_expression "*pbVar37" (* "*") (identifier "pbVar37")) (== "==") (pointer_expression "*pbVar38" (* "*") (identifier "pbVar38")))) (; ";")) (expression_statement "pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;" (assignment_expression "pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1" (identifier "pbVar37") (= "=") (binary_expression "pbVar37 + (ulong)bVar42 * -2 + 1" (binary_expression "pbVar37 + (ulong)bVar42 * -2" (identifier "pbVar37") (+ "+") (binary_expression "(ulong)bVar42 * -2" (cast_expression "(ulong)bVar42" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar42")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;" (assignment_expression "pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1" (identifier "pbVar38") (= "=") (binary_expression "pbVar38 + (ulong)bVar42 * -2 + 1" (binary_expression "pbVar38 + (ulong)bVar42 * -2" (identifier "pbVar38") (+ "+") (binary_expression "(ulong)bVar42 * -2" (cast_expression "(ulong)bVar42" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar42")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar49)" (( "(") (identifier "bVar49") () ")")) (; ";")) (if_statement "if (bVar48 != bVar45) {\n      if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }\nLAB_002c15d8:\n      cVar15 = '\0';\n      if (uVar44 != 100) goto LAB_002c15e9;\nLAB_002c12e3:\n      lVar25 = param_8[0xf];\n      if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    \n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = true;\nLAB_002c1320:\n      local_c8 = &local_78;\n      if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    \n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }\n      goto LAB_002c13a0;\n    }" (if "if") (parenthesized_expression "(bVar48 != bVar45)" (( "(") (binary_expression "bVar48 != bVar45" (identifier "bVar48") (!= "!=") (identifier "bVar45")) () ")")) (compound_statement "{\n      if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }\nLAB_002c15d8:\n      cVar15 = '\0';\n      if (uVar44 != 100) goto LAB_002c15e9;\nLAB_002c12e3:\n      lVar25 = param_8[0xf];\n      if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }\n      if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    \n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }\nLAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = true;\nLAB_002c1320:\n      local_c8 = &local_78;\n      if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    \n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }\n      goto LAB_002c13a0;\n    }" ({ "{") (if_statement "if ((!bVar46 && !bVar49) == bVar46) {\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }" (if "if") (parenthesized_expression "((!bVar46 && !bVar49) == bVar46)" (( "(") (binary_expression "(!bVar46 && !bVar49) == bVar46" (parenthesized_expression "(!bVar46 && !bVar49)" (( "(") (binary_expression "!bVar46 && !bVar49" (unary_expression "!bVar46" (! "!") (identifier "bVar46")) (&& "&&") (unary_expression "!bVar49" (! "!") (identifier "bVar49"))) () ")")) (== "==") (identifier "bVar46")) () ")")) (compound_statement "{\nLAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }\n        param_9 = local_c8;\n      }" ({ "{") (labeled_statement "LAB_002c1750:\n        if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }" (statement_identifier "LAB_002c1750") (: ":") (if_statement "if (*(long *)(param_4 + 0x28) == 0) {\n          local_68 = 0;\n        }\n        else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }" (if "if") (parenthesized_expression "(*(long *)(param_4 + 0x28) == 0)" (( "(") (binary_expression "*(long *)(param_4 + 0x28) == 0" (pointer_expression "*(long *)(param_4 + 0x28)" (* "*") (cast_expression "(long *)(param_4 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x28)" (( "(") (binary_expression "param_4 + 0x28" (identifier "param_4") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_68 = 0;\n        }" ({ "{") (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" (identifier "local_68") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }" (else "else") (compound_statement "{\n          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);\n          if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }\n        }" ({ "{") (expression_statement "local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);" (assignment_expression "local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40)" (identifier "local_68") (= "=") (pointer_expression "*(uint *)(*(long *)(param_4 + 0x28) + 0x40)" (* "*") (cast_expression "(uint *)(*(long *)(param_4 + 0x28) + 0x40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_4 + 0x28) + 0x40)" (( "(") (binary_expression "*(long *)(param_4 + 0x28) + 0x40" (pointer_expression "*(long *)(param_4 + 0x28)" (* "*") (cast_expression "(long *)(param_4 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x28)" (( "(") (binary_expression "param_4 + 0x28" (identifier "param_4") (+ "+") (number_literal "0x28")) () ")")))) (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (if_statement "if (((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }" (if "if") (parenthesized_expression "(((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0))" (( "(") (binary_expression "((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)" (parenthesized_expression "((*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))" (( "(") (binary_expression "(*(long *)(param_4 + 0x20) != 0) &&\n              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" (( "(") (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" (( "(") (binary_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0" (pointer_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0)" (* "*") (cast_expression "(long *)(*(long *)(param_4 + 0x20) + 0xd0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_4 + 0x20) + 0xd0)" (( "(") (binary_expression "*(long *)(param_4 + 0x20) + 0xd0" (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (+ "+") (number_literal "0xd0")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(plVar6[0x6e] != 0)" (( "(") (binary_expression "plVar6[0x6e] != 0" (subscript_expression "plVar6[0x6e]" (identifier "plVar6") ([ "[") (number_literal "0x6e") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);\n          }" ({ "{") (expression_statement "local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);" (assignment_expression "local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c)" (identifier "local_68") (= "=") (binary_expression "local_68 + *(int *)(plVar6[0x6e] + 0x10c)" (identifier "local_68") (+ "+") (pointer_expression "*(int *)(plVar6[0x6e] + 0x10c)" (* "*") (cast_expression "(int *)(plVar6[0x6e] + 0x10c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6[0x6e] + 0x10c)" (( "(") (binary_expression "plVar6[0x6e] + 0x10c" (subscript_expression "plVar6[0x6e]" (identifier "plVar6") ([ "[") (number_literal "0x6e") (] "]")) (+ "+") (number_literal "0x10c")) () ")")))))) (; ";")) (} "}"))) (} "}"))))) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" (identifier "param_9") (= "=") (identifier "local_c8")) (; ";")) (} "}"))) (labeled_statement "LAB_002c15d8:\n      cVar15 = '\0';" (statement_identifier "LAB_002c15d8") (: ":") (expression_statement "cVar15 = '\0';" (assignment_expression "cVar15 = '\0'" (identifier "cVar15") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";"))) (if_statement "if (uVar44 != 100) goto LAB_002c15e9;" (if "if") (parenthesized_expression "(uVar44 != 100)" (( "(") (binary_expression "uVar44 != 100" (identifier "uVar44") (!= "!=") (number_literal "100")) () ")")) (goto_statement "goto LAB_002c15e9;" (goto "goto") (statement_identifier "LAB_002c15e9") (; ";"))) (labeled_statement "LAB_002c12e3:\n      lVar25 = param_8[0xf];" (statement_identifier "LAB_002c12e3") (: ":") (expression_statement "lVar25 = param_8[0xf];" (assignment_expression "lVar25 = param_8[0xf]" (identifier "lVar25") (= "=") (subscript_expression "param_8[0xf]" (identifier "param_8") ([ "[") (number_literal "0xf") (] "]"))) (; ";"))) (if_statement "if (lVar25 == 0) {\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }" (if "if") (parenthesized_expression "(lVar25 == 0)" (( "(") (binary_expression "lVar25 == 0" (identifier "lVar25") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;\n        lVar31 = param_8[0x10];\nLAB_002c1d90:\n        local_c8 = &local_78;\n        local_68 = FUN_00298370(lVar31,lVar31 + 8);\n        param_9 = local_c8;\n        bVar45 = true;\n        local_cd = true;\n        goto LAB_002c13a0;\n      }" ({ "{") (if_statement "if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))\n        goto LAB_002c1304;" (if "if") (parenthesized_expression "((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))" (( "(") (binary_expression "(param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0)))" (parenthesized_expression "(param_8[0x10] == 0)" (( "(") (binary_expression "param_8[0x10] == 0" (subscript_expression "param_8[0x10]" (identifier "param_8") ([ "[") (number_literal "0x10") (] "]")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0)))" (( "(") (parenthesized_expression "(*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))" (( "(") (binary_expression "*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0)" (binary_expression "*(int *)((long)param_8 + 0x24) == -1" (pointer_expression "*(int *)((long)param_8 + 0x24)" (* "*") (cast_expression "(int *)((long)param_8 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 0x24)" (( "(") (binary_expression "(long)param_8 + 0x24" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "0x24")) () ")")))) (== "==") (number_literal "-1")) (&& "&&") (parenthesized_expression "(bVar47 != 0)" (( "(") (binary_expression "bVar47 != 0" (identifier "bVar47") (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_002c1304;" (goto "goto") (statement_identifier "LAB_002c1304") (; ";"))) (expression_statement "lVar31 = param_8[0x10];" (assignment_expression "lVar31 = param_8[0x10]" (identifier "lVar31") (= "=") (subscript_expression "param_8[0x10]" (identifier "param_8") ([ "[") (number_literal "0x10") (] "]"))) (; ";")) (labeled_statement "LAB_002c1d90:\n        local_c8 = &local_78;" (statement_identifier "LAB_002c1d90") (: ":") (expression_statement "local_c8 = &local_78;" (assignment_expression "local_c8 = &local_78" (identifier "local_c8") (= "=") (pointer_expression "&local_78" (& "&") (identifier "local_78"))) (; ";"))) (expression_statement "local_68 = FUN_00298370(lVar31,lVar31 + 8);" (assignment_expression "local_68 = FUN_00298370(lVar31,lVar31 + 8)" (identifier "local_68") (= "=") (call_expression "FUN_00298370(lVar31,lVar31 + 8)" (identifier "FUN_00298370") (argument_list "(lVar31,lVar31 + 8)" (( "(") (identifier "lVar31") (, ",") (binary_expression "lVar31 + 8" (identifier "lVar31") (+ "+") (number_literal "8")) () ")")))) (; ";")) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" (identifier "param_9") (= "=") (identifier "local_c8")) (; ";")) (expression_statement "bVar45 = true;" (assignment_expression "bVar45 = true" (identifier "bVar45") (= "=") (true "true")) (; ";")) (expression_statement "local_cd = true;" (assignment_expression "local_cd = true" (identifier "local_cd") (= "=") (true "true")) (; ";")) (goto_statement "goto LAB_002c13a0;" (goto "goto") (statement_identifier "LAB_002c13a0") (; ";")) (} "}"))) (if_statement "if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    \n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }" (if "if") (parenthesized_expression "((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0))" (( "(") (binary_expression "(*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)" (parenthesized_expression "(*(int *)((long)param_8 + 0x24) != -1)" (( "(") (binary_expression "*(int *)((long)param_8 + 0x24) != -1" (pointer_expression "*(int *)((long)param_8 + 0x24)" (* "*") (cast_expression "(int *)((long)param_8 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 0x24)" (( "(") (binary_expression "(long)param_8 + 0x24" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "0x24")) () ")")))) (!= "!=") (number_literal "-1")) () ")")) (|| "||") (parenthesized_expression "(bVar47 == 0)" (( "(") (binary_expression "bVar47 == 0" (identifier "bVar47") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        lVar31 = lVar25;\n        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    \n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }\n        goto LAB_002c1d90;\n      }" ({ "{") (expression_statement "lVar31 = lVar25;" (assignment_expression "lVar31 = lVar25" (identifier "lVar31") (= "=") (identifier "lVar25")) (; ";")) (if_statement "if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    \n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }" (if "if") (parenthesized_expression "((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7)))" (( "(") (binary_expression "(param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))" (parenthesized_expression "(param_8[0x10] != 0)" (( "(") (binary_expression "param_8[0x10] != 0" (subscript_expression "param_8[0x10]" (identifier "param_8") ([ "[") (number_literal "0x10") (] "]")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(1 < *(uint *)(plVar6 + 7))" (( "(") (binary_expression "1 < *(uint *)(plVar6 + 7)" (number_literal "1") (< "<") (pointer_expression "*(uint *)(plVar6 + 7)" (* "*") (cast_expression "(uint *)(plVar6 + 7)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 7)" (( "(") (binary_expression "plVar6 + 7" (identifier "plVar6") (+ "+") (number_literal "7")) () ")"))))) () ")"))) () ")")) (compound_statement "{\n          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);\n          if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }\n                    \n          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");\n        }" ({ "{") (expression_statement "uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a);" (assignment_expression "uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a)" (identifier "uVar32") (= "=") (binary_expression "((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -\n                   (ulong)*(uint *)(plVar6 + 0x7a)" (parenthesized_expression "((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8)" (( "(") (binary_expression "(ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8" (binary_expression "(ulong)*(uint *)(plVar6 + 0x7c)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(plVar6 + 0x7c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 0x7c)" (( "(") (binary_expression "plVar6 + 0x7c" (identifier "plVar6") (+ "+") (number_literal "0x7c")) () ")")))) (+ "+") (binary_expression "(plVar6[0x7b] - plVar6[0x79]) * 8" (parenthesized_expression "(plVar6[0x7b] - plVar6[0x79])" (( "(") (binary_expression "plVar6[0x7b] - plVar6[0x79]" (subscript_expression "plVar6[0x7b]" (identifier "plVar6") ([ "[") (number_literal "0x7b") (] "]")) (- "-") (subscript_expression "plVar6[0x79]" (identifier "plVar6") ([ "[") (number_literal "0x79") (] "]"))) () ")")) (* "*") (number_literal "8"))) () ")")) (- "-") (binary_expression "(ulong)*(uint *)(plVar6 + 0x7a)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(plVar6 + 0x7a)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 0x7a)" (( "(") (binary_expression "plVar6 + 0x7a" (identifier "plVar6") (+ "+") (number_literal "0x7a")) () ")")))))) (; ";")) (if_statement "if (1 < uVar32) {\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }" (if "if") (parenthesized_expression "(1 < uVar32)" (( "(") (binary_expression "1 < uVar32" (number_literal "1") (< "<") (identifier "uVar32")) () ")")) (compound_statement "{\n            uVar24 = 1;\n            do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);\n          }" ({ "{") (expression_statement "uVar24 = 1;" (assignment_expression "uVar24 = 1" (identifier "uVar24") (= "=") (number_literal "1")) (; ";")) (do_statement "do {\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            } while (uVar24 != uVar32);" (do "do") (compound_statement "{\n              lVar31 = param_8[0x10];\n              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;\n              uVar24 = uVar24 + 1;\n            }" ({ "{") (expression_statement "lVar31 = param_8[0x10];" (assignment_expression "lVar31 = param_8[0x10]" (identifier "lVar31") (= "=") (subscript_expression "param_8[0x10]" (identifier "param_8") ([ "[") (number_literal "0x10") (] "]"))) (; ";")) (if_statement "if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))\n              goto LAB_002c1d90;" (if "if") (parenthesized_expression "(((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))" (( "(") (binary_expression "((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1)" (parenthesized_expression "((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0\n                  )" (( "(") (binary_expression "(*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0" (parenthesized_expression "(*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f))" (( "(") (binary_expression "*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)" (pointer_expression "*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8)" (* "*") (cast_expression "(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6[0x79] + (uVar24 >> 6) * 8)" (( "(") (binary_expression "plVar6[0x79] + (uVar24 >> 6) * 8" (subscript_expression "plVar6[0x79]" (identifier "plVar6") ([ "[") (number_literal "0x79") (] "]")) (+ "+") (binary_expression "(uVar24 >> 6) * 8" (parenthesized_expression "(uVar24 >> 6)" (( "(") (binary_expression "uVar24 >> 6" (identifier "uVar24") (>> ">>") (number_literal "6")) () ")")) (* "*") (number_literal "8"))) () ")")))) (& "&") (binary_expression "1L << ((byte)uVar24 & 0x3f)" (number_literal "1L") (<< "<<") (parenthesized_expression "((byte)uVar24 & 0x3f)" (( "(") (binary_expression "(byte)uVar24 & 0x3f" (cast_expression "(byte)uVar24" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar24")) (& "&") (number_literal "0x3f")) () ")")))) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1)" (( "(") (comma_expression "lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1" (assignment_expression "lVar31 = lVar25" (identifier "lVar31") (= "=") (identifier "lVar25")) (, ",") (binary_expression "uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1" (identifier "uVar24") (== "==") (binary_expression "(ulong)(*(uint *)(plVar6 + 7) - 2) + 1" (call_expression "(ulong)(*(uint *)(plVar6 + 7) - 2)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(*(uint *)(plVar6 + 7) - 2)" (( "(") (binary_expression "*(uint *)(plVar6 + 7) - 2" (pointer_expression "*(uint *)(plVar6 + 7)" (* "*") (cast_expression "(uint *)(plVar6 + 7)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 7)" (( "(") (binary_expression "plVar6 + 7" (identifier "plVar6") (+ "+") (number_literal "7")) () ")")))) (- "-") (number_literal "2")) () ")"))) (+ "+") (number_literal "1")))) () ")"))) () ")")) (goto_statement "goto LAB_002c1d90;" (goto "goto") (statement_identifier "LAB_002c1d90") (; ";"))) (expression_statement "uVar24 = uVar24 + 1;" (assignment_expression "uVar24 = uVar24 + 1" (identifier "uVar24") (= "=") (binary_expression "uVar24 + 1" (identifier "uVar24") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar24 != uVar32)" (( "(") (binary_expression "uVar24 != uVar32" (identifier "uVar24") (!= "!=") (identifier "uVar32")) () ")")) (; ";")) (} "}"))) (expression_statement "FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section")" (identifier "FUN_00352af0") (argument_list "("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section")" (( "(") (string_literal ""../../gold/mips.cc"" (" """) (string_content "../../gold/mips.cc") (" """)) (, ",") (number_literal "0x723") (, ",") (string_literal ""is_mips16_call_fp_stub_section"" (" """) (string_content "is_mips16_call_fp_stub_section") (" """)) () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_002c1d90;" (goto "goto") (statement_identifier "LAB_002c1d90") (; ";")) (} "}"))) (labeled_statement "LAB_002c1304:\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;" (statement_identifier "LAB_002c1304") (: ":") (if_statement "if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;" (if "if") (parenthesized_expression "(*(int *)((long)param_8 + 0x4c) != -1)" (( "(") (binary_expression "*(int *)((long)param_8 + 0x4c) != -1" (pointer_expression "*(int *)((long)param_8 + 0x4c)" (* "*") (cast_expression "(int *)((long)param_8 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 0x4c)" (( "(") (binary_expression "(long)param_8 + 0x4c" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "0x4c")) () ")")))) (!= "!=") (number_literal "-1")) () ")")) (goto_statement "goto LAB_002c17c6;" (goto "goto") (statement_identifier "LAB_002c17c6") (; ";")))) (expression_statement "bVar45 = true;" (assignment_expression "bVar45 = true" (identifier "bVar45") (= "=") (true "true")) (; ";")) (labeled_statement "LAB_002c1320:\n      local_c8 = &local_78;" (statement_identifier "LAB_002c1320") (: ":") (expression_statement "local_c8 = &local_78;" (assignment_expression "local_c8 = &local_78" (identifier "local_c8") (= "=") (pointer_expression "&local_78" (& "&") (identifier "local_78"))) (; ";"))) (if_statement "if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)) {\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    \n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }" (if "if") (parenthesized_expression "(((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1))" (( "(") (binary_expression "((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&\n         (*(int *)(param_8 + 0xd) != -1)" (parenthesized_expression "((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1))" (( "(") (binary_expression "(*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)" (parenthesized_expression "(*(int *)((long)param_8 + 0x24) != -1)" (( "(") (binary_expression "*(int *)((long)param_8 + 0x24) != -1" (pointer_expression "*(int *)((long)param_8 + 0x24)" (* "*") (cast_expression "(int *)((long)param_8 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 0x24)" (( "(") (binary_expression "(long)param_8 + 0x24" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "0x24")) () ")")))) (!= "!=") (number_literal "-1")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)((long)param_8 + 0x6c) != -1)" (( "(") (binary_expression "*(int *)((long)param_8 + 0x6c) != -1" (pointer_expression "*(int *)((long)param_8 + 0x6c)" (* "*") (cast_expression "(int *)((long)param_8 + 0x6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 0x6c)" (( "(") (binary_expression "(long)param_8 + 0x6c" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "0x6c")) () ")")))) (!= "!=") (number_literal "-1")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(param_8 + 0xd) != -1)" (( "(") (binary_expression "*(int *)(param_8 + 0xd) != -1" (pointer_expression "*(int *)(param_8 + 0xd)" (* "*") (cast_expression "(int *)(param_8 + 0xd)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_8 + 0xd)" (( "(") (binary_expression "param_8 + 0xd" (identifier "param_8") (+ "+") (number_literal "0xd")) () ")")))) (!= "!=") (number_literal "-1")) () ")"))) () ")")) (compound_statement "{\n        lVar31 = *(long *)(param_4 + 0x30);\n        if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }\n        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;\n        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);\n        if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    \n          FUN_00291e90();\n        }\n        param_9 = local_c8;\n        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;\n        bVar14 = !(bool)bVar47;\n      }" ({ "{") (expression_statement "lVar31 = *(long *)(param_4 + 0x30);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x30)" (identifier "lVar31") (= "=") (pointer_expression "*(long *)(param_4 + 0x30)" (* "*") (cast_expression "(long *)(param_4 + 0x30)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x30)" (( "(") (binary_expression "param_4 + 0x30" (identifier "param_4") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (if_statement "if (lVar31 == 0) {\n          FUN_00290920();\nLAB_002c46ec:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }" (if "if") (parenthesized_expression "(lVar31 == 0)" (( "(") (binary_expression "lVar31 == 0" (identifier "lVar31") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_00290920();\nLAB_002c46ec:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");\n        }" ({ "{") (expression_statement "FUN_00290920();" (call_expression "FUN_00290920()" (identifier "FUN_00290920") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_002c46ec:\n                    \n          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");" (statement_identifier "LAB_002c46ec") (: ":") (expression_statement "FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate")" (identifier "FUN_00352af0") (argument_list "("../../gold/mips.cc",0x2e88,"relocate")" (( "(") (string_literal ""../../gold/mips.cc"" (" """) (string_content "../../gold/mips.cc") (" """)) (, ",") (number_literal "0x2e88") (, ",") (string_literal ""relocate"" (" """) (string_content "relocate") (" """)) () ")"))) (; ";"))) (} "}"))) (if_statement "if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;" (if "if") (parenthesized_expression "((*(byte *)(lVar31 + 0x20) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(lVar31 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar31 + 0x20) & 1)" (( "(") (binary_expression "*(byte *)(lVar31 + 0x20) & 1" (pointer_expression "*(byte *)(lVar31 + 0x20)" (* "*") (cast_expression "(byte *)(lVar31 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x20)" (( "(") (binary_expression "lVar31 + 0x20" (identifier "lVar31") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002c46e2;" (goto "goto") (statement_identifier "LAB_002c46e2") (; ";"))) (expression_statement "local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);" (assignment_expression "local_68 = *(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8)" (identifier "local_68") (= "=") (binary_expression "*(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8)" (binary_expression "*(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60)" (binary_expression "*(int *)((long)param_8 + 0x6c) + 1 +\n                   *(int *)(lVar31 + 0x68)" (binary_expression "*(int *)((long)param_8 + 0x6c) + 1" (pointer_expression "*(int *)((long)param_8 + 0x6c)" (* "*") (cast_expression "(int *)((long)param_8 + 0x6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 0x6c)" (( "(") (binary_expression "(long)param_8 + 0x6c" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "0x6c")) () ")")))) (+ "+") (number_literal "1")) (+ "+") (pointer_expression "*(int *)(lVar31 + 0x68)" (* "*") (cast_expression "(int *)(lVar31 + 0x68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x68)" (( "(") (binary_expression "lVar31 + 0x68" (identifier "lVar31") (+ "+") (number_literal "0x68")) () ")"))))) (+ "+") (pointer_expression "*(int *)(lVar31 + 0x60)" (* "*") (cast_expression "(int *)(lVar31 + 0x60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x60)" (( "(") (binary_expression "lVar31 + 0x60" (identifier "lVar31") (+ "+") (number_literal "0x60")) () ")"))))) (+ "+") (pointer_expression "*(int *)(lVar31 + 8)" (* "*") (cast_expression "(int *)(lVar31 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 8)" (( "(") (binary_expression "lVar31 + 8" (identifier "lVar31") (+ "+") (number_literal "8")) () ")")))))) (; ";")) (if_statement "if (*(char *)(param_4 + 0x14) == '\0') {\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    \n          FUN_00291e90();\n        }" (if "if") (parenthesized_expression "(*(char *)(param_4 + 0x14) == '\0')" (( "(") (binary_expression "*(char *)(param_4 + 0x14) == '\0'" (pointer_expression "*(char *)(param_4 + 0x14)" (* "*") (cast_expression "(char *)(param_4 + 0x14)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x14)" (( "(") (binary_expression "param_4 + 0x14" (identifier "param_4") (+ "+") (number_literal "0x14")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_002c46dd:\n          FUN_00290d40();\nLAB_002c46e2:\n                    \n          FUN_00291e90();\n        }" ({ "{") (labeled_statement "LAB_002c46dd:\n          FUN_00290d40();" (statement_identifier "LAB_002c46dd") (: ":") (expression_statement "FUN_00290d40();" (call_expression "FUN_00290d40()" (identifier "FUN_00290d40") (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "LAB_002c46e2:\n                    \n          FUN_00291e90();" (statement_identifier "LAB_002c46e2") (: ":") (expression_statement "FUN_00291e90();" (call_expression "FUN_00291e90()" (identifier "FUN_00291e90") (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}"))) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" (identifier "param_9") (= "=") (identifier "local_c8")) (; ";")) (expression_statement "bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;" (assignment_expression "bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0" (identifier "bVar47") (= "=") (binary_expression "(*(uint *)(param_4 + 0x10) & 0x2000000) == 0" (parenthesized_expression "(*(uint *)(param_4 + 0x10) & 0x2000000)" (( "(") (binary_expression "*(uint *)(param_4 + 0x10) & 0x2000000" (pointer_expression "*(uint *)(param_4 + 0x10)" (* "*") (cast_expression "(uint *)(param_4 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x10)" (( "(") (binary_expression "param_4 + 0x10" (identifier "param_4") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "0x2000000")) () ")")) (== "==") (number_literal "0"))) (; ";")) (expression_statement "bVar14 = !(bool)bVar47;" (assignment_expression "bVar14 = !(bool)bVar47" (identifier "bVar14") (= "=") (unary_expression "!(bool)bVar47" (! "!") (cast_expression "(bool)bVar47" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "bVar47")))) (; ";")) (} "}"))) (goto_statement "goto LAB_002c13a0;" (goto "goto") (statement_identifier "LAB_002c13a0") (; ";")) (} "}"))) (expression_statement "local_b8 = (ulong)*(byte *)((long)plVar6 + 0x36c);" (assignment_expression "local_b8 = (ulong)*(byte *)((long)plVar6 + 0x36c)" (identifier "local_b8") (= "=") (binary_expression "(ulong)*(byte *)((long)plVar6 + 0x36c)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(byte *)((long)plVar6 + 0x36c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)plVar6 + 0x36c)" (( "(") (binary_expression "(long)plVar6 + 0x36c" (cast_expression "(long)plVar6" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar6")) (+ "+") (number_literal "0x36c")) () ")"))))) (; ";")) (expression_statement "bVar42 = *(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1;" (assignment_expression "bVar42 = *(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1" (identifier "bVar42") (= "=") (binary_expression "*(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1" (binary_expression "*(byte *)((long)plVar6 + 0x36c) >> 1 & 1" (binary_expression "*(byte *)((long)plVar6 + 0x36c) >> 1" (pointer_expression "*(byte *)((long)plVar6 + 0x36c)" (* "*") (cast_expression "(byte *)((long)plVar6 + 0x36c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)plVar6 + 0x36c)" (( "(") (binary_expression "(long)plVar6 + 0x36c" (cast_expression "(long)plVar6" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar6")) (+ "+") (number_literal "0x36c")) () ")")))) (>> ">>") (number_literal "1")) (& "&") (number_literal "1")) (^ "^") (number_literal "1"))) (; ";")) (if_statement "if ((!bVar46 && !bVar49) == bVar46) {\n      if (bVar42 == 0) goto LAB_002c1750;\n    }\n    else if (bVar42 == 0) goto LAB_002c15d8;" (if "if") (parenthesized_expression "((!bVar46 && !bVar49) == bVar46)" (( "(") (binary_expression "(!bVar46 && !bVar49) == bVar46" (parenthesized_expression "(!bVar46 && !bVar49)" (( "(") (binary_expression "!bVar46 && !bVar49" (unary_expression "!bVar46" (! "!") (identifier "bVar46")) (&& "&&") (unary_expression "!bVar49" (! "!") (identifier "bVar49"))) () ")")) (== "==") (identifier "bVar46")) () ")")) (compound_statement "{\n      if (bVar42 == 0) goto LAB_002c1750;\n    }" ({ "{") (if_statement "if (bVar42 == 0) goto LAB_002c1750;" (if "if") (parenthesized_expression "(bVar42 == 0)" (( "(") (binary_expression "bVar42 == 0" (identifier "bVar42") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002c1750;" (goto "goto") (statement_identifier "LAB_002c1750") (; ";"))) (} "}")) (else_clause "else if (bVar42 == 0) goto LAB_002c15d8;" (else "else") (if_statement "if (bVar42 == 0) goto LAB_002c15d8;" (if "if") (parenthesized_expression "(bVar42 == 0)" (( "(") (binary_expression "bVar42 == 0" (identifier "bVar42") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002c15d8;" (goto "goto") (statement_identifier "LAB_002c15d8") (; ";"))))) (if_statement "if ((((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40)) {\n      uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n    }" (if "if") (parenthesized_expression "((((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40))" (( "(") (binary_expression "(((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40)" (parenthesized_expression "(((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86))" (( "(") (binary_expression "((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)" (parenthesized_expression "((1 < uVar44 - 0x68) && (1 < uVar44 - 5))" (( "(") (binary_expression "(1 < uVar44 - 0x68) && (1 < uVar44 - 5)" (parenthesized_expression "(1 < uVar44 - 0x68)" (( "(") (binary_expression "1 < uVar44 - 0x68" (number_literal "1") (< "<") (binary_expression "uVar44 - 0x68" (identifier "uVar44") (- "-") (number_literal "0x68"))) () ")")) (&& "&&") (parenthesized_expression "(1 < uVar44 - 5)" (( "(") (binary_expression "1 < uVar44 - 5" (number_literal "1") (< "<") (binary_expression "uVar44 - 5" (identifier "uVar44") (- "-") (number_literal "5"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(1 < uVar44 - 0x86)" (( "(") (binary_expression "1 < uVar44 - 0x86" (number_literal "1") (< "<") (binary_expression "uVar44 - 0x86" (identifier "uVar44") (- "-") (number_literal "0x86"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(1 < uVar44 - 0x40)" (( "(") (binary_expression "1 < uVar44 - 0x40" (number_literal "1") (< "<") (binary_expression "uVar44 - 0x40" (identifier "uVar44") (- "-") (number_literal "0x40"))) () ")"))) () ")")) (compound_statement "{\n      uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n    }" ({ "{") (expression_statement "uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      );" (assignment_expression "uVar22 = gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      )" (identifier "uVar22") (= "=") (call_expression "gettext(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      )" (identifier "gettext") (argument_list "(\n                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."\n                      )" (( "(") (string_literal ""relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."" (" """) (string_content "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations.") (" """)) () ")")))) (; ";")) (expression_statement "FUN_0034ad90(param_2,param_6,iVar3,uVar22);" (call_expression "FUN_0034ad90(param_2,param_6,iVar3,uVar22)" (identifier "FUN_0034ad90") (argument_list "(param_2,param_6,iVar3,uVar22)" (( "(") (identifier "param_2") (, ",") (identifier "param_6") (, ",") (identifier "iVar3") (, ",") (identifier "uVar22") () ")"))) (; ";")) (} "}"))) (expression_statement "cVar15 = '\x01';" (assignment_expression "cVar15 = '\x01'" (identifier "cVar15") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (if_statement "if (uVar44 == 100) goto LAB_002c12e3;" (if "if") (parenthesized_expression "(uVar44 == 100)" (( "(") (binary_expression "uVar44 == 100" (identifier "uVar44") (== "==") (number_literal "100")) () ")")) (goto_statement "goto LAB_002c12e3;" (goto "goto") (statement_identifier "LAB_002c12e3") (; ";"))) (labeled_statement "LAB_002c15e9:\n    if (param_8[0xe] == 0) {\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }" (statement_identifier "LAB_002c15e9") (: ":") (if_statement "if (param_8[0xe] == 0) {\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }" (if "if") (parenthesized_expression "(param_8[0xe] == 0)" (( "(") (binary_expression "param_8[0xe] == 0" (subscript_expression "param_8[0xe]" (identifier "param_8") ([ "[") (number_literal "0xe") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }\nLAB_002c17c6:\n      local_c8 = &local_78;\n      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;\n      lVar31 = *(long *)(param_4 + 0x98);\n      if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }\n      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n        FUN_00291e90();\n      }\n      param_9 = local_c8;\n      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);\n      bVar42 = bVar14 & uVar44 == 100;\n      bVar48 = (bool)bVar42;\n      bVar45 = uVar44 == 100;\n      if ((bool)bVar42 == false) goto LAB_002c13ac;\n      goto LAB_002c187c;\n    }" ({ "{") (labeled_statement "LAB_002c17b9:\n      if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }" (statement_identifier "LAB_002c17b9") (: ":") (if_statement "if (*(int *)((long)param_8 + 0x4c) == -1) {\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }" (if "if") (parenthesized_expression "(*(int *)((long)param_8 + 0x4c) == -1)" (( "(") (binary_expression "*(int *)((long)param_8 + 0x4c) == -1" (pointer_expression "*(int *)((long)param_8 + 0x4c)" (* "*") (cast_expression "(int *)((long)param_8 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 0x4c)" (( "(") (binary_expression "(long)param_8 + 0x4c" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "0x4c")) () ")")))) (== "==") (number_literal "-1")) () ")")) (compound_statement "{\nLAB_002c1848:\n        bVar45 = uVar44 == 100;\n        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;\n        bVar45 = false;\n        goto LAB_002c13ac;\n      }" ({ "{") (labeled_statement "LAB_002c1848:\n        bVar45 = uVar44 == 100;" (statement_identifier "LAB_002c1848") (: ":") (expression_statement "bVar45 = uVar44 == 100;" (assignment_expression "bVar45 = uVar44 == 100" (identifier "bVar45") (= "=") (binary_expression "uVar44 == 100" (identifier "uVar44") (== "==") (number_literal "100"))) (; ";"))) (if_statement "if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;" (if "if") (parenthesized_expression "(uVar44 == 0x85 || bVar45)" (( "(") (binary_expression "uVar44 == 0x85 || bVar45" (binary_expression "uVar44 == 0x85" (identifier "uVar44") (== "==") (number_literal "0x85")) (|| "||") (identifier "bVar45")) () ")")) (goto_statement "goto LAB_002c1320;" (goto "goto") (statement_identifier "LAB_002c1320") (; ";"))) (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" (identifier "bVar45") (= "=") (false "false")) (; ";")) (goto_statement "goto LAB_002c13ac;" (goto "goto") (statement_identifier "LAB_002c13ac") (; ";")) (} "}")))) (labeled_statement "LAB_002c17c6:\n      local_c8 = &local_78;" (statement_identifier "LAB_002c17c6") (: ":") (expression_statement "local_c8 = &local_78;" (assignment_expression "local_c8 = &local_78" (identifier "local_c8") (= "=") (pointer_expression "&local_78" (& "&") (identifier "local_78"))) (; ";"))) (if_statement "if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;" (if "if") (parenthesized_expression "(((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0'))" (( "(") (binary_expression "((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||\n         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')" (parenthesized_expression "((*(byte *)((long)plVar6 + 0x36c) & 1) != 0)" (( "(") (binary_expression "(*(byte *)((long)plVar6 + 0x36c) & 1) != 0" (parenthesized_expression "(*(byte *)((long)plVar6 + 0x36c) & 1)" (( "(") (binary_expression "*(byte *)((long)plVar6 + 0x36c) & 1" (pointer_expression "*(byte *)((long)plVar6 + 0x36c)" (* "*") (cast_expression "(byte *)((long)plVar6 + 0x36c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)plVar6 + 0x36c)" (( "(") (binary_expression "(long)plVar6 + 0x36c" (cast_expression "(long)plVar6" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar6")) (+ "+") (number_literal "0x36c")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')" (( "(") (comma_expression "cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0'" (assignment_expression "cVar16 = FUN_00290610(uVar44,bVar47)" (identifier "cVar16") (= "=") (call_expression "FUN_00290610(uVar44,bVar47)" (identifier "FUN_00290610") (argument_list "(uVar44,bVar47)" (( "(") (identifier "uVar44") (, ",") (identifier "bVar47") () ")")))) (, ",") (binary_expression "cVar16 == '\0'" (identifier "cVar16") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (goto_statement "goto LAB_002c1848;" (goto "goto") (statement_identifier "LAB_002c1848") (; ";"))) (expression_statement "lVar31 = *(long *)(param_4 + 0x98);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x98)" (identifier "lVar31") (= "=") (pointer_expression "*(long *)(param_4 + 0x98)" (* "*") (cast_expression "(long *)(param_4 + 0x98)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x98)" (( "(") (binary_expression "param_4 + 0x98" (identifier "param_4") (+ "+") (number_literal "0x98")) () ")"))))) (; ";")) (if_statement "if (lVar31 == 0) {\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }" (if "if") (parenthesized_expression "(lVar31 == 0)" (( "(") (binary_expression "lVar31 == 0" (identifier "lVar31") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        FUN_00290900();\n        goto LAB_002c46aa;\n      }" ({ "{") (expression_statement "FUN_00290900();" (call_expression "FUN_00290900()" (identifier "FUN_00290900") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_002c46aa;" (goto "goto") (statement_identifier "LAB_002c46aa") (; ";")) (} "}"))) (if_statement "if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\n                    \n        FUN_00291e90();\n      }" (if "if") (parenthesized_expression "((*(byte *)(lVar31 + 0x20) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(lVar31 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar31 + 0x20) & 1)" (( "(") (binary_expression "*(byte *)(lVar31 + 0x20) & 1" (pointer_expression "*(byte *)(lVar31 + 0x20)" (* "*") (cast_expression "(byte *)(lVar31 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x20)" (( "(") (binary_expression "lVar31 + 0x20" (identifier "lVar31") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n        FUN_00291e90();\n      }" ({ "{") (expression_statement "FUN_00291e90();" (call_expression "FUN_00291e90()" (identifier "FUN_00291e90") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" (identifier "param_9") (= "=") (identifier "local_c8")) (; ";")) (expression_statement "local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);" (assignment_expression "local_68 = extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20)" (identifier "local_68") (= "=") (binary_expression "extraout_EDX + *(int *)(lVar31 + 8) +\n                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20)" (binary_expression "extraout_EDX + *(int *)(lVar31 + 8)" (identifier "extraout_EDX") (+ "+") (pointer_expression "*(int *)(lVar31 + 8)" (* "*") (cast_expression "(int *)(lVar31 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 8)" (( "(") (binary_expression "lVar31 + 8" (identifier "lVar31") (+ "+") (number_literal "8")) () ")"))))) (+ "+") (call_expression "(uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20)" (( "(") (binary_expression "(*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20" (parenthesized_expression "(*(byte *)((long)param_8 + 0x39) >> 2 & 0x30)" (( "(") (binary_expression "*(byte *)((long)param_8 + 0x39) >> 2 & 0x30" (binary_expression "*(byte *)((long)param_8 + 0x39) >> 2" (pointer_expression "*(byte *)((long)param_8 + 0x39)" (* "*") (cast_expression "(byte *)((long)param_8 + 0x39)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 0x39)" (( "(") (binary_expression "(long)param_8 + 0x39" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "0x39")) () ")")))) (>> ">>") (number_literal "2")) (& "&") (number_literal "0x30")) () ")")) (== "==") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "bVar42 = bVar14 & uVar44 == 100;" (assignment_expression "bVar42 = bVar14 & uVar44 == 100" (identifier "bVar42") (= "=") (binary_expression "bVar14 & uVar44 == 100" (identifier "bVar14") (& "&") (binary_expression "uVar44 == 100" (identifier "uVar44") (== "==") (number_literal "100")))) (; ";")) (expression_statement "bVar48 = (bool)bVar42;" (assignment_expression "bVar48 = (bool)bVar42" (identifier "bVar48") (= "=") (cast_expression "(bool)bVar42" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "bVar42"))) (; ";")) (expression_statement "bVar45 = uVar44 == 100;" (assignment_expression "bVar45 = uVar44 == 100" (identifier "bVar45") (= "=") (binary_expression "uVar44 == 100" (identifier "uVar44") (== "==") (number_literal "100"))) (; ";")) (if_statement "if ((bool)bVar42 == false) goto LAB_002c13ac;" (if "if") (parenthesized_expression "((bool)bVar42 == false)" (( "(") (binary_expression "(bool)bVar42 == false" (cast_expression "(bool)bVar42" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "bVar42")) (== "==") (false "false")) () ")")) (goto_statement "goto LAB_002c13ac;" (goto "goto") (statement_identifier "LAB_002c13ac") (; ";"))) (goto_statement "goto LAB_002c187c;" (goto "goto") (statement_identifier "LAB_002c187c") (; ";")) (} "}")))) (if_statement "if ((uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0')) {\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = false;\n      goto LAB_002c13ac;\n    }" (if "if") (parenthesized_expression "((uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0'))" (( "(") (binary_expression "(uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0')" (parenthesized_expression "(uVar44 == 0x67)" (( "(") (binary_expression "uVar44 == 0x67" (identifier "uVar44") (== "==") (number_literal "0x67")) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(param_8 + 9) == '\0')" (( "(") (binary_expression "*(char *)(param_8 + 9) == '\0'" (pointer_expression "*(char *)(param_8 + 9)" (* "*") (cast_expression "(char *)(param_8 + 9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_8 + 9)" (( "(") (binary_expression "param_8 + 9" (identifier "param_8") (+ "+") (number_literal "9")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;\n      bVar45 = false;\n      goto LAB_002c13ac;\n    }" ({ "{") (if_statement "if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;" (if "if") (parenthesized_expression "(*(int *)((long)param_8 + 0x4c) != -1)" (( "(") (binary_expression "*(int *)((long)param_8 + 0x4c) != -1" (pointer_expression "*(int *)((long)param_8 + 0x4c)" (* "*") (cast_expression "(int *)((long)param_8 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 0x4c)" (( "(") (binary_expression "(long)param_8 + 0x4c" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "0x4c")) () ")")))) (!= "!=") (number_literal "-1")) () ")")) (goto_statement "goto LAB_002c17c6;" (goto "goto") (statement_identifier "LAB_002c17c6") (; ";"))) (expression_statement "bVar45 = false;" (assignment_expression "bVar45 = false" (identifier "bVar45") (= "=") (false "false")) (; ";")) (goto_statement "goto LAB_002c13ac;" (goto "goto") (statement_identifier "LAB_002c13ac") (; ";")) (} "}"))) (labeled_statement "LAB_002c15fe:\n    local_c8 = &local_78;" (statement_identifier "LAB_002c15fe") (: ":") (expression_statement "local_c8 = &local_78;" (assignment_expression "local_c8 = &local_78" (identifier "local_c8") (= "=") (pointer_expression "&local_78" (& "&") (identifier "local_78"))) (; ";"))) (expression_statement "uVar17 = *(uint *)(param_2 + 0x30);" (assignment_expression "uVar17 = *(uint *)(param_2 + 0x30)" (identifier "uVar17") (= "=") (pointer_expression "*(uint *)(param_2 + 0x30)" (* "*") (cast_expression "(uint *)(param_2 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x30)" (( "(") (binary_expression "param_2 + 0x30" (identifier "param_2") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "unaff_R13 = (uint *)(ulong)uVar17;" (assignment_expression "unaff_R13 = (uint *)(ulong)uVar17" (identifier "unaff_R13") (= "=") (cast_expression "(uint *)(ulong)uVar17" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(ulong)uVar17" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar17")))) (; ";")) (expression_statement "cVar16 = FUN_002972f0(plVar6,unaff_R13);" (assignment_expression "cVar16 = FUN_002972f0(plVar6,unaff_R13)" (identifier "cVar16") (= "=") (call_expression "FUN_002972f0(plVar6,unaff_R13)" (identifier "FUN_002972f0") (argument_list "(plVar6,unaff_R13)" (( "(") (identifier "plVar6") (, ",") (identifier "unaff_R13") () ")")))) (; ";")) (if_statement "if ((cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e))) {\n      if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }" (if "if") (parenthesized_expression "((cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e)))" (( "(") (binary_expression "(cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e))" (parenthesized_expression "(cVar16 != '\0')" (( "(") (binary_expression "cVar16 != '\0'" (identifier "cVar16") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(uVar17 == *(uint *)(plVar6 + 0x7e))" (( "(") (binary_expression "uVar17 == *(uint *)(plVar6 + 0x7e)" (identifier "uVar17") (== "==") (pointer_expression "*(uint *)(plVar6 + 0x7e)" (* "*") (cast_expression "(uint *)(plVar6 + 0x7e)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 0x7e)" (( "(") (binary_expression "plVar6 + 0x7e" (identifier "plVar6") (+ "+") (number_literal "0x7e")) () ")"))))) () ")"))) () ")")) (compound_statement "{\n      if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;\n      goto LAB_002c17b9;\n    }" ({ "{") (if_statement "if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;" (if "if") (parenthesized_expression "(param_8 == (undefined8 *)0x0)" (( "(") (binary_expression "param_8 == (undefined8 *)0x0" (identifier "param_8") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_002c1c17;" (goto "goto") (statement_identifier "LAB_002c1c17") (; ";"))) (goto_statement "goto LAB_002c17b9;" (goto "goto") (statement_identifier "LAB_002c17b9") (; ";")) (} "}"))) (if_statement "if (param_8 == (undefined8 *)0x0) {\n      plVar40 = (long *)plVar6[99];\n      plVar27 = plVar6 + 0x62;\n      if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }\nLAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);\n      bVar48 = uVar44 == 100;\n      bVar47 = 0;\n      if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }\n      param_9 = local_c8;\n      local_cd = true;\n      goto LAB_002c13d7;\n    }" (if "if") (parenthesized_expression "(param_8 == (undefined8 *)0x0)" (( "(") (binary_expression "param_8 == (undefined8 *)0x0" (identifier "param_8") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      plVar40 = (long *)plVar6[99];\n      plVar27 = plVar6 + 0x62;\n      if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }\nLAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);\n      bVar48 = uVar44 == 100;\n      bVar47 = 0;\n      if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }\n      param_9 = local_c8;\n      local_cd = true;\n      goto LAB_002c13d7;\n    }" ({ "{") (expression_statement "plVar40 = (long *)plVar6[99];" (assignment_expression "plVar40 = (long *)plVar6[99]" (identifier "plVar40") (= "=") (cast_expression "(long *)plVar6[99]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "plVar6[99]" (identifier "plVar6") ([ "[") (number_literal "99") (] "]")))) (; ";")) (expression_statement "plVar27 = plVar6 + 0x62;" (assignment_expression "plVar27 = plVar6 + 0x62" (identifier "plVar27") (= "=") (binary_expression "plVar6 + 0x62" (identifier "plVar6") (+ "+") (number_literal "0x62"))) (; ";")) (if_statement "if (plVar40 != (long *)0x0) {\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }" (if "if") (parenthesized_expression "(plVar40 != (long *)0x0)" (( "(") (binary_expression "plVar40 != (long *)0x0" (identifier "plVar40") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);\n        plVar40 = (long *)0x0;\n        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }\n      }" ({ "{") (do_statement "do {\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        } while (plVar40 != (long *)0x0);" (do "do") (compound_statement "{\n          plVar29 = plVar40;\n          if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }\n          plVar27 = plVar29;\n        }" ({ "{") (expression_statement "plVar29 = plVar40;" (assignment_expression "plVar29 = plVar40" (identifier "plVar29") (= "=") (identifier "plVar40")) (; ";")) (if_statement "if (*(uint *)(plVar29 + 4) < uVar33) {\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }\n          else {\n            plVar40 = (long *)plVar29[2];\n          }" (if "if") (parenthesized_expression "(*(uint *)(plVar29 + 4) < uVar33)" (( "(") (binary_expression "*(uint *)(plVar29 + 4) < uVar33" (pointer_expression "*(uint *)(plVar29 + 4)" (* "*") (cast_expression "(uint *)(plVar29 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar29 + 4)" (( "(") (binary_expression "plVar29 + 4" (identifier "plVar29") (+ "+") (number_literal "4")) () ")")))) (< "<") (identifier "uVar33")) () ")")) (compound_statement "{\n            plVar40 = (long *)plVar29[3];\n            plVar29 = plVar27;\n          }" ({ "{") (expression_statement "plVar40 = (long *)plVar29[3];" (assignment_expression "plVar40 = (long *)plVar29[3]" (identifier "plVar40") (= "=") (cast_expression "(long *)plVar29[3]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "plVar29[3]" (identifier "plVar29") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "plVar29 = plVar27;" (assignment_expression "plVar29 = plVar27" (identifier "plVar29") (= "=") (identifier "plVar27")) (; ";")) (} "}")) (else_clause "else {\n            plVar40 = (long *)plVar29[2];\n          }" (else "else") (compound_statement "{\n            plVar40 = (long *)plVar29[2];\n          }" ({ "{") (expression_statement "plVar40 = (long *)plVar29[2];" (assignment_expression "plVar40 = (long *)plVar29[2]" (identifier "plVar40") (= "=") (cast_expression "(long *)plVar29[2]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "plVar29[2]" (identifier "plVar29") ([ "[") (number_literal "2") (] "]")))) (; ";")) (} "}")))) (expression_statement "plVar27 = plVar29;" (assignment_expression "plVar27 = plVar29" (identifier "plVar27") (= "=") (identifier "plVar29")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(plVar40 != (long *)0x0)" (( "(") (binary_expression "plVar40 != (long *)0x0" (identifier "plVar40") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (expression_statement "plVar40 = (long *)0x0;" (assignment_expression "plVar40 = (long *)0x0" (identifier "plVar40") (= "=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {\n          plVar40 = (long *)plVar29[5];\n        }" (if "if") (parenthesized_expression "((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33))" (( "(") (binary_expression "(plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)" (parenthesized_expression "(plVar6 + 0x62 != plVar29)" (( "(") (binary_expression "plVar6 + 0x62 != plVar29" (binary_expression "plVar6 + 0x62" (identifier "plVar6") (+ "+") (number_literal "0x62")) (!= "!=") (identifier "plVar29")) () ")")) (&& "&&") (parenthesized_expression "(*(uint *)(plVar29 + 4) <= uVar33)" (( "(") (binary_expression "*(uint *)(plVar29 + 4) <= uVar33" (pointer_expression "*(uint *)(plVar29 + 4)" (* "*") (cast_expression "(uint *)(plVar29 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar29 + 4)" (( "(") (binary_expression "plVar29 + 4" (identifier "plVar29") (+ "+") (number_literal "4")) () ")")))) (<= "<=") (identifier "uVar33")) () ")"))) () ")")) (compound_statement "{\n          plVar40 = (long *)plVar29[5];\n        }" ({ "{") (expression_statement "plVar40 = (long *)plVar29[5];" (assignment_expression "plVar40 = (long *)plVar29[5]" (identifier "plVar40") (= "=") (cast_expression "(long *)plVar29[5]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "plVar29[5]" (identifier "plVar29") ([ "[") (number_literal "5") (] "]")))) (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_002c3d91:\n      local_68 = FUN_00298370(plVar40,plVar40 + 1);" (statement_identifier "LAB_002c3d91") (: ":") (expression_statement "local_68 = FUN_00298370(plVar40,plVar40 + 1);" (assignment_expression "local_68 = FUN_00298370(plVar40,plVar40 + 1)" (identifier "local_68") (= "=") (call_expression "FUN_00298370(plVar40,plVar40 + 1)" (identifier "FUN_00298370") (argument_list "(plVar40,plVar40 + 1)" (( "(") (identifier "plVar40") (, ",") (binary_expression "plVar40 + 1" (identifier "plVar40") (+ "+") (number_literal "1")) () ")")))) (; ";"))) (expression_statement "bVar48 = uVar44 == 100;" (assignment_expression "bVar48 = uVar44 == 100" (identifier "bVar48") (= "=") (binary_expression "uVar44 == 100" (identifier "uVar44") (== "==") (number_literal "100"))) (; ";")) (expression_statement "bVar47 = 0;" (assignment_expression "bVar47 = 0" (identifier "bVar47") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((uVar18 & 0xf7) != 0x85) {\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }" (if "if") (parenthesized_expression "((uVar18 & 0xf7) != 0x85)" (( "(") (binary_expression "(uVar18 & 0xf7) != 0x85" (parenthesized_expression "(uVar18 & 0xf7)" (( "(") (binary_expression "uVar18 & 0xf7" (identifier "uVar18") (& "&") (number_literal "0xf7")) () ")")) (!= "!=") (number_literal "0x85")) () ")")) (compound_statement "{\n        local_cd = true;\n        param_9 = local_c8;\n        goto LAB_002c13c4;\n      }" ({ "{") (expression_statement "local_cd = true;" (assignment_expression "local_cd = true" (identifier "local_cd") (= "=") (true "true")) (; ";")) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" (identifier "param_9") (= "=") (identifier "local_c8")) (; ";")) (goto_statement "goto LAB_002c13c4;" (goto "goto") (statement_identifier "LAB_002c13c4") (; ";")) (} "}"))) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" (identifier "param_9") (= "=") (identifier "local_c8")) (; ";")) (expression_statement "local_cd = true;" (assignment_expression "local_cd = true" (identifier "local_cd") (= "=") (true "true")) (; ";")) (goto_statement "goto LAB_002c13d7;" (goto "goto") (statement_identifier "LAB_002c13d7") (; ";")) (} "}"))) (if_statement "if (*(char *)(param_8 + 9) == '\0') {\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");\n    }" (if "if") (parenthesized_expression "(*(char *)(param_8 + 9) == '\0')" (( "(") (binary_expression "*(char *)(param_8 + 9) == '\0'" (pointer_expression "*(char *)(param_8 + 9)" (* "*") (cast_expression "(char *)(param_8 + 9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_8 + 9)" (( "(") (binary_expression "param_8 + 9" (identifier "param_8") (+ "+") (number_literal "9")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");\n    }" ({ "{") (expression_statement "FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate")" (identifier "FUN_00352af0") (argument_list "("../../gold/mips.cc",0x2d5f,"relocate")" (( "(") (string_literal ""../../gold/mips.cc"" (" """) (string_content "../../gold/mips.cc") (" """)) (, ",") (number_literal "0x2d5f") (, ",") (string_literal ""relocate"" (" """) (string_content "relocate") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)((long)param_8 + 0x4c) == -1) {\n      plVar40 = (long *)param_8[0xe];\n      goto LAB_002c3d91;\n    }" (if "if") (parenthesized_expression "(*(int *)((long)param_8 + 0x4c) == -1)" (( "(") (binary_expression "*(int *)((long)param_8 + 0x4c) == -1" (pointer_expression "*(int *)((long)param_8 + 0x4c)" (* "*") (cast_expression "(int *)((long)param_8 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 0x4c)" (( "(") (binary_expression "(long)param_8 + 0x4c" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "0x4c")) () ")")))) (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n      plVar40 = (long *)param_8[0xe];\n      goto LAB_002c3d91;\n    }" ({ "{") (expression_statement "plVar40 = (long *)param_8[0xe];" (assignment_expression "plVar40 = (long *)param_8[0xe]" (identifier "plVar40") (= "=") (cast_expression "(long *)param_8[0xe]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_8[0xe]" (identifier "param_8") ([ "[") (number_literal "0xe") (] "]")))) (; ";")) (goto_statement "goto LAB_002c3d91;" (goto "goto") (statement_identifier "LAB_002c3d91") (; ";")) (} "}"))) (expression_statement "lVar31 = *(long *)(param_4 + 0x98);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x98)" (identifier "lVar31") (= "=") (pointer_expression "*(long *)(param_4 + 0x98)" (* "*") (cast_expression "(long *)(param_4 + 0x98)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x98)" (( "(") (binary_expression "param_4 + 0x98" (identifier "param_4") (+ "+") (number_literal "0x98")) () ")"))))) (; ";")) (if_statement "if (lVar31 == 0) {\n      FUN_00290900();\nLAB_002c46d8:\n      FUN_00290940();\n      goto LAB_002c46dd;\n    }" (if "if") (parenthesized_expression "(lVar31 == 0)" (( "(") (binary_expression "lVar31 == 0" (identifier "lVar31") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_00290900();\nLAB_002c46d8:\n      FUN_00290940();\n      goto LAB_002c46dd;\n    }" ({ "{") (expression_statement "FUN_00290900();" (call_expression "FUN_00290900()" (identifier "FUN_00290900") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_002c46d8:\n      FUN_00290940();" (statement_identifier "LAB_002c46d8") (: ":") (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" (identifier "FUN_00290940") (argument_list "()" (( "(") () ")"))) (; ";"))) (goto_statement "goto LAB_002c46dd;" (goto "goto") (statement_identifier "LAB_002c46dd") (; ";")) (} "}"))) (expression_statement "local_cd = (bool)(*(byte *)(lVar31 + 0x20) & 1);" (assignment_expression "local_cd = (bool)(*(byte *)(lVar31 + 0x20) & 1)" (identifier "local_cd") (= "=") (cast_expression "(bool)(*(byte *)(lVar31 + 0x20) & 1)" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (parenthesized_expression "(*(byte *)(lVar31 + 0x20) & 1)" (( "(") (binary_expression "*(byte *)(lVar31 + 0x20) & 1" (pointer_expression "*(byte *)(lVar31 + 0x20)" (* "*") (cast_expression "(byte *)(lVar31 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x20)" (( "(") (binary_expression "lVar31 + 0x20" (identifier "lVar31") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "1")) () ")")))) (; ";")) (if_statement "if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {\nLAB_002c4670:\n                    \n      FUN_00291e90();\n    }" (if "if") (parenthesized_expression "((*(byte *)(lVar31 + 0x20) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(lVar31 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar31 + 0x20) & 1)" (( "(") (binary_expression "*(byte *)(lVar31 + 0x20) & 1" (pointer_expression "*(byte *)(lVar31 + 0x20)" (* "*") (cast_expression "(byte *)(lVar31 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x20)" (( "(") (binary_expression "lVar31 + 0x20" (identifier "lVar31") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_002c4670:\n                    \n      FUN_00291e90();\n    }" ({ "{") (labeled_statement "LAB_002c4670:\n                    \n      FUN_00291e90();" (statement_identifier "LAB_002c4670") (: ":") (expression_statement "FUN_00291e90();" (call_expression "FUN_00291e90()" (identifier "FUN_00291e90") (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}"))) (expression_statement "bVar48 = uVar44 == 100;" (assignment_expression "bVar48 = uVar44 == 100" (identifier "bVar48") (= "=") (binary_expression "uVar44 == 100" (identifier "uVar44") (== "==") (number_literal "100"))) (; ";")) (expression_statement "local_68 = *(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8);" (assignment_expression "local_68 = *(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8)" (identifier "local_68") (= "=") (binary_expression "*(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8)" (pointer_expression "*(int *)((long)param_8 + 0x4c)" (* "*") (cast_expression "(int *)((long)param_8 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 0x4c)" (( "(") (binary_expression "(long)param_8 + 0x4c" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "0x4c")) () ")")))) (+ "+") (pointer_expression "*(int *)(lVar31 + 8)" (* "*") (cast_expression "(int *)(lVar31 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 8)" (( "(") (binary_expression "lVar31 + 8" (identifier "lVar31") (+ "+") (number_literal "8")) () ")")))))) (; ";")) (expression_statement "bVar47 = 0;" (assignment_expression "bVar47 = 0" (identifier "bVar47") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((uVar18 & 0xf7) != 0x85) {\n      param_9 = local_c8;\n      goto LAB_002c13c4;\n    }" (if "if") (parenthesized_expression "((uVar18 & 0xf7) != 0x85)" (( "(") (binary_expression "(uVar18 & 0xf7) != 0x85" (parenthesized_expression "(uVar18 & 0xf7)" (( "(") (binary_expression "uVar18 & 0xf7" (identifier "uVar18") (& "&") (number_literal "0xf7")) () ")")) (!= "!=") (number_literal "0x85")) () ")")) (compound_statement "{\n      param_9 = local_c8;\n      goto LAB_002c13c4;\n    }" ({ "{") (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" (identifier "param_9") (= "=") (identifier "local_c8")) (; ";")) (goto_statement "goto LAB_002c13c4;" (goto "goto") (statement_identifier "LAB_002c13c4") (; ";")) (} "}"))) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" (identifier "param_9") (= "=") (identifier "local_c8")) (; ";")) (labeled_statement "LAB_002c16b8:\n    cVar16 = FUN_002e7200(param_8);" (statement_identifier "LAB_002c16b8") (: ":") (expression_statement "cVar16 = FUN_002e7200(param_8);" (assignment_expression "cVar16 = FUN_002e7200(param_8)" (identifier "cVar16") (= "=") (call_expression "FUN_002e7200(param_8)" (identifier "FUN_002e7200") (argument_list "(param_8)" (( "(") (identifier "param_8") () ")")))) (; ";"))) (if_statement "if (cVar16 == '\0') {\n      local_cf = (bVar47 ^ 1) & bVar48;\n      if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }\n    }\n    else {\n      local_cf = 0;\n    }" (if "if") (parenthesized_expression "(cVar16 == '\0')" (( "(") (binary_expression "cVar16 == '\0'" (identifier "cVar16") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      local_cf = (bVar47 ^ 1) & bVar48;\n      if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }\n    }" ({ "{") (expression_statement "local_cf = (bVar47 ^ 1) & bVar48;" (assignment_expression "local_cf = (bVar47 ^ 1) & bVar48" (identifier "local_cf") (= "=") (binary_expression "(bVar47 ^ 1) & bVar48" (parenthesized_expression "(bVar47 ^ 1)" (( "(") (binary_expression "bVar47 ^ 1" (identifier "bVar47") (^ "^") (number_literal "1")) () ")")) (& "&") (identifier "bVar48"))) (; ";")) (if_statement "if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }" (if "if") (parenthesized_expression "((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0))" (( "(") (binary_expression "(local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)" (parenthesized_expression "(local_cf == 0)" (( "(") (binary_expression "local_cf == 0" (identifier "local_cf") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)" (( "(") (comma_expression "local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0" (assignment_expression "local_cf = (bVar14 ^ 1) & uVar44 == 0x85" (identifier "local_cf") (= "=") (binary_expression "(bVar14 ^ 1) & uVar44 == 0x85" (parenthesized_expression "(bVar14 ^ 1)" (( "(") (binary_expression "bVar14 ^ 1" (identifier "bVar14") (^ "^") (number_literal "1")) () ")")) (& "&") (binary_expression "uVar44 == 0x85" (identifier "uVar44") (== "==") (number_literal "0x85")))) (, ",") (binary_expression "local_cf == 0" (identifier "local_cf") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\nLAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;\n        if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }\n        if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }\n      }" ({ "{") (labeled_statement "LAB_002c1bcf:\n        local_cf = uVar44 == 4 || uVar44 == 0x25;" (statement_identifier "LAB_002c1bcf") (: ":") (expression_statement "local_cf = uVar44 == 4 || uVar44 == 0x25;" (assignment_expression "local_cf = uVar44 == 4 || uVar44 == 0x25" (identifier "local_cf") (= "=") (binary_expression "uVar44 == 4 || uVar44 == 0x25" (binary_expression "uVar44 == 4" (identifier "uVar44") (== "==") (number_literal "4")) (|| "||") (binary_expression "uVar44 == 0x25" (identifier "uVar44") (== "==") (number_literal "0x25")))) (; ";"))) (if_statement "if (uVar44 == 4 || uVar44 == 0x25) {\n          local_cf = bVar14 | bVar47;\n        }" (if "if") (parenthesized_expression "(uVar44 == 4 || uVar44 == 0x25)" (( "(") (binary_expression "uVar44 == 4 || uVar44 == 0x25" (binary_expression "uVar44 == 4" (identifier "uVar44") (== "==") (number_literal "4")) (|| "||") (binary_expression "uVar44 == 0x25" (identifier "uVar44") (== "==") (number_literal "0x25"))) () ")")) (compound_statement "{\n          local_cf = bVar14 | bVar47;\n        }" ({ "{") (expression_statement "local_cf = bVar14 | bVar47;" (assignment_expression "local_cf = bVar14 | bVar47" (identifier "local_cf") (= "=") (binary_expression "bVar14 | bVar47" (identifier "bVar14") (| "|") (identifier "bVar47"))) (; ";")) (} "}"))) (if_statement "if (param_8 == (undefined8 *)0x0) {\n          local_ce = 1;\n          goto LAB_002c1402;\n        }" (if "if") (parenthesized_expression "(param_8 == (undefined8 *)0x0)" (( "(") (binary_expression "param_8 == (undefined8 *)0x0" (identifier "param_8") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          local_ce = 1;\n          goto LAB_002c1402;\n        }" ({ "{") (expression_statement "local_ce = 1;" (assignment_expression "local_ce = 1" (identifier "local_ce") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_002c1402;" (goto "goto") (statement_identifier "LAB_002c1402") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n      local_cf = 0;\n    }" (else "else") (compound_statement "{\n      local_cf = 0;\n    }" ({ "{") (expression_statement "local_cf = 0;" (assignment_expression "local_cf = 0" (identifier "local_cf") (= "=") (number_literal "0")) (; ";")) (} "}")))) (if_statement "if (*(char *)((long)param_8 + 100) != '\0') {\n      local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n      if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar44 - 100;\n      uVar32 = (ulong)(uVar44 - 0x85);\n      local_b8 = (ulong)(param_3 == 9);\n      uStack_80 = 0;\n      uStack_7c = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar30 = (ushort)*param_10;\n      uVar17 = (uint)uVar30;\n      uVar2 = *(ushort *)((long)param_10 + 2);\n      uVar18 = (uint)uVar2;\n      local_84 = uVar44;\n      if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }" (if "if") (parenthesized_expression "(*(char *)((long)param_8 + 100) != '\0')" (( "(") (binary_expression "*(char *)((long)param_8 + 100) != '\0'" (pointer_expression "*(char *)((long)param_8 + 100)" (* "*") (cast_expression "(char *)((long)param_8 + 100)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 100)" (( "(") (binary_expression "(long)param_8 + 100" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "100")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n      if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;\nLAB_002c1402:\n      local_f0 = uVar44 - 100;\n      uVar32 = (ulong)(uVar44 - 0x85);\n      local_b8 = (ulong)(param_3 == 9);\n      uStack_80 = 0;\n      uStack_7c = 0;\n      if (0xc < local_f0) goto LAB_002c1b2f;\n      uVar30 = (ushort)*param_10;\n      uVar17 = (uint)uVar30;\n      uVar2 = *(ushort *)((long)param_10 + 2);\n      uVar18 = (uint)uVar2;\n      local_84 = uVar44;\n      if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }\n      if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }\nLAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);\n      goto LAB_002c1467;\n    }" ({ "{") (expression_statement "local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);" (assignment_expression "local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1)" (identifier "local_ce") (= "=") (call_expression "FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1)" (identifier "FUN_0028d190") (argument_list "(param_8,*(int *)(param_8 + 4) != 0,1)" (( "(") (identifier "param_8") (, ",") (binary_expression "*(int *)(param_8 + 4) != 0" (pointer_expression "*(int *)(param_8 + 4)" (* "*") (cast_expression "(int *)(param_8 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_8 + 4)" (( "(") (binary_expression "param_8 + 4" (identifier "param_8") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "0")) (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if ((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))\n      goto LAB_002c1ab9;" (if "if") (parenthesized_expression "((local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))" (( "(") (binary_expression "(local_ce == 0) &&\n         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14)" (parenthesized_expression "(local_ce == 0)" (( "(") (binary_expression "local_ce == 0" (identifier "local_ce") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14)" (( "(") (comma_expression "local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14" (assignment_expression "local_ce = uVar44 == 0x92 || uVar44 == 0x14" (identifier "local_ce") (= "=") (binary_expression "uVar44 == 0x92 || uVar44 == 0x14" (binary_expression "uVar44 == 0x92" (identifier "uVar44") (== "==") (number_literal "0x92")) (|| "||") (binary_expression "uVar44 == 0x14" (identifier "uVar44") (== "==") (number_literal "0x14")))) (, ",") (binary_expression "uVar44 == 0x92 || uVar44 == 0x14" (binary_expression "uVar44 == 0x92" (identifier "uVar44") (== "==") (number_literal "0x92")) (|| "||") (binary_expression "uVar44 == 0x14" (identifier "uVar44") (== "==") (number_literal "0x14")))) () ")"))) () ")")) (goto_statement "goto LAB_002c1ab9;" (goto "goto") (statement_identifier "LAB_002c1ab9") (; ";"))) (labeled_statement "LAB_002c1402:\n      local_f0 = uVar44 - 100;" (statement_identifier "LAB_002c1402") (: ":") (expression_statement "local_f0 = uVar44 - 100;" (assignment_expression "local_f0 = uVar44 - 100" (identifier "local_f0") (= "=") (binary_expression "uVar44 - 100" (identifier "uVar44") (- "-") (number_literal "100"))) (; ";"))) (expression_statement "uVar32 = (ulong)(uVar44 - 0x85);" (assignment_expression "uVar32 = (ulong)(uVar44 - 0x85)" (identifier "uVar32") (= "=") (call_expression "(ulong)(uVar44 - 0x85)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar44 - 0x85)" (( "(") (binary_expression "uVar44 - 0x85" (identifier "uVar44") (- "-") (number_literal "0x85")) () ")")))) (; ";")) (expression_statement "local_b8 = (ulong)(param_3 == 9);" (assignment_expression "local_b8 = (ulong)(param_3 == 9)" (identifier "local_b8") (= "=") (call_expression "(ulong)(param_3 == 9)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(param_3 == 9)" (( "(") (binary_expression "param_3 == 9" (identifier "param_3") (== "==") (number_literal "9")) () ")")))) (; ";")) (expression_statement "uStack_80 = 0;" (assignment_expression "uStack_80 = 0" (identifier "uStack_80") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_7c = 0;" (assignment_expression "uStack_7c = 0" (identifier "uStack_7c") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0xc < local_f0) goto LAB_002c1b2f;" (if "if") (parenthesized_expression "(0xc < local_f0)" (( "(") (binary_expression "0xc < local_f0" (number_literal "0xc") (< "<") (identifier "local_f0")) () ")")) (goto_statement "goto LAB_002c1b2f;" (goto "goto") (statement_identifier "LAB_002c1b2f") (; ";"))) (expression_statement "uVar30 = (ushort)*param_10;" (assignment_expression "uVar30 = (ushort)*param_10" (identifier "uVar30") (= "=") (binary_expression "(ushort)*param_10" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (* "*") (identifier "param_10"))) (; ";")) (expression_statement "uVar17 = (uint)uVar30;" (assignment_expression "uVar17 = (uint)uVar30" (identifier "uVar17") (= "=") (cast_expression "(uint)uVar30" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar30"))) (; ";")) (expression_statement "uVar2 = *(ushort *)((long)param_10 + 2);" (assignment_expression "uVar2 = *(ushort *)((long)param_10 + 2)" (identifier "uVar2") (= "=") (pointer_expression "*(ushort *)((long)param_10 + 2)" (* "*") (cast_expression "(ushort *)((long)param_10 + 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_10 + 2)" (( "(") (binary_expression "(long)param_10 + 2" (cast_expression "(long)param_10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_10")) (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "uVar18 = (uint)uVar2;" (assignment_expression "uVar18 = (uint)uVar2" (identifier "uVar18") (= "=") (cast_expression "(uint)uVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar2"))) (; ";")) (expression_statement "local_84 = uVar44;" (assignment_expression "local_84 = uVar44" (identifier "local_84") (= "=") (identifier "uVar44")) (; ";")) (if_statement "if (uVar44 - 0x85 < 0x29) {\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }" (if "if") (parenthesized_expression "(uVar44 - 0x85 < 0x29)" (( "(") (binary_expression "uVar44 - 0x85 < 0x29" (binary_expression "uVar44 - 0x85" (identifier "uVar44") (- "-") (number_literal "0x85")) (< "<") (number_literal "0x29")) () ")")) (compound_statement "{\n        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;\n        goto LAB_002c1462;\n      }" ({ "{") (if_statement "if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;" (if "if") (parenthesized_expression "((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0)" (( "(") (binary_expression "(0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0" (parenthesized_expression "(0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1)" (( "(") (binary_expression "0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1" (binary_expression "0x1b3e1fff3ffU >> (uVar32 & 0x3f)" (number_literal "0x1b3e1fff3ffU") (>> ">>") (parenthesized_expression "(uVar32 & 0x3f)" (( "(") (binary_expression "uVar32 & 0x3f" (identifier "uVar32") (& "&") (number_literal "0x3f")) () ")"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002c1c3c;" (goto "goto") (statement_identifier "LAB_002c1c3c") (; ";"))) (goto_statement "goto LAB_002c1462;" (goto "goto") (statement_identifier "LAB_002c1462") (; ";")) (} "}"))) (if_statement "if (uVar44 == 100) {\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }" (if "if") (parenthesized_expression "(uVar44 == 100)" (( "(") (binary_expression "uVar44 == 100" (identifier "uVar44") (== "==") (number_literal "100")) () ")")) (compound_statement "{\n        local_f0 = 0;\n        uVar18 = (uint)uVar2;\n        goto LAB_002c1462;\n      }" ({ "{") (expression_statement "local_f0 = 0;" (assignment_expression "local_f0 = 0" (identifier "local_f0") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar18 = (uint)uVar2;" (assignment_expression "uVar18 = (uint)uVar2" (identifier "uVar18") (= "=") (cast_expression "(uint)uVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar2"))) (; ";")) (goto_statement "goto LAB_002c1462;" (goto "goto") (statement_identifier "LAB_002c1462") (; ";")) (} "}"))) (labeled_statement "LAB_002c1c3c:\n      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);" (statement_identifier "LAB_002c1c3c") (: ":") (expression_statement "uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb);" (assignment_expression "uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb)" (identifier "uVar18") (= "=") (binary_expression "(uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |\n               (uint)(((ulong)uVar30 & 0x1f) << 0xb)" (binary_expression "(uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb" (binary_expression "(uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |\n               (uVar30 & 0xf800) << 0x10" (binary_expression "(uint)(uVar30 & 0x7e0) | uVar2 & 0x1f" (call_expression "(uint)(uVar30 & 0x7e0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar30 & 0x7e0)" (( "(") (binary_expression "uVar30 & 0x7e0" (identifier "uVar30") (& "&") (number_literal "0x7e0")) () ")"))) (| "|") (binary_expression "uVar2 & 0x1f" (identifier "uVar2") (& "&") (number_literal "0x1f"))) (| "|") (binary_expression "(uVar30 & 0xf800) << 0x10" (parenthesized_expression "(uVar30 & 0xf800)" (( "(") (binary_expression "uVar30 & 0xf800" (identifier "uVar30") (& "&") (number_literal "0xf800")) () ")")) (<< "<<") (number_literal "0x10"))) (| "|") (binary_expression "(uVar2 & 0xffe0) << 0xb" (parenthesized_expression "(uVar2 & 0xffe0)" (( "(") (binary_expression "uVar2 & 0xffe0" (identifier "uVar2") (& "&") (number_literal "0xffe0")) () ")")) (<< "<<") (number_literal "0xb"))) (| "|") (call_expression "(uint)(((ulong)uVar30 & 0x1f) << 0xb)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(((ulong)uVar30 & 0x1f) << 0xb)" (( "(") (binary_expression "((ulong)uVar30 & 0x1f) << 0xb" (parenthesized_expression "((ulong)uVar30 & 0x1f)" (( "(") (binary_expression "(ulong)uVar30 & 0x1f" (cast_expression "(ulong)uVar30" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar30")) (& "&") (number_literal "0x1f")) () ")")) (<< "<<") (number_literal "0xb")) () ")"))))) (; ";"))) (goto_statement "goto LAB_002c1467;" (goto "goto") (statement_identifier "LAB_002c1467") (; ";")) (} "}"))) (expression_statement "local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0);" (assignment_expression "local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0)" (identifier "local_ce") (= "=") (call_expression "FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0)" (identifier "FUN_0028d190") (argument_list "(param_8,*(int *)(param_8 + 4) != 0,0)" (( "(") (identifier "param_8") (, ",") (binary_expression "*(int *)(param_8 + 4) != 0" (pointer_expression "*(int *)(param_8 + 4)" (* "*") (cast_expression "(int *)(param_8 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_8 + 4)" (( "(") (binary_expression "param_8 + 4" (identifier "param_8") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "0")) (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if ((local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92))\n    goto LAB_002c1402;" (if "if") (parenthesized_expression "((local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92))" (( "(") (binary_expression "(local_ce != 0) ||\n       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92)" (parenthesized_expression "(local_ce != 0)" (( "(") (binary_expression "local_ce != 0" (identifier "local_ce") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92)" (( "(") (comma_expression "local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92" (assignment_expression "local_ce = uVar44 == 0x14 || uVar44 == 0x92" (identifier "local_ce") (= "=") (binary_expression "uVar44 == 0x14 || uVar44 == 0x92" (binary_expression "uVar44 == 0x14" (identifier "uVar44") (== "==") (number_literal "0x14")) (|| "||") (binary_expression "uVar44 == 0x92" (identifier "uVar44") (== "==") (number_literal "0x92")))) (, ",") (binary_expression "uVar44 != 0x14 && uVar44 != 0x92" (binary_expression "uVar44 != 0x14" (identifier "uVar44") (!= "!=") (number_literal "0x14")) (&& "&&") (binary_expression "uVar44 != 0x92" (identifier "uVar44") (!= "!=") (number_literal "0x92")))) () ")"))) () ")")) (goto_statement "goto LAB_002c1402;" (goto "goto") (statement_identifier "LAB_002c1402") (; ";"))) (labeled_statement "LAB_002c1ab9:\n    if (uVar44 - 0x85 < 0x29) {\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }" (statement_identifier "LAB_002c1ab9") (: ":") (if_statement "if (uVar44 - 0x85 < 0x29) {\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }\n    else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }" (if "if") (parenthesized_expression "(uVar44 - 0x85 < 0x29)" (( "(") (binary_expression "uVar44 - 0x85 < 0x29" (binary_expression "uVar44 - 0x85" (identifier "uVar44") (- "-") (number_literal "0x85")) (< "<") (number_literal "0x29")) () ")")) (compound_statement "{\n      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;\n      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);\n      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;\n      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;\n    }" ({ "{") (expression_statement "uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;" (assignment_expression "uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff" (identifier "uVar24") (= "=") (binary_expression "1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff" (binary_expression "1L << ((byte)(uVar44 - 0x85) & 0x3f)" (number_literal "1L") (<< "<<") (parenthesized_expression "((byte)(uVar44 - 0x85) & 0x3f)" (( "(") (binary_expression "(byte)(uVar44 - 0x85) & 0x3f" (call_expression "(byte)(uVar44 - 0x85)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(uVar44 - 0x85)" (( "(") (binary_expression "uVar44 - 0x85" (identifier "uVar44") (- "-") (number_literal "0x85")) () ")"))) (& "&") (number_literal "0x3f")) () ")"))) (& "&") (number_literal "0x1b3e1fff3ff"))) (; ";")) (expression_statement "uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);" (assignment_expression "uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc)" (identifier "uVar32") (= "=") (call_expression "(ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc)" (( "(") (binary_expression "(-(uint)(uVar24 == 0) & 0xffffff82) + 0xc" (parenthesized_expression "(-(uint)(uVar24 == 0) & 0xffffff82)" (( "(") (binary_expression "-(uint)(uVar24 == 0) & 0xffffff82" (unary_expression "-(uint)(uVar24 == 0)" (- "-") (call_expression "(uint)(uVar24 == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar24 == 0)" (( "(") (binary_expression "uVar24 == 0" (identifier "uVar24") (== "==") (number_literal "0")) () ")")))) (& "&") (number_literal "0xffffff82")) () ")")) (+ "+") (number_literal "0xc")) () ")")))) (; ";")) (expression_statement "local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;" (assignment_expression "local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d" (identifier "local_f0") (= "=") (binary_expression "(-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d" (parenthesized_expression "(-(uint)(uVar24 == 0) & 0xffffff82)" (( "(") (binary_expression "-(uint)(uVar24 == 0) & 0xffffff82" (unary_expression "-(uint)(uVar24 == 0)" (- "-") (call_expression "(uint)(uVar24 == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar24 == 0)" (( "(") (binary_expression "uVar24 == 0" (identifier "uVar24") (== "==") (number_literal "0")) () ")")))) (& "&") (number_literal "0xffffff82")) () ")")) (+ "+") (number_literal "0x2d"))) (; ";")) (expression_statement "uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;" (assignment_expression "uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91" (identifier "uVar44") (= "=") (binary_expression "(-(uint)(uVar24 == 0) & 0xffffff82) + 0x91" (parenthesized_expression "(-(uint)(uVar24 == 0) & 0xffffff82)" (( "(") (binary_expression "-(uint)(uVar24 == 0) & 0xffffff82" (unary_expression "-(uint)(uVar24 == 0)" (- "-") (call_expression "(uint)(uVar24 == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar24 == 0)" (( "(") (binary_expression "uVar24 == 0" (identifier "uVar24") (== "==") (number_literal "0")) () ")")))) (& "&") (number_literal "0xffffff82")) () ")")) (+ "+") (number_literal "0x91"))) (; ";")) (} "}")) (else_clause "else {\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }" (else "else") (compound_statement "{\n      uVar32 = 0xffffff8e;\n      uVar44 = 0x13;\n      local_f0 = 0xffffffaf;\n    }" ({ "{") (expression_statement "uVar32 = 0xffffff8e;" (assignment_expression "uVar32 = 0xffffff8e" (identifier "uVar32") (= "=") (number_literal "0xffffff8e")) (; ";")) (expression_statement "uVar44 = 0x13;" (assignment_expression "uVar44 = 0x13" (identifier "uVar44") (= "=") (number_literal "0x13")) (; ";")) (expression_statement "local_f0 = 0xffffffaf;" (assignment_expression "local_f0 = 0xffffffaf" (identifier "local_f0") (= "=") (number_literal "0xffffffaf")) (; ";")) (} "}"))))) (expression_statement "uStack_80 = 0;" (assignment_expression "uStack_80 = 0" (identifier "uStack_80") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_7c = 0;" (assignment_expression "uStack_7c = 0" (identifier "uStack_7c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_ce = 0;" (assignment_expression "local_ce = 0" (identifier "local_ce") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_b8 = (ulong)(param_3 == 9);" (assignment_expression "local_b8 = (ulong)(param_3 == 9)" (identifier "local_b8") (= "=") (call_expression "(ulong)(param_3 == 9)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(param_3 == 9)" (( "(") (binary_expression "param_3 == 9" (identifier "param_3") (== "==") (number_literal "9")) () ")")))) (; ";")) (labeled_statement "LAB_002c1b2f:\n    local_84 = uVar44;" (statement_identifier "LAB_002c1b2f") (: ":") (expression_statement "local_84 = uVar44;" (assignment_expression "local_84 = uVar44" (identifier "local_84") (= "=") (identifier "uVar44")) (; ";"))) (if_statement "if (((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;" (if "if") (parenthesized_expression "(((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0))" (( "(") (binary_expression "((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)" (parenthesized_expression "((uint)uVar32 < 0x29)" (( "(") (binary_expression "(uint)uVar32 < 0x29" (cast_expression "(uint)uVar32" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar32")) (< "<") (number_literal "0x29")) () ")")) (&& "&&") (parenthesized_expression "((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)" (( "(") (binary_expression "(0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0" (parenthesized_expression "(0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1)" (( "(") (binary_expression "0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1" (binary_expression "0x1b3e1fff3ffU >> (uVar32 & 0x3f)" (number_literal "0x1b3e1fff3ffU") (>> ">>") (parenthesized_expression "(uVar32 & 0x3f)" (( "(") (binary_expression "uVar32 & 0x3f" (identifier "uVar32") (& "&") (number_literal "0x3f")) () ")"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_002c1d4a;" (goto "goto") (statement_identifier "LAB_002c1d4a") (; ";"))) (} "}")))) (expression_statement "uStack_80 = 0;" (assignment_expression "uStack_80 = 0" (identifier "uStack_80") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_7c = 0;" (assignment_expression "uStack_7c = 0" (identifier "uStack_7c") (= "=") (number_literal "0")) (; ";")) (expression_statement "unaff_R13 = &local_84;" (assignment_expression "unaff_R13 = &local_84" (identifier "unaff_R13") (= "=") (pointer_expression "&local_84" (& "&") (identifier "local_84"))) (; ";")) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_e4 = 0;" (assignment_expression "local_e4 = 0" (identifier "local_e4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_d8 = (uint *)&local_78;" (assignment_expression "local_d8 = (uint *)&local_78" (identifier "local_d8") (= "=") (cast_expression "(uint *)&local_78" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_78" (& "&") (identifier "local_78")))) (; ";")) (expression_statement "uVar44 = local_84;" (assignment_expression "uVar44 = local_84" (identifier "uVar44") (= "=") (identifier "local_84")) (; ";")) (expression_statement "uVar18 = local_84;" (assignment_expression "uVar18 = local_84" (identifier "uVar18") (= "=") (identifier "local_84")) (; ";")) (while_statement "while (local_c8 = &local_78, uVar18 != 0) {\n    bVar45 = local_bc == iVar3;\n    bVar48 = cVar11 != '\0';\n    bVar14 = bVar45 && bVar48;\n    puVar34 = param_1;\n    if (*(char *)((long)param_1 + 4) == '\0') {\n      *(byte *)((long)param_1 + 4) = bVar14;\n      switch(uVar18) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }\n    }\n    local_cc = (uint)*param_1;\n    *(byte *)((long)param_1 + 4) = bVar14;\n    local_b0 = local_cc;\n    switch(uVar18) {\n    default:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);\n      break;\n    case 1:\n      local_b8 = 0;\n      local_b0 = local_cc;\nLAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar14 != 0) goto LAB_002c1f30;\n      *(ushort *)param_10 = (ushort)uVar36;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);\n      if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }\n      if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }\n      break;\n    case 3:\nswitchD_002c14fa_caseD_3:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");\n    case 4:\n    case 100:\n    case 0x85:\n      local_b8 = 0;\n      bVar42 = (!bVar45 || !bVar48) & local_cf;\n      uVar17 = (uint)*param_10;\n      goto LAB_002c38d3;\n    case 5:\n    case 0x68:\n    case 0x86:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }\n      break;\n    case 6:\n    case 0x69:\n    case 0x87:\n    case 0x9d:\n      local_b8 = 0;\n      local_108 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }\n      if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\nLAB_002c1ebf:\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;\n      break;\n    case 7:\n    case 8:\n    case 0x65:\n    case 0x88:\n    case 0x89:\n    case 0xac:\n      lVar31 = *(long *)(param_4 + 0x28);\n      if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }\n      local_b8 = 0;\n      iVar35 = 0;\n      uVar17 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar21 - iVar35;\n      if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }\n      uVar20 = (uVar36 ^ uVar17) & 0xffff;\n      if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar17 ^ uVar20;\n      if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }\n      goto LAB_002c1fd6;\n    case 9:\n    case 0x66:\n    case 0x8a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case 10:\n      local_b8 = 0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }\n      break;\n    case 0xb:\n    case 0x67:\n    case 0x8e:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;\n    case 0xc:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);\n      goto joined_r0x002c327b;\n    case 0x12:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);\n      if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }\n      break;\n    case 0x13:\n    case 0x91:\n    case 0xf9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }\n      if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }\n      local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n      if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }\n      if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;\n      goto LAB_002c1fd4;\n    case 0x14:\n    case 0x92:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) goto LAB_002c4726;\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }\n      if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }\n      uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);\n      if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;\n      goto LAB_002c2590;\n    case 0x15:\n    case 0x93:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;\n      local_b0 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }\n      if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }\n      break;\n    case 0x16:\n    case 0x1e:\n    case 0x94:\n    case 0x99:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }\n      goto LAB_002c46d8;\n    case 0x17:\n    case 0x1f:\n    case 0x95:\n    case 0x9a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }\nLAB_002c4792:\n      FUN_00290940();\nLAB_002c4797:\n      FUN_00290940();\nLAB_002c479c:\n      FUN_00290940();\nLAB_002c47a1:\n      FUN_00290940();\nLAB_002c47a6:\n      FUN_00290940();\n                    \n      uVar22 = FUN_0017eb9a();\n      return uVar22;\n    case 0x18:\n    case 0x96:\n      local_b8 = 0;\nLAB_002c2efa:\n      uVar18 = -local_b0;\nLAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      if (bVar14 != '\0') goto LAB_002c1f30;\n      uVar17 = 0;\n      *param_10 = (ulong)uVar36;\n      break;\n    case 0x1c:\n    case 0x97:\n      local_b8 = 0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }\n      uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);\n      goto joined_r0x002c1f7e;\n    case 0x1d:\n    case 0x98:\n      local_b8 = 0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar36 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }\n      FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }\n      uVar36 = uVar36 & 0xffff0000;\n      goto LAB_002c1fd0;\n    case 0x25:\n    case 0x9c:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }\n      uVar17 = (uint)*param_10;\n      uVar36 = uVar17;\n      if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }\n      if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }\n      break;\n    case 0x27:\n    case 0x29:\n      goto switchD_002c14fa_caseD_27;\n    case 0x2a:\n    case 0x6a:\n    case 0xa2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }\n      FUN_00290940();\nswitchD_002c14fa_caseD_27:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_27:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      goto joined_r0x002c327b;\n    case 0x2b:\n    case 0x6b:\n    case 0xa3:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }\n      if (lVar25 == 0) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }\n      local_e4 = *(uint *)(lVar25 + 0x14);\n      uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\nLAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;\n      uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;\nLAB_002c2590:\n      *(uint *)param_10 = uVar18;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 0x2c:\n    case 0x6c:\n    case 0xa4:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      goto LAB_002c1f79;\n    case 0x2d:\n    case 0x6d:\n    case 0xa5:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x2e:\n    case 0x6e:\n    case 0xa6:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) goto LAB_002c2030;\n      goto LAB_002c47a1;\n    case 0x2f:\n    case 0x30:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    case 0x31:\n    case 0x6f:\n    case 0xa9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      uVar36 = iVar35 + 0x1000;\nLAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;\njoined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;\n      break;\n    case 0x32:\n    case 0x70:\n    case 0xaa:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x3c:\n      local_b8 = 0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }\n      break;\n    case 0x3d:\n      local_b8 = 0;\nLAB_002c304d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }\n      break;\n    case 0x3e:\n      local_b8 = 0;\nLAB_002c3104:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - (param_11 & 0xfffffff8);\n      uVar36 = uVar20 >> 3;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar32 = uVar32 & 7;\njoined_r0x002c324e:\n      uVar17 = 3;\n      if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }\n      break;\n    case 0x3f:\n      local_b8 = 0;\nLAB_002c31c0:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - param_11;\n      uVar36 = uVar20 >> 2;\n      if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }\nLAB_002c1f30:\n      uVar17 = 0;\n      *(uint *)param_1 = uVar36;\n      break;\n    case 0x40:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case 0x41:\n      local_b8 = 0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }\n      if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      break;\n    case 0x8b:\n      local_b8 = 0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }\n      break;\n    case 0x8c:\n      local_b8 = 0;\nLAB_002c328d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;\n      uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);\n      break;\n    case 0x8d:\n      local_b8 = 0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);\n      break;\n    case 0xf8:\n      local_b8 = 0;\nLAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\njoined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;\nLAB_002c1fd0:\n      puVar34 = param_10;\nLAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;\nLAB_002c1fd6:\n      uVar17 = 0;\n    }\nLAB_002c1e60:\n    unaff_R13 = unaff_R13 + 1;\n    if (local_d8 == unaff_R13) break;\n    uVar18 = *unaff_R13;\n  }" (while "while") (parenthesized_expression "(local_c8 = &local_78, uVar18 != 0)" (( "(") (comma_expression "local_c8 = &local_78, uVar18 != 0" (assignment_expression "local_c8 = &local_78" (identifier "local_c8") (= "=") (pointer_expression "&local_78" (& "&") (identifier "local_78"))) (, ",") (binary_expression "uVar18 != 0" (identifier "uVar18") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n    bVar45 = local_bc == iVar3;\n    bVar48 = cVar11 != '\0';\n    bVar14 = bVar45 && bVar48;\n    puVar34 = param_1;\n    if (*(char *)((long)param_1 + 4) == '\0') {\n      *(byte *)((long)param_1 + 4) = bVar14;\n      switch(uVar18) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }\n    }\n    local_cc = (uint)*param_1;\n    *(byte *)((long)param_1 + 4) = bVar14;\n    local_b0 = local_cc;\n    switch(uVar18) {\n    default:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);\n      break;\n    case 1:\n      local_b8 = 0;\n      local_b0 = local_cc;\nLAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar14 != 0) goto LAB_002c1f30;\n      *(ushort *)param_10 = (ushort)uVar36;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);\n      if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }\n      if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }\n      break;\n    case 3:\nswitchD_002c14fa_caseD_3:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");\n    case 4:\n    case 100:\n    case 0x85:\n      local_b8 = 0;\n      bVar42 = (!bVar45 || !bVar48) & local_cf;\n      uVar17 = (uint)*param_10;\n      goto LAB_002c38d3;\n    case 5:\n    case 0x68:\n    case 0x86:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }\n      break;\n    case 6:\n    case 0x69:\n    case 0x87:\n    case 0x9d:\n      local_b8 = 0;\n      local_108 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }\n      if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\nLAB_002c1ebf:\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;\n      break;\n    case 7:\n    case 8:\n    case 0x65:\n    case 0x88:\n    case 0x89:\n    case 0xac:\n      lVar31 = *(long *)(param_4 + 0x28);\n      if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }\n      local_b8 = 0;\n      iVar35 = 0;\n      uVar17 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar21 - iVar35;\n      if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }\n      uVar20 = (uVar36 ^ uVar17) & 0xffff;\n      if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar17 ^ uVar20;\n      if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }\n      goto LAB_002c1fd6;\n    case 9:\n    case 0x66:\n    case 0x8a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case 10:\n      local_b8 = 0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }\n      break;\n    case 0xb:\n    case 0x67:\n    case 0x8e:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;\n    case 0xc:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);\n      goto joined_r0x002c327b;\n    case 0x12:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);\n      if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }\n      break;\n    case 0x13:\n    case 0x91:\n    case 0xf9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }\n      if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }\n      local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n      if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }\n      if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;\n      goto LAB_002c1fd4;\n    case 0x14:\n    case 0x92:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) goto LAB_002c4726;\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }\n      if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }\n      uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);\n      if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;\n      goto LAB_002c2590;\n    case 0x15:\n    case 0x93:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;\n      local_b0 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }\n      if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }\n      break;\n    case 0x16:\n    case 0x1e:\n    case 0x94:\n    case 0x99:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }\n      goto LAB_002c46d8;\n    case 0x17:\n    case 0x1f:\n    case 0x95:\n    case 0x9a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }\nLAB_002c4792:\n      FUN_00290940();\nLAB_002c4797:\n      FUN_00290940();\nLAB_002c479c:\n      FUN_00290940();\nLAB_002c47a1:\n      FUN_00290940();\nLAB_002c47a6:\n      FUN_00290940();\n                    \n      uVar22 = FUN_0017eb9a();\n      return uVar22;\n    case 0x18:\n    case 0x96:\n      local_b8 = 0;\nLAB_002c2efa:\n      uVar18 = -local_b0;\nLAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      if (bVar14 != '\0') goto LAB_002c1f30;\n      uVar17 = 0;\n      *param_10 = (ulong)uVar36;\n      break;\n    case 0x1c:\n    case 0x97:\n      local_b8 = 0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }\n      uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);\n      goto joined_r0x002c1f7e;\n    case 0x1d:\n    case 0x98:\n      local_b8 = 0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar36 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }\n      FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }\n      uVar36 = uVar36 & 0xffff0000;\n      goto LAB_002c1fd0;\n    case 0x25:\n    case 0x9c:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }\n      uVar17 = (uint)*param_10;\n      uVar36 = uVar17;\n      if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }\n      if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }\n      break;\n    case 0x27:\n    case 0x29:\n      goto switchD_002c14fa_caseD_27;\n    case 0x2a:\n    case 0x6a:\n    case 0xa2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }\n      FUN_00290940();\nswitchD_002c14fa_caseD_27:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_27:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      goto joined_r0x002c327b;\n    case 0x2b:\n    case 0x6b:\n    case 0xa3:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }\n      if (lVar25 == 0) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }\n      local_e4 = *(uint *)(lVar25 + 0x14);\n      uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\nLAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;\n      uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;\nLAB_002c2590:\n      *(uint *)param_10 = uVar18;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 0x2c:\n    case 0x6c:\n    case 0xa4:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      goto LAB_002c1f79;\n    case 0x2d:\n    case 0x6d:\n    case 0xa5:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x2e:\n    case 0x6e:\n    case 0xa6:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) goto LAB_002c2030;\n      goto LAB_002c47a1;\n    case 0x2f:\n    case 0x30:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    case 0x31:\n    case 0x6f:\n    case 0xa9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      uVar36 = iVar35 + 0x1000;\nLAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;\njoined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;\n      break;\n    case 0x32:\n    case 0x70:\n    case 0xaa:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x3c:\n      local_b8 = 0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }\n      break;\n    case 0x3d:\n      local_b8 = 0;\nLAB_002c304d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }\n      break;\n    case 0x3e:\n      local_b8 = 0;\nLAB_002c3104:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - (param_11 & 0xfffffff8);\n      uVar36 = uVar20 >> 3;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar32 = uVar32 & 7;\njoined_r0x002c324e:\n      uVar17 = 3;\n      if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }\n      break;\n    case 0x3f:\n      local_b8 = 0;\nLAB_002c31c0:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - param_11;\n      uVar36 = uVar20 >> 2;\n      if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }\nLAB_002c1f30:\n      uVar17 = 0;\n      *(uint *)param_1 = uVar36;\n      break;\n    case 0x40:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case 0x41:\n      local_b8 = 0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }\n      if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      break;\n    case 0x8b:\n      local_b8 = 0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }\n      break;\n    case 0x8c:\n      local_b8 = 0;\nLAB_002c328d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;\n      uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);\n      break;\n    case 0x8d:\n      local_b8 = 0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);\n      break;\n    case 0xf8:\n      local_b8 = 0;\nLAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\njoined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;\nLAB_002c1fd0:\n      puVar34 = param_10;\nLAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;\nLAB_002c1fd6:\n      uVar17 = 0;\n    }\nLAB_002c1e60:\n    unaff_R13 = unaff_R13 + 1;\n    if (local_d8 == unaff_R13) break;\n    uVar18 = *unaff_R13;\n  }" ({ "{") (expression_statement "bVar45 = local_bc == iVar3;" (assignment_expression "bVar45 = local_bc == iVar3" (identifier "bVar45") (= "=") (binary_expression "local_bc == iVar3" (identifier "local_bc") (== "==") (identifier "iVar3"))) (; ";")) (expression_statement "bVar48 = cVar11 != '\0';" (assignment_expression "bVar48 = cVar11 != '\0'" (identifier "bVar48") (= "=") (binary_expression "cVar11 != '\0'" (identifier "cVar11") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) (; ";")) (expression_statement "bVar14 = bVar45 && bVar48;" (assignment_expression "bVar14 = bVar45 && bVar48" (identifier "bVar14") (= "=") (binary_expression "bVar45 && bVar48" (identifier "bVar45") (&& "&&") (identifier "bVar48"))) (; ";")) (expression_statement "puVar34 = param_1;" (assignment_expression "puVar34 = param_1" (identifier "puVar34") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (*(char *)((long)param_1 + 4) == '\0') {\n      *(byte *)((long)param_1 + 4) = bVar14;\n      switch(uVar18) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }\n    }" (if "if") (parenthesized_expression "(*(char *)((long)param_1 + 4) == '\0')" (( "(") (binary_expression "*(char *)((long)param_1 + 4) == '\0'" (pointer_expression "*(char *)((long)param_1 + 4)" (* "*") (cast_expression "(char *)((long)param_1 + 4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 4)" (( "(") (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "4")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      *(byte *)((long)param_1 + 4) = bVar14;\n      switch(uVar18) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }\n    }" ({ "{") (expression_statement "*(byte *)((long)param_1 + 4) = bVar14;" (assignment_expression "*(byte *)((long)param_1 + 4) = bVar14" (pointer_expression "*(byte *)((long)param_1 + 4)" (* "*") (cast_expression "(byte *)((long)param_1 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 4)" (( "(") (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "bVar14")) (; ";")) (switch_statement "switch(uVar18) {\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }" (switch "switch") (parenthesized_expression "(uVar18)" (( "(") (identifier "uVar18") () ")")) (compound_statement "{\n      default:\n        goto switchD_002c18c9_caseD_0;\n      case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;\n      case 2:\n        goto switchD_002c18c9_caseD_2;\n      case 3:\n        goto switchD_002c14fa_caseD_3;\n      case 4:\n      case 100:\n      case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;\n      case 5:\n      case 0x68:\n      case 0x86:\n        goto switchD_002c18c9_caseD_5;\n      case 6:\n      case 0x69:\n      case 0x87:\n      case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;\n      case 7:\n      case 8:\n      case 0x65:\n      case 0x88:\n      case 0x89:\n      case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;\n      case 9:\n      case 0x66:\n      case 0x8a:\n        goto switchD_002c18c9_caseD_9;\n      case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;\n      case 0xb:\n      case 0x67:\n      case 0x8e:\n        goto switchD_002c18c9_caseD_b;\n      case 0xc:\n        goto switchD_002c18c9_caseD_c;\n      case 0x12:\n        goto switchD_002c18c9_caseD_12;\n      case 0x13:\n      case 0x91:\n      case 0xf9:\n        goto switchD_002c18c9_caseD_13;\n      case 0x14:\n      case 0x92:\n        goto switchD_002c18c9_caseD_14;\n      case 0x15:\n      case 0x93:\n        goto switchD_002c18c9_caseD_15;\n      case 0x16:\n      case 0x1e:\n      case 0x94:\n      case 0x99:\n        goto switchD_002c18c9_caseD_16;\n      case 0x17:\n      case 0x1f:\n      case 0x95:\n      case 0x9a:\n        goto switchD_002c18c9_caseD_17;\n      case 0x18:\n      case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;\n      case 0x1c:\n      case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;\n      case 0x1d:\n      case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;\n      case 0x25:\n      case 0x9c:\n        goto switchD_002c18c9_caseD_25;\n      case 0x27:\n      case 0x29:\n        goto switchD_002c18c9_caseD_27;\n      case 0x2a:\n      case 0x6a:\n      case 0xa2:\n        goto switchD_002c18c9_caseD_2a;\n      case 0x2b:\n      case 0x6b:\n      case 0xa3:\n        goto switchD_002c18c9_caseD_2b;\n      case 0x2c:\n      case 0x6c:\n      case 0xa4:\n        goto switchD_002c18c9_caseD_2c;\n      case 0x2d:\n      case 0x6d:\n      case 0xa5:\n        goto switchD_002c18c9_caseD_2d;\n      case 0x2e:\n      case 0x6e:\n      case 0xa6:\n        goto switchD_002c18c9_caseD_2e;\n      case 0x2f:\n      case 0x30:\n        goto switchD_002c18c9_caseD_2f;\n      case 0x31:\n      case 0x6f:\n      case 0xa9:\n        goto switchD_002c18c9_caseD_31;\n      case 0x32:\n      case 0x70:\n      case 0xaa:\n        goto switchD_002c18c9_caseD_32;\n      case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;\n      case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;\n      case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;\n      case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;\n      case 0x40:\n        goto switchD_002c18c9_caseD_40;\n      case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;\n      case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;\n      case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;\n      case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;\n      case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;\n      }" ({ "{") (case_statement "default:\n        goto switchD_002c18c9_caseD_0;" (default "default") (: ":") (goto_statement "goto switchD_002c18c9_caseD_0;" (goto "goto") (statement_identifier "switchD_002c18c9_caseD_0") (; ";"))) (case_statement "case 1:\n        uVar30 = (ushort)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }\n        goto LAB_002c359b;" (case "case") (number_literal "1") (: ":") (expression_statement "uVar30 = (ushort)*param_10;" (assignment_expression "uVar30 = (ushort)*param_10" (identifier "uVar30") (= "=") (binary_expression "(ushort)*param_10" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (* "*") (identifier "param_10"))) (; ";")) (if_statement "if ((char)local_b8 == '\0') {\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }\n        else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }" (if "if") (parenthesized_expression "((char)local_b8 == '\0')" (( "(") (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_002c46aa:\n          local_b0 = local_cc;\n        }" ({ "{") (labeled_statement "LAB_002c46aa:\n          local_b0 = local_cc;" (statement_identifier "LAB_002c46aa") (: ":") (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" (identifier "local_b0") (= "=") (identifier "local_cc")) (; ";"))) (} "}")) (else_clause "else {\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }" (else "else") (compound_statement "{\n          local_b0 = (uint)uVar30;\n          if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }\n        }" ({ "{") (expression_statement "local_b0 = (uint)uVar30;" (assignment_expression "local_b0 = (uint)uVar30" (identifier "local_b0") (= "=") (cast_expression "(uint)uVar30" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar30"))) (; ";")) (if_statement "if ((short)uVar30 < 0) {\n            local_b0 = uVar30 - 0x10000;\n          }" (if "if") (parenthesized_expression "((short)uVar30 < 0)" (( "(") (binary_expression "(short)uVar30 < 0" (cast_expression "(short)uVar30" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (identifier "uVar30")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            local_b0 = uVar30 - 0x10000;\n          }" ({ "{") (expression_statement "local_b0 = uVar30 - 0x10000;" (assignment_expression "local_b0 = uVar30 - 0x10000" (identifier "local_b0") (= "=") (binary_expression "uVar30 - 0x10000" (identifier "uVar30") (- "-") (number_literal "0x10000"))) (; ";")) (} "}"))) (} "}")))) (goto_statement "goto LAB_002c359b;" (goto "goto") (statement_identifier "LAB_002c359b") (; ";"))) (case_statement "case 2:\n        goto switchD_002c18c9_caseD_2;" (case "case") (number_literal "2") (: ":") (goto_statement "goto switchD_002c18c9_caseD_2;" (goto "goto") (statement_identifier "switchD_002c18c9_caseD_2") (; ";"))) (case_statement "case 3:\n        goto switchD_002c14fa_caseD_3;" (case "case") (number_literal "3") (: ":") (goto_statement "goto switchD_002c14fa_caseD_3;" (goto "goto") (statement_identifier "switchD_002c14fa_caseD_3") (; ";"))) (case_statement "case 4:" (case "case") (number_literal "4") (: ":")) (case_statement "case 100:" (case "case") (number_literal "100") (: ":")) (case_statement "case 0x85:\n        bVar42 = (!bVar45 || !bVar48) & local_cf;\n        local_b0 = local_cc;\n        uVar17 = (uint)*param_10;\n        if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }\n        goto LAB_002c1e60;" (case "case") (number_literal "0x85") (: ":") (expression_statement "bVar42 = (!bVar45 || !bVar48) & local_cf;" (assignment_expression "bVar42 = (!bVar45 || !bVar48) & local_cf" (identifier "bVar42") (= "=") (binary_expression "(!bVar45 || !bVar48) & local_cf" (parenthesized_expression "(!bVar45 || !bVar48)" (( "(") (binary_expression "!bVar45 || !bVar48" (unary_expression "!bVar45" (! "!") (identifier "bVar45")) (|| "||") (unary_expression "!bVar48" (! "!") (identifier "bVar48"))) () ")")) (& "&") (identifier "local_cf"))) (; ";")) (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" (identifier "local_b0") (= "=") (identifier "local_cc")) (; ";")) (expression_statement "uVar17 = (uint)*param_10;" (assignment_expression "uVar17 = (uint)*param_10" (identifier "uVar17") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (if_statement "if ((char)local_b8 == '\0') {\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }\n        else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }" (if "if") (parenthesized_expression "((char)local_b8 == '\0')" (( "(") (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }\nLAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);\n          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;\n          uVar22 = gettext("JALX to a non-word-aligned address");\n          FUN_0034a800(uVar22);\nLAB_002c413e:\n          uVar17 = 2;\n        }" ({ "{") (labeled_statement "LAB_002c38d3:\n          if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }" (statement_identifier "LAB_002c38d3") (: ":") (if_statement "if (bVar42 == 0) {\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }" (if "if") (parenthesized_expression "(bVar42 == 0)" (( "(") (binary_expression "bVar42 == 0" (identifier "bVar42") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;\n            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;\n            if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }\n            local_118 = 1;\n            uVar36 = local_b0 & 0x7ffffff;\n            if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }\n            goto LAB_002c3505;\n          }" ({ "{") (labeled_statement "LAB_002c38db:\n            bVar46 = param_8 == (undefined8 *)0x0;" (statement_identifier "LAB_002c38db") (: ":") (expression_statement "bVar46 = param_8 == (undefined8 *)0x0;" (assignment_expression "bVar46 = param_8 == (undefined8 *)0x0" (identifier "bVar46") (= "=") (binary_expression "param_8 == (undefined8 *)0x0" (identifier "param_8") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";"))) (if_statement "if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;" (if "if") (parenthesized_expression "((local_cf == 1) || (uVar18 != 0x85))" (( "(") (binary_expression "(local_cf == 1) || (uVar18 != 0x85)" (parenthesized_expression "(local_cf == 1)" (( "(") (binary_expression "local_cf == 1" (identifier "local_cf") (== "==") (number_literal "1")) () ")")) (|| "||") (parenthesized_expression "(uVar18 != 0x85)" (( "(") (binary_expression "uVar18 != 0x85" (identifier "uVar18") (!= "!=") (number_literal "0x85")) () ")"))) () ")")) (goto_statement "goto LAB_002c34d9;" (goto "goto") (statement_identifier "LAB_002c34d9") (; ";"))) (if_statement "if (bVar46) {\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }" (if "if") (parenthesized_expression "(bVar46)" (( "(") (identifier "bVar46") () ")")) (compound_statement "{\n              local_118 = 1;\n              uVar36 = 0xf8000000;\n              goto LAB_002c34f1;\n            }" ({ "{") (expression_statement "local_118 = 1;" (assignment_expression "local_118 = 1" (identifier "local_118") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar36 = 0xf8000000;" (assignment_expression "uVar36 = 0xf8000000" (identifier "uVar36") (= "=") (number_literal "0xf8000000")) (; ";")) (goto_statement "goto LAB_002c34f1;" (goto "goto") (statement_identifier "LAB_002c34f1") (; ";")) (} "}"))) (expression_statement "local_118 = 1;" (assignment_expression "local_118 = 1" (identifier "local_118") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar36 = local_b0 & 0x7ffffff;" (assignment_expression "uVar36 = local_b0 & 0x7ffffff" (identifier "uVar36") (= "=") (binary_expression "local_b0 & 0x7ffffff" (identifier "local_b0") (& "&") (number_literal "0x7ffffff"))) (; ";")) (if_statement "if ((local_b0 & 0x4000000) != 0) {\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }" (if "if") (parenthesized_expression "((local_b0 & 0x4000000) != 0)" (( "(") (binary_expression "(local_b0 & 0x4000000) != 0" (parenthesized_expression "(local_b0 & 0x4000000)" (( "(") (binary_expression "local_b0 & 0x4000000" (identifier "local_b0") (& "&") (number_literal "0x4000000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;\n            }" ({ "{") (expression_statement "uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;" (assignment_expression "uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000" (identifier "uVar36") (= "=") (binary_expression "(local_b0 & 0x7ffffff) + 0xf8000000" (parenthesized_expression "(local_b0 & 0x7ffffff)" (( "(") (binary_expression "local_b0 & 0x7ffffff" (identifier "local_b0") (& "&") (number_literal "0x7ffffff")) () ")")) (+ "+") (number_literal "0xf8000000"))) (; ";")) (} "}"))) (goto_statement "goto LAB_002c3505;" (goto "goto") (statement_identifier "LAB_002c3505") (; ";")) (} "}")))) (labeled_statement "LAB_002c40ff:\n          bVar42 = FUN_001a5ac0(param_9,plVar6,0);" (statement_identifier "LAB_002c40ff") (: ":") (expression_statement "bVar42 = FUN_001a5ac0(param_9,plVar6,0);" (assignment_expression "bVar42 = FUN_001a5ac0(param_9,plVar6,0)" (identifier "bVar42") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (number_literal "0") () ")")))) (; ";"))) (if_statement "if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;" (if "if") (parenthesized_expression "((bool)(bVar42 & 3) == (uVar18 == 4))" (( "(") (binary_expression "(bool)(bVar42 & 3) == (uVar18 == 4)" (cast_expression "(bool)(bVar42 & 3)" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (parenthesized_expression "(bVar42 & 3)" (( "(") (binary_expression "bVar42 & 3" (identifier "bVar42") (& "&") (number_literal "3")) () ")"))) (== "==") (parenthesized_expression "(uVar18 == 4)" (( "(") (binary_expression "uVar18 == 4" (identifier "uVar18") (== "==") (number_literal "4")) () ")"))) () ")")) (goto_statement "goto LAB_002c38db;" (goto "goto") (statement_identifier "LAB_002c38db") (; ";"))) (expression_statement "uVar22 = gettext("JALX to a non-word-aligned address");" (assignment_expression "uVar22 = gettext("JALX to a non-word-aligned address")" (identifier "uVar22") (= "=") (call_expression "gettext("JALX to a non-word-aligned address")" (identifier "gettext") (argument_list "("JALX to a non-word-aligned address")" (( "(") (string_literal ""JALX to a non-word-aligned address"" (" """) (string_content "JALX to a non-word-aligned address") (" """)) () ")")))) (; ";")) (expression_statement "FUN_0034a800(uVar22);" (call_expression "FUN_0034a800(uVar22)" (identifier "FUN_0034a800") (argument_list "(uVar22)" (( "(") (identifier "uVar22") () ")"))) (; ";")) (labeled_statement "LAB_002c413e:\n          uVar17 = 2;" (statement_identifier "LAB_002c413e") (: ":") (expression_statement "uVar17 = 2;" (assignment_expression "uVar17 = 2" (identifier "uVar17") (= "=") (number_literal "2")) (; ";"))) (} "}")) (else_clause "else {\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }" (else "else") (compound_statement "{\n          if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }\n          local_b0 = (uVar17 & 0x3ffffff) << 2;\n          if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }\nLAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;\n          if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }\nLAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);\n          if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }\n          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;\n          if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }\n          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\n          }\n          if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }\n        }" ({ "{") (if_statement "if (uVar18 == 0x85) {\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }" (if "if") (parenthesized_expression "(uVar18 == 0x85)" (( "(") (binary_expression "uVar18 == 0x85" (identifier "uVar18") (== "==") (number_literal "0x85")) () ")")) (compound_statement "{\n            local_b0 = uVar17 * 2 & 0x7fffffe;\n            goto LAB_002c38d3;\n          }" ({ "{") (expression_statement "local_b0 = uVar17 * 2 & 0x7fffffe;" (assignment_expression "local_b0 = uVar17 * 2 & 0x7fffffe" (identifier "local_b0") (= "=") (binary_expression "uVar17 * 2 & 0x7fffffe" (binary_expression "uVar17 * 2" (identifier "uVar17") (* "*") (number_literal "2")) (& "&") (number_literal "0x7fffffe"))) (; ";")) (goto_statement "goto LAB_002c38d3;" (goto "goto") (statement_identifier "LAB_002c38d3") (; ";")) (} "}"))) (expression_statement "local_b0 = (uVar17 & 0x3ffffff) << 2;" (assignment_expression "local_b0 = (uVar17 & 0x3ffffff) << 2" (identifier "local_b0") (= "=") (binary_expression "(uVar17 & 0x3ffffff) << 2" (parenthesized_expression "(uVar17 & 0x3ffffff)" (( "(") (binary_expression "uVar17 & 0x3ffffff" (identifier "uVar17") (& "&") (number_literal "0x3ffffff")) () ")")) (<< "<<") (number_literal "2"))) (; ";")) (if_statement "if (bVar42 != 0) {\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }" (if "if") (parenthesized_expression "(bVar42 != 0)" (( "(") (binary_expression "bVar42 != 0" (identifier "bVar42") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            local_b8 = (ulong)bVar42;\n            goto LAB_002c40ff;\n          }" ({ "{") (expression_statement "local_b8 = (ulong)bVar42;" (assignment_expression "local_b8 = (ulong)bVar42" (identifier "local_b8") (= "=") (cast_expression "(ulong)bVar42" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar42"))) (; ";")) (goto_statement "goto LAB_002c40ff;" (goto "goto") (statement_identifier "LAB_002c40ff") (; ";")) (} "}"))) (labeled_statement "LAB_002c34d9:\n          bVar46 = param_8 == (undefined8 *)0x0;" (statement_identifier "LAB_002c34d9") (: ":") (expression_statement "bVar46 = param_8 == (undefined8 *)0x0;" (assignment_expression "bVar46 = param_8 == (undefined8 *)0x0" (identifier "bVar46") (= "=") (binary_expression "param_8 == (undefined8 *)0x0" (identifier "param_8") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";"))) (if_statement "if (bVar46) {\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }\n          else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }" (if "if") (parenthesized_expression "(bVar46)" (( "(") (identifier "bVar46") () ")")) (compound_statement "{\n            local_118 = 2;\n            uVar36 = 0xf0000000;\nLAB_002c34f1:\n            bVar46 = true;\n            uVar36 = param_11 + 4 & uVar36 | local_b0;\n          }" ({ "{") (expression_statement "local_118 = 2;" (assignment_expression "local_118 = 2" (identifier "local_118") (= "=") (number_literal "2")) (; ";")) (expression_statement "uVar36 = 0xf0000000;" (assignment_expression "uVar36 = 0xf0000000" (identifier "uVar36") (= "=") (number_literal "0xf0000000")) (; ";")) (labeled_statement "LAB_002c34f1:\n            bVar46 = true;" (statement_identifier "LAB_002c34f1") (: ":") (expression_statement "bVar46 = true;" (assignment_expression "bVar46 = true" (identifier "bVar46") (= "=") (true "true")) (; ";"))) (expression_statement "uVar36 = param_11 + 4 & uVar36 | local_b0;" (assignment_expression "uVar36 = param_11 + 4 & uVar36 | local_b0" (identifier "uVar36") (= "=") (binary_expression "param_11 + 4 & uVar36 | local_b0" (binary_expression "param_11 + 4 & uVar36" (binary_expression "param_11 + 4" (identifier "param_11") (+ "+") (number_literal "4")) (& "&") (identifier "uVar36")) (| "|") (identifier "local_b0"))) (; ";")) (} "}")) (else_clause "else {\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }" (else "else") (compound_statement "{\n            local_118 = 2;\n            uVar36 = local_b0 & 0xfffffff;\n            if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }\n          }" ({ "{") (expression_statement "local_118 = 2;" (assignment_expression "local_118 = 2" (identifier "local_118") (= "=") (number_literal "2")) (; ";")) (expression_statement "uVar36 = local_b0 & 0xfffffff;" (assignment_expression "uVar36 = local_b0 & 0xfffffff" (identifier "uVar36") (= "=") (binary_expression "local_b0 & 0xfffffff" (identifier "local_b0") (& "&") (number_literal "0xfffffff"))) (; ";")) (if_statement "if ((local_b0 & 0x8000000) != 0) {\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }" (if "if") (parenthesized_expression "((local_b0 & 0x8000000) != 0)" (( "(") (binary_expression "(local_b0 & 0x8000000) != 0" (parenthesized_expression "(local_b0 & 0x8000000)" (( "(") (binary_expression "local_b0 & 0x8000000" (identifier "local_b0") (& "&") (number_literal "0x8000000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;\n            }" ({ "{") (expression_statement "uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;" (assignment_expression "uVar36 = (local_b0 & 0xfffffff) + 0xf0000000" (identifier "uVar36") (= "=") (binary_expression "(local_b0 & 0xfffffff) + 0xf0000000" (parenthesized_expression "(local_b0 & 0xfffffff)" (( "(") (binary_expression "local_b0 & 0xfffffff" (identifier "local_b0") (& "&") (number_literal "0xfffffff")) () ")")) (+ "+") (number_literal "0xf0000000"))) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_002c3505:\n          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);" (statement_identifier "LAB_002c3505") (: ":") (expression_statement "uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);" (assignment_expression "uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36)" (identifier "uVar36") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,uVar36)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,uVar36)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "uVar36") () ")")))) (; ";"))) (if_statement "if ((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }" (if "if") (parenthesized_expression "((((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f)))" (( "(") (binary_expression "(((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&\n             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))" (parenthesized_expression "(((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0'))" (( "(") (binary_expression "((!bVar45 || !bVar48) && (!bVar46)) &&\n              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')" (parenthesized_expression "((!bVar45 || !bVar48) && (!bVar46))" (( "(") (binary_expression "(!bVar45 || !bVar48) && (!bVar46)" (parenthesized_expression "(!bVar45 || !bVar48)" (( "(") (binary_expression "!bVar45 || !bVar48" (unary_expression "!bVar45" (! "!") (identifier "bVar45")) (|| "||") (unary_expression "!bVar48" (! "!") (identifier "bVar48"))) () ")")) (&& "&&") (parenthesized_expression "(!bVar46)" (( "(") (unary_expression "!bVar46" (! "!") (identifier "bVar46")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(cVar16 = FUN_002e7200(param_8), cVar16 == '\0')" (( "(") (comma_expression "cVar16 = FUN_002e7200(param_8), cVar16 == '\0'" (assignment_expression "cVar16 = FUN_002e7200(param_8)" (identifier "cVar16") (= "=") (call_expression "FUN_002e7200(param_8)" (identifier "FUN_002e7200") (argument_list "(param_8)" (( "(") (identifier "param_8") () ")")))) (, ",") (binary_expression "cVar16 == '\0'" (identifier "cVar16") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))" (( "(") (binary_expression "(uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f)" (binary_expression "(uVar36 >> local_118) >> 0x1a" (parenthesized_expression "(uVar36 >> local_118)" (( "(") (binary_expression "uVar36 >> local_118" (identifier "uVar36") (>> ">>") (identifier "local_118")) () ")")) (>> ">>") (number_literal "0x1a")) (!= "!=") (binary_expression "param_11 + 4 >> (local_118 + 0x1aU & 0x1f)" (binary_expression "param_11 + 4" (identifier "param_11") (+ "+") (number_literal "4")) (>> ">>") (parenthesized_expression "(local_118 + 0x1aU & 0x1f)" (( "(") (binary_expression "local_118 + 0x1aU & 0x1f" (binary_expression "local_118 + 0x1aU" (identifier "local_118") (+ "+") (number_literal "0x1aU")) (& "&") (number_literal "0x1f")) () ")")))) () ")"))) () ")")) (compound_statement "{\nLAB_002c3567:\n            uVar17 = 1;\n            goto LAB_002c1e60;\n          }" ({ "{") (labeled_statement "LAB_002c3567:\n            uVar17 = 1;" (statement_identifier "LAB_002c3567") (: ":") (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" (identifier "uVar17") (= "=") (number_literal "1")) (; ";"))) (goto_statement "goto LAB_002c1e60;" (goto "goto") (statement_identifier "LAB_002c1e60") (; ";")) (} "}"))) (expression_statement "uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;" (assignment_expression "uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff" (identifier "uVar36") (= "=") (binary_expression "uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff" (identifier "uVar17") (^ "^") (binary_expression "(uVar36 >> local_118 ^ uVar17) & 0x3ffffff" (parenthesized_expression "(uVar36 >> local_118 ^ uVar17)" (( "(") (binary_expression "uVar36 >> local_118 ^ uVar17" (binary_expression "uVar36 >> local_118" (identifier "uVar36") (>> ">>") (identifier "local_118")) (^ "^") (identifier "uVar17")) () ")")) (& "&") (number_literal "0x3ffffff")))) (; ";")) (if_statement "if (local_cf != 0) {\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }" (if "if") (parenthesized_expression "(local_cf != 0)" (( "(") (binary_expression "local_cf != 0" (identifier "local_cf") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar17 = uVar17 >> 0x1a;\n            if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }\n            if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }\n            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;\n          }" ({ "{") (expression_statement "uVar17 = uVar17 >> 0x1a;" (assignment_expression "uVar17 = uVar17 >> 0x1a" (identifier "uVar17") (= "=") (binary_expression "uVar17 >> 0x1a" (identifier "uVar17") (>> ">>") (number_literal "0x1a"))) (; ";")) (if_statement "if (uVar18 == 100) {\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }\n            else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }" (if "if") (parenthesized_expression "(uVar18 == 100)" (( "(") (binary_expression "uVar18 == 100" (identifier "uVar18") (== "==") (number_literal "100")) () ")")) (compound_statement "{\n              iVar35 = 7;\n              bVar46 = uVar17 - 6 < 2;\n            }" ({ "{") (expression_statement "iVar35 = 7;" (assignment_expression "iVar35 = 7" (identifier "iVar35") (= "=") (number_literal "7")) (; ";")) (expression_statement "bVar46 = uVar17 - 6 < 2;" (assignment_expression "bVar46 = uVar17 - 6 < 2" (identifier "bVar46") (= "=") (binary_expression "uVar17 - 6 < 2" (binary_expression "uVar17 - 6" (identifier "uVar17") (- "-") (number_literal "6")) (< "<") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }" (else "else") (if_statement "if (uVar18 == 0x85) {\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }\n            else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }" (if "if") (parenthesized_expression "(uVar18 == 0x85)" (( "(") (binary_expression "uVar18 == 0x85" (identifier "uVar18") (== "==") (number_literal "0x85")) () ")")) (compound_statement "{\n              iVar35 = 0x3c;\n              bVar46 = uVar17 - 0x3c < 2;\n            }" ({ "{") (expression_statement "iVar35 = 0x3c;" (assignment_expression "iVar35 = 0x3c" (identifier "iVar35") (= "=") (number_literal "0x3c")) (; ";")) (expression_statement "bVar46 = uVar17 - 0x3c < 2;" (assignment_expression "bVar46 = uVar17 - 0x3c < 2" (identifier "bVar46") (= "=") (binary_expression "uVar17 - 0x3c < 2" (binary_expression "uVar17 - 0x3c" (identifier "uVar17") (- "-") (number_literal "0x3c")) (< "<") (number_literal "2"))) (; ";")) (} "}")) (else_clause "else {\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }" (else "else") (compound_statement "{\n              bVar46 = uVar17 == 3 || uVar17 == 0x1d;\n              iVar35 = 0x1d;\n            }" ({ "{") (expression_statement "bVar46 = uVar17 == 3 || uVar17 == 0x1d;" (assignment_expression "bVar46 = uVar17 == 3 || uVar17 == 0x1d" (identifier "bVar46") (= "=") (binary_expression "uVar17 == 3 || uVar17 == 0x1d" (binary_expression "uVar17 == 3" (identifier "uVar17") (== "==") (number_literal "3")) (|| "||") (binary_expression "uVar17 == 0x1d" (identifier "uVar17") (== "==") (number_literal "0x1d")))) (; ";")) (expression_statement "iVar35 = 0x1d;" (assignment_expression "iVar35 = 0x1d" (identifier "iVar35") (= "=") (number_literal "0x1d")) (; ";")) (} "}")))))) (if_statement "if ((!bVar45 || !bVar48) && (!bVar46)) {\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }" (if "if") (parenthesized_expression "((!bVar45 || !bVar48) && (!bVar46))" (( "(") (binary_expression "(!bVar45 || !bVar48) && (!bVar46)" (parenthesized_expression "(!bVar45 || !bVar48)" (( "(") (binary_expression "!bVar45 || !bVar48" (unary_expression "!bVar45" (! "!") (identifier "bVar45")) (|| "||") (unary_expression "!bVar48" (! "!") (identifier "bVar48"))) () ")")) (&& "&&") (parenthesized_expression "(!bVar46)" (( "(") (unary_expression "!bVar46" (! "!") (identifier "bVar46")) () ")"))) () ")")) (compound_statement "{\n              uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );\n              FUN_0034a750(uVar22);\n              goto LAB_002c413e;\n            }" ({ "{") (expression_statement "uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              );" (assignment_expression "uVar22 = gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              )" (identifier "uVar22") (= "=") (call_expression "gettext(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              )" (identifier "gettext") (argument_list "(\n                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."\n                              )" (( "(") (string_literal ""Unsupported jump between ISA modes; consider recompiling with interlinking enabled."" (" """) (string_content "Unsupported jump between ISA modes; consider recompiling with interlinking enabled.") (" """)) () ")")))) (; ";")) (expression_statement "FUN_0034a750(uVar22);" (call_expression "FUN_0034a750(uVar22)" (identifier "FUN_0034a750") (argument_list "(uVar22)" (( "(") (identifier "uVar22") () ")"))) (; ";")) (goto_statement "goto LAB_002c413e;" (goto "goto") (statement_identifier "LAB_002c413e") (; ";")) (} "}"))) (expression_statement "uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;" (assignment_expression "uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a" (identifier "uVar36") (= "=") (binary_expression "uVar36 & 0x3ffffff | iVar35 << 0x1a" (binary_expression "uVar36 & 0x3ffffff" (identifier "uVar36") (& "&") (number_literal "0x3ffffff")) (| "|") (binary_expression "iVar35 << 0x1a" (identifier "iVar35") (<< "<<") (number_literal "0x1a")))) (; ";")) (} "}"))) (if_statement "if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {\nLAB_002c4770:\n                    \n            FUN_002932f0();\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_002c4770:\n                    \n            FUN_002932f0();\n          }" ({ "{") (labeled_statement "LAB_002c4770:\n                    \n            FUN_002932f0();" (statement_identifier "LAB_002c4770") (: ":") (expression_statement "FUN_002932f0();" (call_expression "FUN_002932f0()" (identifier "FUN_002932f0") (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}"))) (if_statement "if (bVar45 && bVar48) {\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }\n          else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }" (if "if") (parenthesized_expression "(bVar45 && bVar48)" (( "(") (binary_expression "bVar45 && bVar48" (identifier "bVar45") (&& "&&") (identifier "bVar48")) () ")")) (compound_statement "{\n            uVar17 = 0;\n            *(uint *)param_1 = uVar36;\n          }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint *)param_1 = uVar36;" (assignment_expression "*(uint *)param_1 = uVar36" (pointer_expression "*(uint *)param_1" (* "*") (cast_expression "(uint *)param_1" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (= "=") (identifier "uVar36")) (; ";")) (} "}")) (else_clause "else {\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }" (else "else") (compound_statement "{\n            uVar17 = 0;\n            *(uint *)param_10 = uVar36;\n          }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint *)param_10 = uVar36;" (assignment_expression "*(uint *)param_10 = uVar36" (pointer_expression "*(uint *)param_10" (* "*") (cast_expression "(uint *)param_10" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_10"))) (= "=") (identifier "uVar36")) (; ";")) (} "}")))) (} "}")))) (goto_statement "goto LAB_002c1e60;" (goto "goto") (statement_identifier "LAB_002c1e60") (; ";"))) (case_statement "case 5:" (case "case") (number_literal "5") (: ":")) (case_statement "case 0x68:" (case "case") (number_literal "0x68") (: ":")) (case_statement "case 0x86:\n        goto switchD_002c18c9_caseD_5;" (case "case") (number_literal "0x86") (: ":") (goto_statement "goto switchD_002c18c9_caseD_5;" (goto "goto") (statement_identifier "switchD_002c18c9_caseD_5") (; ";"))) (case_statement "case 6:" (case "case") (number_literal "6") (: ":")) (case_statement "case 0x69:" (case "case") (number_literal "0x69") (: ":")) (case_statement "case 0x87:" (case "case") (number_literal "0x87") (: ":")) (case_statement "case 0x9d:\n        local_b0 = local_cc;\n        local_108 = (uint)*param_10;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }\n        goto LAB_002c3615;" (case "case") (number_literal "0x9d") (: ":") (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" (identifier "local_b0") (= "=") (identifier "local_cc")) (; ";")) (expression_statement "local_108 = (uint)*param_10;" (assignment_expression "local_108 = (uint)*param_10" (identifier "local_108") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (if_statement "if ((char)local_b8 != '\0') {\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }" (if "if") (parenthesized_expression "((char)local_b8 != '\0')" (( "(") (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          local_b0 = (local_108 & 0xffff) - 0x10000;\n          if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }\n        }" ({ "{") (expression_statement "local_b0 = (local_108 & 0xffff) - 0x10000;" (assignment_expression "local_b0 = (local_108 & 0xffff) - 0x10000" (identifier "local_b0") (= "=") (binary_expression "(local_108 & 0xffff) - 0x10000" (parenthesized_expression "(local_108 & 0xffff)" (( "(") (binary_expression "local_108 & 0xffff" (identifier "local_108") (& "&") (number_literal "0xffff")) () ")")) (- "-") (number_literal "0x10000"))) (; ";")) (if_statement "if ((local_108 & 0x8000) == 0) {\n            local_b0 = local_108 & 0xffff;\n          }" (if "if") (parenthesized_expression "((local_108 & 0x8000) == 0)" (( "(") (binary_expression "(local_108 & 0x8000) == 0" (parenthesized_expression "(local_108 & 0x8000)" (( "(") (binary_expression "local_108 & 0x8000" (identifier "local_108") (& "&") (number_literal "0x8000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_b0 = local_108 & 0xffff;\n          }" ({ "{") (expression_statement "local_b0 = local_108 & 0xffff;" (assignment_expression "local_b0 = local_108 & 0xffff" (identifier "local_b0") (= "=") (binary_expression "local_108 & 0xffff" (identifier "local_108") (& "&") (number_literal "0xffff"))) (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_002c3615;" (goto "goto") (statement_identifier "LAB_002c3615") (; ";"))) (case_statement "case 7:" (case "case") (number_literal "7") (: ":")) (case_statement "case 8:" (case "case") (number_literal "8") (: ":")) (case_statement "case 0x65:" (case "case") (number_literal "0x65") (: ":")) (case_statement "case 0x88:" (case "case") (number_literal "0x88") (: ":")) (case_statement "case 0x89:" (case "case") (number_literal "0x89") (: ":")) (case_statement "case 0xac:\n        local_b0 = local_cc;\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (lVar31 != 0) goto LAB_002c370d;\n        iVar35 = 0;\nLAB_002c3751:\n        uVar17 = (uint)*param_10;\n        local_cc = local_b0;\n        if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }\n        goto LAB_002c378b;" (case "case") (number_literal "0xac") (: ":") (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" (identifier "local_b0") (= "=") (identifier "local_cc")) (; ";")) (expression_statement "lVar31 = *(long *)(param_4 + 0x28);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x28)" (identifier "lVar31") (= "=") (pointer_expression "*(long *)(param_4 + 0x28)" (* "*") (cast_expression "(long *)(param_4 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x28)" (( "(") (binary_expression "param_4 + 0x28" (identifier "param_4") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (lVar31 != 0) goto LAB_002c370d;" (if "if") (parenthesized_expression "(lVar31 != 0)" (( "(") (binary_expression "lVar31 != 0" (identifier "lVar31") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_002c370d;" (goto "goto") (statement_identifier "LAB_002c370d") (; ";"))) (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" (identifier "iVar35") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_002c3751:\n        uVar17 = (uint)*param_10;" (statement_identifier "LAB_002c3751") (: ":") (expression_statement "uVar17 = (uint)*param_10;" (assignment_expression "uVar17 = (uint)*param_10" (identifier "uVar17") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";"))) (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" (identifier "local_cc") (= "=") (identifier "local_b0")) (; ";")) (if_statement "if ((char)local_b8 != '\0') {\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }" (if "if") (parenthesized_expression "((char)local_b8 != '\0')" (( "(") (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }\n        }" ({ "{") (if_statement "if (uVar18 == 0xac) {\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }\n          else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }" (if "if") (parenthesized_expression "(uVar18 == 0xac)" (( "(") (binary_expression "uVar18 == 0xac" (identifier "uVar18") (== "==") (number_literal "0xac")) () ")")) (compound_statement "{\n            local_b0 = uVar17 * 4 & 0x1fc;\n          }" ({ "{") (expression_statement "local_b0 = uVar17 * 4 & 0x1fc;" (assignment_expression "local_b0 = uVar17 * 4 & 0x1fc" (identifier "local_b0") (= "=") (binary_expression "uVar17 * 4 & 0x1fc" (binary_expression "uVar17 * 4" (identifier "uVar17") (* "*") (number_literal "4")) (& "&") (number_literal "0x1fc"))) (; ";")) (} "}")) (else_clause "else {\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }" (else "else") (compound_statement "{\n            local_b0 = (uVar17 & 0xffff) - 0x10000;\n            if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }\n          }" ({ "{") (expression_statement "local_b0 = (uVar17 & 0xffff) - 0x10000;" (assignment_expression "local_b0 = (uVar17 & 0xffff) - 0x10000" (identifier "local_b0") (= "=") (binary_expression "(uVar17 & 0xffff) - 0x10000" (parenthesized_expression "(uVar17 & 0xffff)" (( "(") (binary_expression "uVar17 & 0xffff" (identifier "uVar17") (& "&") (number_literal "0xffff")) () ")")) (- "-") (number_literal "0x10000"))) (; ";")) (if_statement "if ((uVar17 & 0x8000) == 0) {\n              local_b0 = uVar17 & 0xffff;\n            }" (if "if") (parenthesized_expression "((uVar17 & 0x8000) == 0)" (( "(") (binary_expression "(uVar17 & 0x8000) == 0" (parenthesized_expression "(uVar17 & 0x8000)" (( "(") (binary_expression "uVar17 & 0x8000" (identifier "uVar17") (& "&") (number_literal "0x8000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              local_b0 = uVar17 & 0xffff;\n            }" ({ "{") (expression_statement "local_b0 = uVar17 & 0xffff;" (assignment_expression "local_b0 = uVar17 & 0xffff" (identifier "local_b0") (= "=") (binary_expression "uVar17 & 0xffff" (identifier "uVar17") (& "&") (number_literal "0xffff"))) (; ";")) (} "}"))) (} "}")))) (} "}"))) (goto_statement "goto LAB_002c378b;" (goto "goto") (statement_identifier "LAB_002c378b") (; ";"))) (case_statement "case 9:" (case "case") (number_literal "9") (: ":")) (case_statement "case 0x66:" (case "case") (number_literal "0x66") (: ":")) (case_statement "case 0x8a:\n        goto switchD_002c18c9_caseD_9;" (case "case") (number_literal "0x8a") (: ":") (goto_statement "goto switchD_002c18c9_caseD_9;" (goto "goto") (statement_identifier "switchD_002c18c9_caseD_9") (; ";"))) (case_statement "case 10:\n        local_b0 = local_cc;\n        goto LAB_002c2e45;" (case "case") (number_literal "10") (: ":") (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" (identifier "local_b0") (= "=") (identifier "local_cc")) (; ";")) (goto_statement "goto LAB_002c2e45;" (goto "goto") (statement_identifier "LAB_002c2e45") (; ";"))) (case_statement "case 0xb:" (case "case") (number_literal "0xb") (: ":")) (case_statement "case 0x67:" (case "case") (number_literal "0x67") (: ":")) (case_statement "case 0x8e:\n        goto switchD_002c18c9_caseD_b;" (case "case") (number_literal "0x8e") (: ":") (goto_statement "goto switchD_002c18c9_caseD_b;" (goto "goto") (statement_identifier "switchD_002c18c9_caseD_b") (; ";"))) (case_statement "case 0xc:\n        goto switchD_002c18c9_caseD_c;" (case "case") (number_literal "0xc") (: ":") (goto_statement "goto switchD_002c18c9_caseD_c;" (goto "goto") (statement_identifier "switchD_002c18c9_caseD_c") (; ";"))) (case_statement "case 0x12:\n        goto switchD_002c18c9_caseD_12;" (case "case") (number_literal "0x12") (: ":") (goto_statement "goto switchD_002c18c9_caseD_12;" (goto "goto") (statement_identifier "switchD_002c18c9_caseD_12") (; ";"))) (case_statement "case 0x13:" (case "case") (number_literal "0x13") (: ":")) (case_statement "case 0x91:" (case "case") (number_literal "0x91") (: ":")) (case_statement "case 0xf9:\n        goto switchD_002c18c9_caseD_13;" (case "case") (number_literal "0xf9") (: ":") (goto_statement "goto switchD_002c18c9_caseD_13;" (goto "goto") (statement_identifier "switchD_002c18c9_caseD_13") (; ";"))) (case_statement "case 0x14:" (case "case") (number_literal "0x14") (: ":")) (case_statement "case 0x92:\n        goto switchD_002c18c9_caseD_14;" (case "case") (number_literal "0x92") (: ":") (goto_statement "goto switchD_002c18c9_caseD_14;" (goto "goto") (statement_identifier "switchD_002c18c9_caseD_14") (; ";"))) (case_statement "case 0x15:" (case "case") (number_literal "0x15") (: ":")) (case_statement "case 0x93:\n        goto switchD_002c18c9_caseD_15;" (case "case") (number_literal "0x93") (: ":") (goto_statement "goto switchD_002c18c9_caseD_15;" (goto "goto") (statement_identifier "switchD_002c18c9_caseD_15") (; ";"))) (case_statement "case 0x16:" (case "case") (number_literal "0x16") (: ":")) (case_statement "case 0x1e:" (case "case") (number_literal "0x1e") (: ":")) (case_statement "case 0x94:" (case "case") (number_literal "0x94") (: ":")) (case_statement "case 0x99:\n        goto switchD_002c18c9_caseD_16;" (case "case") (number_literal "0x99") (: ":") (goto_statement "goto switchD_002c18c9_caseD_16;" (goto "goto") (statement_identifier "switchD_002c18c9_caseD_16") (; ";"))) (case_statement "case 0x17:" (case "case") (number_literal "0x17") (: ":")) (case_statement "case 0x1f:" (case "case") (number_literal "0x1f") (: ":")) (case_statement "case 0x95:" (case "case") (number_literal "0x95") (: ":")) (case_statement "case 0x9a:\n        goto switchD_002c18c9_caseD_17;" (case "case") (number_literal "0x9a") (: ":") (goto_statement "goto switchD_002c18c9_caseD_17;" (goto "goto") (statement_identifier "switchD_002c18c9_caseD_17") (; ";"))) (case_statement "case 0x18:" (case "case") (number_literal "0x18") (: ":")) (case_statement "case 0x96:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c2efa;" (case "case") (number_literal "0x96") (: ":") (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" (identifier "local_b0") (= "=") (identifier "local_cc")) (; ";")) (if_statement "if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }" (if "if") (parenthesized_expression "((char)local_b8 != '\0')" (( "(") (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          local_b0 = (uint)*param_10;\n        }" ({ "{") (expression_statement "local_b0 = (uint)*param_10;" (assignment_expression "local_b0 = (uint)*param_10" (identifier "local_b0") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (} "}"))) (goto_statement "goto LAB_002c2efa;" (goto "goto") (statement_identifier "LAB_002c2efa") (; ";"))) (case_statement "case 0x1c:" (case "case") (number_literal "0x1c") (: ":")) (case_statement "case 0x97:\n        local_b0 = local_cc;\n        goto LAB_002c1ed8;" (case "case") (number_literal "0x97") (: ":") (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" (identifier "local_b0") (= "=") (identifier "local_cc")) (; ";")) (goto_statement "goto LAB_002c1ed8;" (goto "goto") (statement_identifier "LAB_002c1ed8") (; ";"))) (case_statement "case 0x1d:" (case "case") (number_literal "0x1d") (: ":")) (case_statement "case 0x98:\n        local_b0 = local_cc;\n        goto LAB_002c2f32;" (case "case") (number_literal "0x98") (: ":") (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" (identifier "local_b0") (= "=") (identifier "local_cc")) (; ";")) (goto_statement "goto LAB_002c2f32;" (goto "goto") (statement_identifier "LAB_002c2f32") (; ";"))) (case_statement "case 0x25:" (case "case") (number_literal "0x25") (: ":")) (case_statement "case 0x9c:\n        goto switchD_002c18c9_caseD_25;" (case "case") (number_literal "0x9c") (: ":") (goto_statement "goto switchD_002c18c9_caseD_25;" (goto "goto") (statement_identifier "switchD_002c18c9_caseD_25") (; ";"))) (case_statement "case 0x27:" (case "case") (number_literal "0x27") (: ":")) (case_statement "case 0x29:\n        goto switchD_002c18c9_caseD_27;" (case "case") (number_literal "0x29") (: ":") (goto_statement "goto switchD_002c18c9_caseD_27;" (goto "goto") (statement_identifier "switchD_002c18c9_caseD_27") (; ";"))) (case_statement "case 0x2a:" (case "case") (number_literal "0x2a") (: ":")) (case_statement "case 0x6a:" (case "case") (number_literal "0x6a") (: ":")) (case_statement "case 0xa2:\n        goto switchD_002c18c9_caseD_2a;" (case "case") (number_literal "0xa2") (: ":") (goto_statement "goto switchD_002c18c9_caseD_2a;" (goto "goto") (statement_identifier "switchD_002c18c9_caseD_2a") (; ";"))) (case_statement "case 0x2b:" (case "case") (number_literal "0x2b") (: ":")) (case_statement "case 0x6b:" (case "case") (number_literal "0x6b") (: ":")) (case_statement "case 0xa3:\n        goto switchD_002c18c9_caseD_2b;" (case "case") (number_literal "0xa3") (: ":") (goto_statement "goto switchD_002c18c9_caseD_2b;" (goto "goto") (statement_identifier "switchD_002c18c9_caseD_2b") (; ";"))) (case_statement "case 0x2c:" (case "case") (number_literal "0x2c") (: ":")) (case_statement "case 0x6c:" (case "case") (number_literal "0x6c") (: ":")) (case_statement "case 0xa4:\n        goto switchD_002c18c9_caseD_2c;" (case "case") (number_literal "0xa4") (: ":") (goto_statement "goto switchD_002c18c9_caseD_2c;" (goto "goto") (statement_identifier "switchD_002c18c9_caseD_2c") (; ";"))) (case_statement "case 0x2d:" (case "case") (number_literal "0x2d") (: ":")) (case_statement "case 0x6d:" (case "case") (number_literal "0x6d") (: ":")) (case_statement "case 0xa5:\n        goto switchD_002c18c9_caseD_2d;" (case "case") (number_literal "0xa5") (: ":") (goto_statement "goto switchD_002c18c9_caseD_2d;" (goto "goto") (statement_identifier "switchD_002c18c9_caseD_2d") (; ";"))) (case_statement "case 0x2e:" (case "case") (number_literal "0x2e") (: ":")) (case_statement "case 0x6e:" (case "case") (number_literal "0x6e") (: ":")) (case_statement "case 0xa6:\n        goto switchD_002c18c9_caseD_2e;" (case "case") (number_literal "0xa6") (: ":") (goto_statement "goto switchD_002c18c9_caseD_2e;" (goto "goto") (statement_identifier "switchD_002c18c9_caseD_2e") (; ";"))) (case_statement "case 0x2f:" (case "case") (number_literal "0x2f") (: ":")) (case_statement "case 0x30:\n        goto switchD_002c18c9_caseD_2f;" (case "case") (number_literal "0x30") (: ":") (goto_statement "goto switchD_002c18c9_caseD_2f;" (goto "goto") (statement_identifier "switchD_002c18c9_caseD_2f") (; ";"))) (case_statement "case 0x31:" (case "case") (number_literal "0x31") (: ":")) (case_statement "case 0x6f:" (case "case") (number_literal "0x6f") (: ":")) (case_statement "case 0xa9:\n        goto switchD_002c18c9_caseD_31;" (case "case") (number_literal "0xa9") (: ":") (goto_statement "goto switchD_002c18c9_caseD_31;" (goto "goto") (statement_identifier "switchD_002c18c9_caseD_31") (; ";"))) (case_statement "case 0x32:" (case "case") (number_literal "0x32") (: ":")) (case_statement "case 0x70:" (case "case") (number_literal "0x70") (: ":")) (case_statement "case 0xaa:\n        goto switchD_002c18c9_caseD_32;" (case "case") (number_literal "0xaa") (: ":") (goto_statement "goto switchD_002c18c9_caseD_32;" (goto "goto") (statement_identifier "switchD_002c18c9_caseD_32") (; ";"))) (case_statement "case 0x3c:\n        local_b0 = local_cc;\n        goto LAB_002c2f96;" (case "case") (number_literal "0x3c") (: ":") (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" (identifier "local_b0") (= "=") (identifier "local_cc")) (; ";")) (goto_statement "goto LAB_002c2f96;" (goto "goto") (statement_identifier "LAB_002c2f96") (; ";"))) (case_statement "case 0x3d:\n        local_b0 = local_cc;\n        goto LAB_002c304d;" (case "case") (number_literal "0x3d") (: ":") (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" (identifier "local_b0") (= "=") (identifier "local_cc")) (; ";")) (goto_statement "goto LAB_002c304d;" (goto "goto") (statement_identifier "LAB_002c304d") (; ";"))) (case_statement "case 0x3e:\n        local_b0 = local_cc;\n        goto LAB_002c3104;" (case "case") (number_literal "0x3e") (: ":") (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" (identifier "local_b0") (= "=") (identifier "local_cc")) (; ";")) (goto_statement "goto LAB_002c3104;" (goto "goto") (statement_identifier "LAB_002c3104") (; ";"))) (case_statement "case 0x3f:\n        local_b0 = local_cc;\n        goto LAB_002c31c0;" (case "case") (number_literal "0x3f") (: ":") (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" (identifier "local_b0") (= "=") (identifier "local_cc")) (; ";")) (goto_statement "goto LAB_002c31c0;" (goto "goto") (statement_identifier "LAB_002c31c0") (; ";"))) (case_statement "case 0x40:\n        goto switchD_002c18c9_caseD_40;" (case "case") (number_literal "0x40") (: ":") (goto_statement "goto switchD_002c18c9_caseD_40;" (goto "goto") (statement_identifier "switchD_002c18c9_caseD_40") (; ";"))) (case_statement "case 0x41:\n        local_b0 = local_cc;\n        goto LAB_002c330f;" (case "case") (number_literal "0x41") (: ":") (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" (identifier "local_b0") (= "=") (identifier "local_cc")) (; ";")) (goto_statement "goto LAB_002c330f;" (goto "goto") (statement_identifier "LAB_002c330f") (; ";"))) (case_statement "case 0x8b:\n        local_b0 = local_cc;\n        goto LAB_002c3385;" (case "case") (number_literal "0x8b") (: ":") (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" (identifier "local_b0") (= "=") (identifier "local_cc")) (; ";")) (goto_statement "goto LAB_002c3385;" (goto "goto") (statement_identifier "LAB_002c3385") (; ";"))) (case_statement "case 0x8c:\n        local_b0 = local_cc;\n        goto LAB_002c328d;" (case "case") (number_literal "0x8c") (: ":") (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" (identifier "local_b0") (= "=") (identifier "local_cc")) (; ";")) (goto_statement "goto LAB_002c328d;" (goto "goto") (statement_identifier "LAB_002c328d") (; ";"))) (case_statement "case 0x8d:\n        local_b0 = local_cc;\n        goto LAB_002c33fc;" (case "case") (number_literal "0x8d") (: ":") (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" (identifier "local_b0") (= "=") (identifier "local_cc")) (; ";")) (goto_statement "goto LAB_002c33fc;" (goto "goto") (statement_identifier "LAB_002c33fc") (; ";"))) (case_statement "case 0xf8:\n        local_b0 = local_cc;\n        if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }\n        goto LAB_002c3260;" (case "case") (number_literal "0xf8") (: ":") (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" (identifier "local_b0") (= "=") (identifier "local_cc")) (; ";")) (if_statement "if ((char)local_b8 != '\0') {\n          local_b0 = (uint)*param_10;\n        }" (if "if") (parenthesized_expression "((char)local_b8 != '\0')" (( "(") (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          local_b0 = (uint)*param_10;\n        }" ({ "{") (expression_statement "local_b0 = (uint)*param_10;" (assignment_expression "local_b0 = (uint)*param_10" (identifier "local_b0") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (} "}"))) (goto_statement "goto LAB_002c3260;" (goto "goto") (statement_identifier "LAB_002c3260") (; ";"))) (} "}"))) (} "}"))) (expression_statement "local_cc = (uint)*param_1;" (assignment_expression "local_cc = (uint)*param_1" (identifier "local_cc") (= "=") (binary_expression "(uint)*param_1" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_1"))) (; ";")) (expression_statement "*(byte *)((long)param_1 + 4) = bVar14;" (assignment_expression "*(byte *)((long)param_1 + 4) = bVar14" (pointer_expression "*(byte *)((long)param_1 + 4)" (* "*") (cast_expression "(byte *)((long)param_1 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 4)" (( "(") (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "bVar14")) (; ";")) (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" (identifier "local_b0") (= "=") (identifier "local_cc")) (; ";")) (switch_statement "switch(uVar18) {\n    default:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);\n      break;\n    case 1:\n      local_b8 = 0;\n      local_b0 = local_cc;\nLAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar14 != 0) goto LAB_002c1f30;\n      *(ushort *)param_10 = (ushort)uVar36;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);\n      if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }\n      if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }\n      break;\n    case 3:\nswitchD_002c14fa_caseD_3:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");\n    case 4:\n    case 100:\n    case 0x85:\n      local_b8 = 0;\n      bVar42 = (!bVar45 || !bVar48) & local_cf;\n      uVar17 = (uint)*param_10;\n      goto LAB_002c38d3;\n    case 5:\n    case 0x68:\n    case 0x86:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }\n      break;\n    case 6:\n    case 0x69:\n    case 0x87:\n    case 0x9d:\n      local_b8 = 0;\n      local_108 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }\n      if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\nLAB_002c1ebf:\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;\n      break;\n    case 7:\n    case 8:\n    case 0x65:\n    case 0x88:\n    case 0x89:\n    case 0xac:\n      lVar31 = *(long *)(param_4 + 0x28);\n      if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }\n      local_b8 = 0;\n      iVar35 = 0;\n      uVar17 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar21 - iVar35;\n      if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }\n      uVar20 = (uVar36 ^ uVar17) & 0xffff;\n      if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar17 ^ uVar20;\n      if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }\n      goto LAB_002c1fd6;\n    case 9:\n    case 0x66:\n    case 0x8a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case 10:\n      local_b8 = 0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }\n      break;\n    case 0xb:\n    case 0x67:\n    case 0x8e:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;\n    case 0xc:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);\n      goto joined_r0x002c327b;\n    case 0x12:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);\n      if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }\n      break;\n    case 0x13:\n    case 0x91:\n    case 0xf9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }\n      if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }\n      local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n      if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }\n      if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;\n      goto LAB_002c1fd4;\n    case 0x14:\n    case 0x92:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) goto LAB_002c4726;\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }\n      if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }\n      uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);\n      if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;\n      goto LAB_002c2590;\n    case 0x15:\n    case 0x93:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;\n      local_b0 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }\n      if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }\n      break;\n    case 0x16:\n    case 0x1e:\n    case 0x94:\n    case 0x99:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }\n      goto LAB_002c46d8;\n    case 0x17:\n    case 0x1f:\n    case 0x95:\n    case 0x9a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }\nLAB_002c4792:\n      FUN_00290940();\nLAB_002c4797:\n      FUN_00290940();\nLAB_002c479c:\n      FUN_00290940();\nLAB_002c47a1:\n      FUN_00290940();\nLAB_002c47a6:\n      FUN_00290940();\n                    \n      uVar22 = FUN_0017eb9a();\n      return uVar22;\n    case 0x18:\n    case 0x96:\n      local_b8 = 0;\nLAB_002c2efa:\n      uVar18 = -local_b0;\nLAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      if (bVar14 != '\0') goto LAB_002c1f30;\n      uVar17 = 0;\n      *param_10 = (ulong)uVar36;\n      break;\n    case 0x1c:\n    case 0x97:\n      local_b8 = 0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }\n      uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);\n      goto joined_r0x002c1f7e;\n    case 0x1d:\n    case 0x98:\n      local_b8 = 0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar36 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }\n      FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }\n      uVar36 = uVar36 & 0xffff0000;\n      goto LAB_002c1fd0;\n    case 0x25:\n    case 0x9c:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }\n      uVar17 = (uint)*param_10;\n      uVar36 = uVar17;\n      if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }\n      if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }\n      break;\n    case 0x27:\n    case 0x29:\n      goto switchD_002c14fa_caseD_27;\n    case 0x2a:\n    case 0x6a:\n    case 0xa2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }\n      FUN_00290940();\nswitchD_002c14fa_caseD_27:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_27:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      goto joined_r0x002c327b;\n    case 0x2b:\n    case 0x6b:\n    case 0xa3:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }\n      if (lVar25 == 0) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }\n      local_e4 = *(uint *)(lVar25 + 0x14);\n      uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\nLAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;\n      uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;\nLAB_002c2590:\n      *(uint *)param_10 = uVar18;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 0x2c:\n    case 0x6c:\n    case 0xa4:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      goto LAB_002c1f79;\n    case 0x2d:\n    case 0x6d:\n    case 0xa5:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x2e:\n    case 0x6e:\n    case 0xa6:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) goto LAB_002c2030;\n      goto LAB_002c47a1;\n    case 0x2f:\n    case 0x30:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    case 0x31:\n    case 0x6f:\n    case 0xa9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      uVar36 = iVar35 + 0x1000;\nLAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;\njoined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;\n      break;\n    case 0x32:\n    case 0x70:\n    case 0xaa:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x3c:\n      local_b8 = 0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }\n      break;\n    case 0x3d:\n      local_b8 = 0;\nLAB_002c304d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }\n      break;\n    case 0x3e:\n      local_b8 = 0;\nLAB_002c3104:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - (param_11 & 0xfffffff8);\n      uVar36 = uVar20 >> 3;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar32 = uVar32 & 7;\njoined_r0x002c324e:\n      uVar17 = 3;\n      if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }\n      break;\n    case 0x3f:\n      local_b8 = 0;\nLAB_002c31c0:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - param_11;\n      uVar36 = uVar20 >> 2;\n      if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }\nLAB_002c1f30:\n      uVar17 = 0;\n      *(uint *)param_1 = uVar36;\n      break;\n    case 0x40:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case 0x41:\n      local_b8 = 0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }\n      if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      break;\n    case 0x8b:\n      local_b8 = 0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }\n      break;\n    case 0x8c:\n      local_b8 = 0;\nLAB_002c328d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;\n      uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);\n      break;\n    case 0x8d:\n      local_b8 = 0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);\n      break;\n    case 0xf8:\n      local_b8 = 0;\nLAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\njoined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;\nLAB_002c1fd0:\n      puVar34 = param_10;\nLAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;\nLAB_002c1fd6:\n      uVar17 = 0;\n    }" (switch "switch") (parenthesized_expression "(uVar18)" (( "(") (identifier "uVar18") () ")")) (compound_statement "{\n    default:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);\n      break;\n    case 1:\n      local_b8 = 0;\n      local_b0 = local_cc;\nLAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar14 != 0) goto LAB_002c1f30;\n      *(ushort *)param_10 = (ushort)uVar36;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);\n      if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }\n      if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }\n      break;\n    case 3:\nswitchD_002c14fa_caseD_3:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");\n    case 4:\n    case 100:\n    case 0x85:\n      local_b8 = 0;\n      bVar42 = (!bVar45 || !bVar48) & local_cf;\n      uVar17 = (uint)*param_10;\n      goto LAB_002c38d3;\n    case 5:\n    case 0x68:\n    case 0x86:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }\n      break;\n    case 6:\n    case 0x69:\n    case 0x87:\n    case 0x9d:\n      local_b8 = 0;\n      local_108 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }\n      if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\nLAB_002c1ebf:\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;\n      break;\n    case 7:\n    case 8:\n    case 0x65:\n    case 0x88:\n    case 0x89:\n    case 0xac:\n      lVar31 = *(long *)(param_4 + 0x28);\n      if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }\n      local_b8 = 0;\n      iVar35 = 0;\n      uVar17 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar21 - iVar35;\n      if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }\n      uVar20 = (uVar36 ^ uVar17) & 0xffff;\n      if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar17 ^ uVar20;\n      if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }\n      goto LAB_002c1fd6;\n    case 9:\n    case 0x66:\n    case 0x8a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;\n    case 10:\n      local_b8 = 0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }\n      break;\n    case 0xb:\n    case 0x67:\n    case 0x8e:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;\n    case 0xc:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);\n      goto joined_r0x002c327b;\n    case 0x12:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);\n      if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }\n      break;\n    case 0x13:\n    case 0x91:\n    case 0xf9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }\n      if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }\n      local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n      if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }\n      if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;\n      goto LAB_002c1fd4;\n    case 0x14:\n    case 0x92:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) goto LAB_002c4726;\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }\n      if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }\n      uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);\n      if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;\n      goto LAB_002c2590;\n    case 0x15:\n    case 0x93:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;\n      local_b0 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }\n      if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }\n      break;\n    case 0x16:\n    case 0x1e:\n    case 0x94:\n    case 0x99:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }\n      goto LAB_002c46d8;\n    case 0x17:\n    case 0x1f:\n    case 0x95:\n    case 0x9a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }\nLAB_002c4792:\n      FUN_00290940();\nLAB_002c4797:\n      FUN_00290940();\nLAB_002c479c:\n      FUN_00290940();\nLAB_002c47a1:\n      FUN_00290940();\nLAB_002c47a6:\n      FUN_00290940();\n                    \n      uVar22 = FUN_0017eb9a();\n      return uVar22;\n    case 0x18:\n    case 0x96:\n      local_b8 = 0;\nLAB_002c2efa:\n      uVar18 = -local_b0;\nLAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      if (bVar14 != '\0') goto LAB_002c1f30;\n      uVar17 = 0;\n      *param_10 = (ulong)uVar36;\n      break;\n    case 0x1c:\n    case 0x97:\n      local_b8 = 0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }\n      uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);\n      goto joined_r0x002c1f7e;\n    case 0x1d:\n    case 0x98:\n      local_b8 = 0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar36 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }\n      FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }\n      uVar36 = uVar36 & 0xffff0000;\n      goto LAB_002c1fd0;\n    case 0x25:\n    case 0x9c:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }\n      uVar17 = (uint)*param_10;\n      uVar36 = uVar17;\n      if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }\n      if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }\n      break;\n    case 0x27:\n    case 0x29:\n      goto switchD_002c14fa_caseD_27;\n    case 0x2a:\n    case 0x6a:\n    case 0xa2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }\n      FUN_00290940();\nswitchD_002c14fa_caseD_27:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_27:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      goto joined_r0x002c327b;\n    case 0x2b:\n    case 0x6b:\n    case 0xa3:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }\n      if (lVar25 == 0) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }\n      local_e4 = *(uint *)(lVar25 + 0x14);\n      uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\nLAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;\n      uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;\nLAB_002c2590:\n      *(uint *)param_10 = uVar18;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;\n    case 0x2c:\n    case 0x6c:\n    case 0xa4:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      goto LAB_002c1f79;\n    case 0x2d:\n    case 0x6d:\n    case 0xa5:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x2e:\n    case 0x6e:\n    case 0xa6:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) goto LAB_002c2030;\n      goto LAB_002c47a1;\n    case 0x2f:\n    case 0x30:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1fd0;\n      goto LAB_002c1f30;\n    case 0x31:\n    case 0x6f:\n    case 0xa9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      uVar36 = iVar35 + 0x1000;\nLAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;\njoined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;\n      break;\n    case 0x32:\n    case 0x70:\n    case 0xaa:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;\n    case 0x3c:\n      local_b8 = 0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }\n      break;\n    case 0x3d:\n      local_b8 = 0;\nLAB_002c304d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }\n      break;\n    case 0x3e:\n      local_b8 = 0;\nLAB_002c3104:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - (param_11 & 0xfffffff8);\n      uVar36 = uVar20 >> 3;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar32 = uVar32 & 7;\njoined_r0x002c324e:\n      uVar17 = 3;\n      if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }\n      break;\n    case 0x3f:\n      local_b8 = 0;\nLAB_002c31c0:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - param_11;\n      uVar36 = uVar20 >> 2;\n      if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }\nLAB_002c1f30:\n      uVar17 = 0;\n      *(uint *)param_1 = uVar36;\n      break;\n    case 0x40:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;\n    case 0x41:\n      local_b8 = 0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }\n      if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      break;\n    case 0x8b:\n      local_b8 = 0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }\n      break;\n    case 0x8c:\n      local_b8 = 0;\nLAB_002c328d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;\n      uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);\n      break;\n    case 0x8d:\n      local_b8 = 0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);\n      break;\n    case 0xf8:\n      local_b8 = 0;\nLAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\njoined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;\nLAB_002c1fd0:\n      puVar34 = param_10;\nLAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;\nLAB_002c1fd6:\n      uVar17 = 0;\n    }" ({ "{") (case_statement "default:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);\n      break;" (default "default") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "switchD_002c18c9_caseD_0:\n      uVar22 = gettext("unsupported reloc %u");" (statement_identifier "switchD_002c18c9_caseD_0") (: ":") (expression_statement "uVar22 = gettext("unsupported reloc %u");" (assignment_expression "uVar22 = gettext("unsupported reloc %u")" (identifier "uVar22") (= "=") (call_expression "gettext("unsupported reloc %u")" (identifier "gettext") (argument_list "("unsupported reloc %u")" (( "(") (string_literal ""unsupported reloc %u"" (" """) (string_content "unsupported reloc %u") (" """)) () ")")))) (; ";"))) (expression_statement "FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);" (call_expression "FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18)" (identifier "FUN_0034ad90") (argument_list "(param_2,param_6,iVar3,uVar22,uVar18)" (( "(") (identifier "param_2") (, ",") (identifier "param_6") (, ",") (identifier "iVar3") (, ",") (identifier "uVar22") (, ",") (identifier "uVar18") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 1:\n      local_b8 = 0;\n      local_b0 = local_cc;\nLAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar14 != 0) goto LAB_002c1f30;\n      *(ushort *)param_10 = (ushort)uVar36;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;" (case "case") (number_literal "1") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" (identifier "local_b0") (= "=") (identifier "local_cc")) (; ";")) (labeled_statement "LAB_002c359b:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);" (statement_identifier "LAB_002c359b") (: ":") (expression_statement "uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "uVar36") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,local_b0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "local_b0") () ")")))) (; ";"))) (if_statement "if (bVar14 != 0) goto LAB_002c1f30;" (if "if") (parenthesized_expression "(bVar14 != 0)" (( "(") (binary_expression "bVar14 != 0" (identifier "bVar14") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_002c1f30;" (goto "goto") (statement_identifier "LAB_002c1f30") (; ";"))) (expression_statement "*(ushort *)param_10 = (ushort)uVar36;" (assignment_expression "*(ushort *)param_10 = (ushort)uVar36" (pointer_expression "*(ushort *)param_10" (* "*") (cast_expression "(ushort *)param_10" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_10"))) (= "=") (cast_expression "(ushort)uVar36" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "uVar36"))) (; ";")) (expression_statement "uVar17 = (uint)(0xffff < uVar36 + 0x8000);" (assignment_expression "uVar17 = (uint)(0xffff < uVar36 + 0x8000)" (identifier "uVar17") (= "=") (call_expression "(uint)(0xffff < uVar36 + 0x8000)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xffff < uVar36 + 0x8000)" (( "(") (binary_expression "0xffff < uVar36 + 0x8000" (number_literal "0xffff") (< "<") (binary_expression "uVar36 + 0x8000" (identifier "uVar36") (+ "+") (number_literal "0x8000"))) () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);\n      if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }\n      if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }\n      break;" (case "case") (number_literal "2") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "switchD_002c18c9_caseD_2:\n      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);" (statement_identifier "switchD_002c18c9_caseD_2") (: ":") (expression_statement "cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);" (assignment_expression "cVar16 = FUN_0029fae0(param_8,2,param_5,param_4)" (identifier "cVar16") (= "=") (call_expression "FUN_0029fae0(param_8,2,param_5,param_4)" (identifier "FUN_0029fae0") (argument_list "(param_8,2,param_5,param_4)" (( "(") (identifier "param_8") (, ",") (number_literal "2") (, ",") (identifier "param_5") (, ",") (identifier "param_4") () ")")))) (; ";"))) (if_statement "if (cVar16 != '\0') {\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }" (if "if") (parenthesized_expression "(cVar16 != '\0')" (( "(") (binary_expression "cVar16 != '\0'" (identifier "cVar16") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        cVar16 = *(char *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }\n      }" ({ "{") (expression_statement "cVar16 = *(char *)((long)param_1 + 4);" (assignment_expression "cVar16 = *(char *)((long)param_1 + 4)" (identifier "cVar16") (= "=") (pointer_expression "*(char *)((long)param_1 + 4)" (* "*") (cast_expression "(char *)((long)param_1 + 4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 4)" (( "(") (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar18 = local_cc;" (assignment_expression "uVar18 = local_cc" (identifier "uVar18") (= "=") (identifier "local_cc")) (; ";")) (if_statement "if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }" (if "if") (parenthesized_expression "((char)local_b8 != '\0')" (( "(") (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          uVar18 = (uint)*param_10;\n        }" ({ "{") (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" (identifier "uVar18") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (} "}"))) (expression_statement "uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);" (assignment_expression "uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18)" (identifier "uVar18") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,uVar18)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,uVar18)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "uVar18") () ")")))) (; ";")) (if_statement "if (cVar16 == '\0') {\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }\n        else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }" (if "if") (parenthesized_expression "(cVar16 == '\0')" (( "(") (binary_expression "cVar16 == '\0'" (identifier "cVar16") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          uVar17 = 0;\n          *(uint *)param_10 = uVar18;\n        }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint *)param_10 = uVar18;" (assignment_expression "*(uint *)param_10 = uVar18" (pointer_expression "*(uint *)param_10" (* "*") (cast_expression "(uint *)param_10" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_10"))) (= "=") (identifier "uVar18")) (; ";")) (} "}")) (else_clause "else {\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }" (else "else") (compound_statement "{\n          uVar17 = 0;\n          *(uint *)param_1 = uVar18;\n        }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint *)param_1 = uVar18;" (assignment_expression "*(uint *)param_1 = uVar18" (pointer_expression "*(uint *)param_1" (* "*") (cast_expression "(uint *)param_1" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (= "=") (identifier "uVar18")) (; ";")) (} "}")))) (} "}"))) (if_statement "if (((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }" (if "if") (parenthesized_expression "(((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1))" (( "(") (binary_expression "((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)" (parenthesized_expression "((param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20))))" (( "(") (binary_expression "(param_8 != (undefined8 *)0x0) &&\n          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))" (parenthesized_expression "(param_8 != (undefined8 *)0x0)" (( "(") (binary_expression "param_8 != (undefined8 *)0x0" (identifier "param_8") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)))" (( "(") (parenthesized_expression "(bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20))" (( "(") (comma_expression "bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)" (assignment_expression "bVar42 = *(byte *)((long)param_8 + 0x39) >> 2" (identifier "bVar42") (= "=") (binary_expression "*(byte *)((long)param_8 + 0x39) >> 2" (pointer_expression "*(byte *)((long)param_8 + 0x39)" (* "*") (cast_expression "(byte *)((long)param_8 + 0x39)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 0x39)" (( "(") (binary_expression "(long)param_8 + 0x39" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "0x39")) () ")")))) (>> ">>") (number_literal "2"))) (, ",") (binary_expression "(bVar42 & 0x3c) == 0x3c ||\n           ((bVar42 & 0x30) == 0x20)" (binary_expression "(bVar42 & 0x3c) == 0x3c" (parenthesized_expression "(bVar42 & 0x3c)" (( "(") (binary_expression "bVar42 & 0x3c" (identifier "bVar42") (& "&") (number_literal "0x3c")) () ")")) (== "==") (number_literal "0x3c")) (|| "||") (parenthesized_expression "((bVar42 & 0x30) == 0x20)" (( "(") (binary_expression "(bVar42 & 0x30) == 0x20" (parenthesized_expression "(bVar42 & 0x30)" (( "(") (binary_expression "bVar42 & 0x30" (identifier "bVar42") (& "&") (number_literal "0x30")) () ")")) (== "==") (number_literal "0x20")) () ")")))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)((long)param_8 + 0x5c) == 1)" (( "(") (binary_expression "*(int *)((long)param_8 + 0x5c) == 1" (pointer_expression "*(int *)((long)param_8 + 0x5c)" (* "*") (cast_expression "(int *)((long)param_8 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 0x5c)" (( "(") (binary_expression "(long)param_8 + 0x5c" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "0x5c")) () ")")))) (== "==") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n        lVar31 = param_8[0xe];\n        if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }\n        local_e4 = *(uint *)(param_8 + 0xc);\n        puVar34 = *(ulong **)(param_4 + 0x20);\n        if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }\n        uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;\n      }" ({ "{") (expression_statement "lVar31 = param_8[0xe];" (assignment_expression "lVar31 = param_8[0xe]" (identifier "lVar31") (= "=") (subscript_expression "param_8[0xe]" (identifier "param_8") ([ "[") (number_literal "0xe") (] "]"))) (; ";")) (if_statement "if (lVar31 != 0) {\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }" (if "if") (parenthesized_expression "(lVar31 != 0)" (( "(") (binary_expression "lVar31 != 0" (identifier "lVar31") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;\n          local_68 = FUN_00298370(lVar31,lVar31 + 8);\n          param_9 = local_c8;\n        }" ({ "{") (if_statement "if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;" (if "if") (parenthesized_expression "(*(char *)(param_8 + 9) == '\0')" (( "(") (binary_expression "*(char *)(param_8 + 9) == '\0'" (pointer_expression "*(char *)(param_8 + 9)" (* "*") (cast_expression "(char *)(param_8 + 9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_8 + 9)" (( "(") (binary_expression "param_8 + 9" (identifier "param_8") (+ "+") (number_literal "9")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_002c473f;" (goto "goto") (statement_identifier "LAB_002c473f") (; ";"))) (expression_statement "local_68 = FUN_00298370(lVar31,lVar31 + 8);" (assignment_expression "local_68 = FUN_00298370(lVar31,lVar31 + 8)" (identifier "local_68") (= "=") (call_expression "FUN_00298370(lVar31,lVar31 + 8)" (identifier "FUN_00298370") (argument_list "(lVar31,lVar31 + 8)" (( "(") (identifier "lVar31") (, ",") (binary_expression "lVar31 + 8" (identifier "lVar31") (+ "+") (number_literal "8")) () ")")))) (; ";")) (expression_statement "param_9 = local_c8;" (assignment_expression "param_9 = local_c8" (identifier "param_9") (= "=") (identifier "local_c8")) (; ";")) (} "}"))) (expression_statement "local_e4 = *(uint *)(param_8 + 0xc);" (assignment_expression "local_e4 = *(uint *)(param_8 + 0xc)" (identifier "local_e4") (= "=") (pointer_expression "*(uint *)(param_8 + 0xc)" (* "*") (cast_expression "(uint *)(param_8 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_8 + 0xc)" (( "(") (binary_expression "param_8 + 0xc" (identifier "param_8") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "puVar34 = *(ulong **)(param_4 + 0x20);" (assignment_expression "puVar34 = *(ulong **)(param_4 + 0x20)" (identifier "puVar34") (= "=") (pointer_expression "*(ulong **)(param_4 + 0x20)" (* "*") (cast_expression "(ulong **)(param_4 + 0x20)" (( "(") (type_descriptor "ulong **" (type_identifier "ulong") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if (puVar34 == (ulong *)0x0) {\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }\n        else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }" (if "if") (parenthesized_expression "(puVar34 == (ulong *)0x0)" (( "(") (binary_expression "puVar34 == (ulong *)0x0" (identifier "puVar34") (== "==") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);\n          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;\n        }" ({ "{") (do_statement "do {\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          } while (puVar34 == (ulong *)0x0);" (do "do") (compound_statement "{\n            uVar18 = FUN_00290940();\nLAB_002c2940:\n            *(uint *)puVar34 = uVar18;\n            uVar17 = 0;\nLAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;\n            puVar34 = *(ulong **)(param_4 + 0x20);\n          }" ({ "{") (expression_statement "uVar18 = FUN_00290940();" (assignment_expression "uVar18 = FUN_00290940()" (identifier "uVar18") (= "=") (call_expression "FUN_00290940()" (identifier "FUN_00290940") (argument_list "()" (( "(") () ")")))) (; ";")) (labeled_statement "LAB_002c2940:\n            *(uint *)puVar34 = uVar18;" (statement_identifier "LAB_002c2940") (: ":") (expression_statement "*(uint *)puVar34 = uVar18;" (assignment_expression "*(uint *)puVar34 = uVar18" (pointer_expression "*(uint *)puVar34" (* "*") (cast_expression "(uint *)puVar34" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar34"))) (= "=") (identifier "uVar18")) (; ";"))) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_002c2945:\n            if (local_cd == false) goto LAB_002c1e60;" (statement_identifier "LAB_002c2945") (: ":") (if_statement "if (local_cd == false) goto LAB_002c1e60;" (if "if") (parenthesized_expression "(local_cd == false)" (( "(") (binary_expression "local_cd == false" (identifier "local_cd") (== "==") (false "false")) () ")")) (goto_statement "goto LAB_002c1e60;" (goto "goto") (statement_identifier "LAB_002c1e60") (; ";")))) (expression_statement "puVar34 = *(ulong **)(param_4 + 0x20);" (assignment_expression "puVar34 = *(ulong **)(param_4 + 0x20)" (identifier "puVar34") (= "=") (pointer_expression "*(ulong **)(param_4 + 0x20)" (* "*") (cast_expression "(ulong **)(param_4 + 0x20)" (( "(") (type_descriptor "ulong **" (type_identifier "ulong") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar34 == (ulong *)0x0)" (( "(") (binary_expression "puVar34 == (ulong *)0x0" (identifier "puVar34") (== "==") (cast_expression "(ulong *)0x0" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (if_statement "if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;" (if "if") (parenthesized_expression "(param_8 != (undefined8 *)0x0)" (( "(") (binary_expression "param_8 != (undefined8 *)0x0" (identifier "param_8") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_002c2967;" (goto "goto") (statement_identifier "LAB_002c2967") (; ";"))) (} "}")) (else_clause "else {\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }" (else "else") (compound_statement "{\nLAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }\n        }" ({ "{") (labeled_statement "LAB_002c2967:\n          if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }" (statement_identifier "LAB_002c2967") (: ":") (if_statement "if (*(char *)(param_8 + 0x11) != '\0') {\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }" (if "if") (parenthesized_expression "(*(char *)(param_8 + 0x11) != '\0')" (( "(") (binary_expression "*(char *)(param_8 + 0x11) != '\0'" (pointer_expression "*(char *)(param_8 + 0x11)" (* "*") (cast_expression "(char *)(param_8 + 0x11)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_8 + 0x11)" (( "(") (binary_expression "param_8 + 0x11" (identifier "param_8") (+ "+") (number_literal "0x11")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            uVar19 = FUN_001a5ac0(param_9,plVar6,0);\n            if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }\n            piVar7 = (int *)puVar34[0x1a];\n            if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }\n            if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }\n            *(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;\n            break;\n          }" ({ "{") (expression_statement "uVar19 = FUN_001a5ac0(param_9,plVar6,0);" (assignment_expression "uVar19 = FUN_001a5ac0(param_9,plVar6,0)" (identifier "uVar19") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (*(int *)((long)param_8 + 0x5c) == 2) {\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }" (if "if") (parenthesized_expression "(*(int *)((long)param_8 + 0x5c) == 2)" (( "(") (binary_expression "*(int *)((long)param_8 + 0x5c) == 2" (pointer_expression "*(int *)((long)param_8 + 0x5c)" (* "*") (cast_expression "(int *)((long)param_8 + 0x5c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 0x5c)" (( "(") (binary_expression "(long)param_8 + 0x5c" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "0x5c")) () ")")))) (== "==") (number_literal "2")) () ")")) (compound_statement "{\nLAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");\n            }" ({ "{") (labeled_statement "LAB_002c461d:\n                    \n              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");" (statement_identifier "LAB_002c461d") (: ":") (expression_statement "FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset")" (identifier "FUN_00352af0") (argument_list "("../../gold/mips.cc",0x895,"get_primary_got_offset")" (( "(") (string_literal ""../../gold/mips.cc"" (" """) (string_content "../../gold/mips.cc") (" """)) (, ",") (number_literal "0x895") (, ",") (string_literal ""get_primary_got_offset"" (" """) (string_content "get_primary_got_offset") (" """)) () ")"))) (; ";"))) (} "}"))) (expression_statement "piVar7 = (int *)puVar34[0x1a];" (assignment_expression "piVar7 = (int *)puVar34[0x1a]" (identifier "piVar7") (= "=") (cast_expression "(int *)puVar34[0x1a]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar34[0x1a]" (identifier "puVar34") ([ "[") (number_literal "0x1a") (] "]")))) (; ";")) (if_statement "if (piVar7 == (int *)0x0) {\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }\n            else {\n              iVar35 = piVar7[1] + *piVar7;\n            }" (if "if") (parenthesized_expression "(piVar7 == (int *)0x0)" (( "(") (binary_expression "piVar7 == (int *)0x0" (identifier "piVar7") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];\n            }" ({ "{") (expression_statement "iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];" (assignment_expression "iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19]" (identifier "iVar35") (= "=") (binary_expression "((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19]" (subscript_expression "((int *)puVar34[0x19])[1]" (parenthesized_expression "((int *)puVar34[0x19])" (( "(") (cast_expression "(int *)puVar34[0x19]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar34[0x19]" (identifier "puVar34") ([ "[") (number_literal "0x19") (] "]"))) () ")")) ([ "[") (number_literal "1") (] "]")) (+ "+") (pointer_expression "*(int *)puVar34[0x19]" (* "*") (cast_expression "(int *)puVar34[0x19]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar34[0x19]" (identifier "puVar34") ([ "[") (number_literal "0x19") (] "]")))))) (; ";")) (} "}")) (else_clause "else {\n              iVar35 = piVar7[1] + *piVar7;\n            }" (else "else") (compound_statement "{\n              iVar35 = piVar7[1] + *piVar7;\n            }" ({ "{") (expression_statement "iVar35 = piVar7[1] + *piVar7;" (assignment_expression "iVar35 = piVar7[1] + *piVar7" (identifier "iVar35") (= "=") (binary_expression "piVar7[1] + *piVar7" (subscript_expression "piVar7[1]" (identifier "piVar7") ([ "[") (number_literal "1") (] "]")) (+ "+") (pointer_expression "*piVar7" (* "*") (identifier "piVar7")))) (; ";")) (} "}")))) (if_statement "if (*(int *)(param_8 + 4) == 0) {\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }" (if "if") (parenthesized_expression "(*(int *)(param_8 + 4) == 0)" (( "(") (binary_expression "*(int *)(param_8 + 4) == 0" (pointer_expression "*(int *)(param_8 + 4)" (* "*") (cast_expression "(int *)(param_8 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_8 + 4)" (( "(") (binary_expression "param_8 + 4" (identifier "param_8") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              FUN_00290e30();\n              goto LAB_002c461d;\n            }" ({ "{") (expression_statement "FUN_00290e30();" (call_expression "FUN_00290e30()" (identifier "FUN_00290e30") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_002c461d;" (goto "goto") (statement_identifier "LAB_002c461d") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19;" (assignment_expression "*(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =\n                 uVar19" (pointer_expression "*(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3))" (* "*") (cast_expression "(undefined4 *)\n             (puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3))" (( "(") (binary_expression "puVar34[0x17] +\n             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)" (subscript_expression "puVar34[0x17]" (identifier "puVar34") ([ "[") (number_literal "0x17") (] "]")) (+ "+") (call_expression "(ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)" (( "(") (binary_expression "((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3" (binary_expression "((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20" (parenthesized_expression "((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2)" (( "(") (binary_expression "(*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2" (binary_expression "(*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35" (parenthesized_expression "(*(int *)(param_8 + 4) - (uint)puVar34[0x18])" (( "(") (binary_expression "*(int *)(param_8 + 4) - (uint)puVar34[0x18]" (pointer_expression "*(int *)(param_8 + 4)" (* "*") (cast_expression "(int *)(param_8 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_8 + 4)" (( "(") (binary_expression "param_8 + 4" (identifier "param_8") (+ "+") (number_literal "4")) () ")")))) (- "-") (cast_expression "(uint)puVar34[0x18]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "puVar34[0x18]" (identifier "puVar34") ([ "[") (number_literal "0x18") (] "]")))) () ")")) (+ "+") (identifier "iVar35")) (+ "+") (number_literal "2")) () ")")) (* "*") (number_literal "0x20")) (>> ">>") (number_literal "3")) () ")")))) () ")")))) (= "=") (identifier "uVar19")) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}")))) (} "}")))) (expression_statement "uVar19 = FUN_001a5ac0(param_9,plVar6,0);" (assignment_expression "uVar19 = FUN_001a5ac0(param_9,plVar6,0)" (identifier "uVar19") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;" (assignment_expression "*(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19" (pointer_expression "*(undefined4 *)(puVar34[0x17] + (ulong)local_e4)" (* "*") (cast_expression "(undefined4 *)(puVar34[0x17] + (ulong)local_e4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar34[0x17] + (ulong)local_e4)" (( "(") (binary_expression "puVar34[0x17] + (ulong)local_e4" (subscript_expression "puVar34[0x17]" (identifier "puVar34") ([ "[") (number_literal "0x17") (] "]")) (+ "+") (cast_expression "(ulong)local_e4" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "local_e4"))) () ")")))) (= "=") (identifier "uVar19")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 3:\nswitchD_002c14fa_caseD_3:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");" (case "case") (number_literal "3") (: ":") (labeled_statement "switchD_002c14fa_caseD_3:\n                    \n      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");" (statement_identifier "switchD_002c14fa_caseD_3") (: ":") (expression_statement "FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate")" (identifier "FUN_00352af0") (argument_list "("../../gold/mips.cc",0x2e62,"relocate")" (( "(") (string_literal ""../../gold/mips.cc"" (" """) (string_content "../../gold/mips.cc") (" """)) (, ",") (number_literal "0x2e62") (, ",") (string_literal ""relocate"" (" """) (string_content "relocate") (" """)) () ")"))) (; ";")))) (case_statement "case 4:" (case "case") (number_literal "4") (: ":")) (case_statement "case 100:" (case "case") (number_literal "100") (: ":")) (case_statement "case 0x85:\n      local_b8 = 0;\n      bVar42 = (!bVar45 || !bVar48) & local_cf;\n      uVar17 = (uint)*param_10;\n      goto LAB_002c38d3;" (case "case") (number_literal "0x85") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar42 = (!bVar45 || !bVar48) & local_cf;" (assignment_expression "bVar42 = (!bVar45 || !bVar48) & local_cf" (identifier "bVar42") (= "=") (binary_expression "(!bVar45 || !bVar48) & local_cf" (parenthesized_expression "(!bVar45 || !bVar48)" (( "(") (binary_expression "!bVar45 || !bVar48" (unary_expression "!bVar45" (! "!") (identifier "bVar45")) (|| "||") (unary_expression "!bVar48" (! "!") (identifier "bVar48"))) () ")")) (& "&") (identifier "local_cf"))) (; ";")) (expression_statement "uVar17 = (uint)*param_10;" (assignment_expression "uVar17 = (uint)*param_10" (identifier "uVar17") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (goto_statement "goto LAB_002c38d3;" (goto "goto") (statement_identifier "LAB_002c38d3") (; ";"))) (case_statement "case 5:" (case "case") (number_literal "5") (: ":")) (case_statement "case 0x68:" (case "case") (number_literal "0x68") (: ":")) (case_statement "case 0x86:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }\n      break;" (case "case") (number_literal "0x86") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "switchD_002c18c9_caseD_5:\n      if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }" (statement_identifier "switchD_002c18c9_caseD_5") (: ":") (if_statement "if (param_3 == 4) {\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }" (if "if") (parenthesized_expression "(param_3 == 4)" (( "(") (binary_expression "param_3 == 4" (identifier "param_3") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);\n      }" ({ "{") (expression_statement "uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1);" (assignment_expression "uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1)" (identifier "uVar17") (= "=") (call_expression "FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1)" (identifier "FUN_002a95c0") (argument_list "(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,\n                              local_b8 & 0xff,0,param_4,bVar14,param_1)" (( "(") (identifier "param_10") (, ",") (identifier "plVar6") (, ",") (identifier "param_9") (, ",") (identifier "local_cc") (, ",") (identifier "param_11") (, ",") (identifier "cVar15") (, ",") (identifier "uVar18") (, ",") (binary_expression "local_b8 & 0xff" (identifier "local_b8") (& "&") (number_literal "0xff")) (, ",") (number_literal "0") (, ",") (identifier "param_4") (, ",") (identifier "bVar14") (, ",") (identifier "param_1") () ")")))) (; ";")) (} "}")) (else_clause "else {\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }" (else "else") (compound_statement "{\n        if (param_3 != 9) goto LAB_002c46ec;\n        lVar31 = FUN_0049cb70(0x40);\n        uVar17 = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x2c) = uVar18;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        *(char *)(lVar31 + 0x3c) = cVar15;\n        FUN_004a11e0(lVar31,&DAT_0067dae0);\n        _DAT_0067daf0 = _DAT_0067daf0 + 1;\n      }" ({ "{") (if_statement "if (param_3 != 9) goto LAB_002c46ec;" (if "if") (parenthesized_expression "(param_3 != 9)" (( "(") (binary_expression "param_3 != 9" (identifier "param_3") (!= "!=") (number_literal "9")) () ")")) (goto_statement "goto LAB_002c46ec;" (goto "goto") (statement_identifier "LAB_002c46ec") (; ";"))) (expression_statement "lVar31 = FUN_0049cb70(0x40);" (assignment_expression "lVar31 = FUN_0049cb70(0x40)" (identifier "lVar31") (= "=") (call_expression "FUN_0049cb70(0x40)" (identifier "FUN_0049cb70") (argument_list "(0x40)" (( "(") (number_literal "0x40") () ")")))) (; ";")) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(ulong **)(lVar31 + 0x10) = param_10;" (assignment_expression "*(ulong **)(lVar31 + 0x10) = param_10" (pointer_expression "*(ulong **)(lVar31 + 0x10)" (* "*") (cast_expression "(ulong **)(lVar31 + 0x10)" (( "(") (type_descriptor "ulong **" (type_identifier "ulong") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar31 + 0x10)" (( "(") (binary_expression "lVar31 + 0x10" (identifier "lVar31") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "param_10")) (; ";")) (expression_statement "*(long **)(lVar31 + 0x18) = plVar6;" (assignment_expression "*(long **)(lVar31 + 0x18) = plVar6" (pointer_expression "*(long **)(lVar31 + 0x18)" (* "*") (cast_expression "(long **)(lVar31 + 0x18)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar31 + 0x18)" (( "(") (binary_expression "lVar31 + 0x18" (identifier "lVar31") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "plVar6")) (; ";")) (expression_statement "*(undefined8 **)(lVar31 + 0x20) = param_9;" (assignment_expression "*(undefined8 **)(lVar31 + 0x20) = param_9" (pointer_expression "*(undefined8 **)(lVar31 + 0x20)" (* "*") (cast_expression "(undefined8 **)(lVar31 + 0x20)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar31 + 0x20)" (( "(") (binary_expression "lVar31 + 0x20" (identifier "lVar31") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "param_9")) (; ";")) (expression_statement "*(uint *)(lVar31 + 0x28) = local_cc;" (assignment_expression "*(uint *)(lVar31 + 0x28) = local_cc" (pointer_expression "*(uint *)(lVar31 + 0x28)" (* "*") (cast_expression "(uint *)(lVar31 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x28)" (( "(") (binary_expression "lVar31 + 0x28" (identifier "lVar31") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (identifier "local_cc")) (; ";")) (expression_statement "*(uint *)(lVar31 + 0x2c) = uVar18;" (assignment_expression "*(uint *)(lVar31 + 0x2c) = uVar18" (pointer_expression "*(uint *)(lVar31 + 0x2c)" (* "*") (cast_expression "(uint *)(lVar31 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x2c)" (( "(") (binary_expression "lVar31 + 0x2c" (identifier "lVar31") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (identifier "uVar18")) (; ";")) (expression_statement "*(uint *)(lVar31 + 0x30) = uVar33;" (assignment_expression "*(uint *)(lVar31 + 0x30) = uVar33" (pointer_expression "*(uint *)(lVar31 + 0x30)" (* "*") (cast_expression "(uint *)(lVar31 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x30)" (( "(") (binary_expression "lVar31 + 0x30" (identifier "lVar31") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "*(char *)(lVar31 + 0x34) = (char)local_b8;" (assignment_expression "*(char *)(lVar31 + 0x34) = (char)local_b8" (pointer_expression "*(char *)(lVar31 + 0x34)" (* "*") (cast_expression "(char *)(lVar31 + 0x34)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x34)" (( "(") (binary_expression "lVar31 + 0x34" (identifier "lVar31") (+ "+") (number_literal "0x34")) () ")")))) (= "=") (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8"))) (; ";")) (expression_statement "*(uint *)(lVar31 + 0x38) = param_11;" (assignment_expression "*(uint *)(lVar31 + 0x38) = param_11" (pointer_expression "*(uint *)(lVar31 + 0x38)" (* "*") (cast_expression "(uint *)(lVar31 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x38)" (( "(") (binary_expression "lVar31 + 0x38" (identifier "lVar31") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (identifier "param_11")) (; ";")) (expression_statement "*(char *)(lVar31 + 0x3c) = cVar15;" (assignment_expression "*(char *)(lVar31 + 0x3c) = cVar15" (pointer_expression "*(char *)(lVar31 + 0x3c)" (* "*") (cast_expression "(char *)(lVar31 + 0x3c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x3c)" (( "(") (binary_expression "lVar31 + 0x3c" (identifier "lVar31") (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (identifier "cVar15")) (; ";")) (expression_statement "FUN_004a11e0(lVar31,&DAT_0067dae0);" (call_expression "FUN_004a11e0(lVar31,&DAT_0067dae0)" (identifier "FUN_004a11e0") (argument_list "(lVar31,&DAT_0067dae0)" (( "(") (identifier "lVar31") (, ",") (pointer_expression "&DAT_0067dae0" (& "&") (identifier "DAT_0067dae0")) () ")"))) (; ";")) (expression_statement "_DAT_0067daf0 = _DAT_0067daf0 + 1;" (assignment_expression "_DAT_0067daf0 = _DAT_0067daf0 + 1" (identifier "_DAT_0067daf0") (= "=") (binary_expression "_DAT_0067daf0 + 1" (identifier "_DAT_0067daf0") (+ "+") (number_literal "1"))) (; ";")) (} "}"))))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 6:" (case "case") (number_literal "6") (: ":")) (case_statement "case 0x69:" (case "case") (number_literal "0x69") (: ":")) (case_statement "case 0x87:" (case "case") (number_literal "0x87") (: ":")) (case_statement "case 0x9d:\n      local_b8 = 0;\n      local_108 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }\n      if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\nLAB_002c1ebf:\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;\n      break;" (case "case") (number_literal "0x9d") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_108 = (uint)*param_10;" (assignment_expression "local_108 = (uint)*param_10" (identifier "local_108") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" (identifier "local_b0") (= "=") (identifier "local_cc")) (; ";")) (labeled_statement "LAB_002c3615:\n      if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }" (statement_identifier "LAB_002c3615") (: ":") (if_statement "if (param_3 == 9) {\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }" (if "if") (parenthesized_expression "(param_3 == 9)" (( "(") (binary_expression "param_3 == 9" (identifier "param_3") (== "==") (number_literal "9")) () ")")) (compound_statement "{\n        local_100 = DAT_0067dae0;\n        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }\n        local_100 = DAT_0067dac0;\n        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }\n      }" ({ "{") (expression_statement "local_100 = DAT_0067dae0;" (assignment_expression "local_100 = DAT_0067dae0" (identifier "local_100") (= "=") (identifier "DAT_0067dae0")) (; ";")) (if_statement "if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }" (if "if") (parenthesized_expression "((undefined8 **)DAT_0067dae0 != &DAT_0067dae0)" (( "(") (binary_expression "(undefined8 **)DAT_0067dae0 != &DAT_0067dae0" (cast_expression "(undefined8 **)DAT_0067dae0" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "DAT_0067dae0")) (!= "!=") (pointer_expression "&DAT_0067dae0" (& "&") (identifier "DAT_0067dae0"))) () ")")) (compound_statement "{\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);\n        }" ({ "{") (do_statement "do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dae0);" (do "do") (compound_statement "{\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          }" ({ "{") (if_statement "if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }" (if "if") (parenthesized_expression "(uVar33 == *(uint *)(local_100 + 6))" (( "(") (binary_expression "uVar33 == *(uint *)(local_100 + 6)" (identifier "uVar33") (== "==") (pointer_expression "*(uint *)(local_100 + 6)" (* "*") (cast_expression "(uint *)(local_100 + 6)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_100 + 6)" (( "(") (binary_expression "local_100 + 6" (identifier "local_100") (+ "+") (number_literal "6")) () ")"))))) () ")")) (compound_statement "{\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c3ec8;\n              uVar22 = local_100[2];\n              uVar23 = local_100[4];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar41 = local_100[3];\n              uVar4 = *(undefined4 *)(local_100 + 7);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067daf0 = _DAT_0067daf0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }" ({ "{") (expression_statement "uVar19 = *(undefined4 *)((long)local_100 + 0x2c);" (assignment_expression "uVar19 = *(undefined4 *)((long)local_100 + 0x2c)" (identifier "uVar19") (= "=") (pointer_expression "*(undefined4 *)((long)local_100 + 0x2c)" (* "*") (cast_expression "(undefined4 *)((long)local_100 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_100 + 0x2c)" (( "(") (binary_expression "(long)local_100 + 0x2c" (cast_expression "(long)local_100" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_100")) (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "cVar16 = FUN_0028cc00(uVar19,uVar18);" (assignment_expression "cVar16 = FUN_0028cc00(uVar19,uVar18)" (identifier "cVar16") (= "=") (call_expression "FUN_0028cc00(uVar19,uVar18)" (identifier "FUN_0028cc00") (argument_list "(uVar19,uVar18)" (( "(") (identifier "uVar19") (, ",") (identifier "uVar18") () ")")))) (; ";")) (if_statement "if (cVar16 == '\0') goto LAB_002c3ec8;" (if "if") (parenthesized_expression "(cVar16 == '\0')" (( "(") (binary_expression "cVar16 == '\0'" (identifier "cVar16") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_002c3ec8;" (goto "goto") (statement_identifier "LAB_002c3ec8") (; ";"))) (expression_statement "uVar22 = local_100[2];" (assignment_expression "uVar22 = local_100[2]" (identifier "uVar22") (= "=") (subscript_expression "local_100[2]" (identifier "local_100") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar23 = local_100[4];" (assignment_expression "uVar23 = local_100[4]" (identifier "uVar23") (= "=") (subscript_expression "local_100[4]" (identifier "local_100") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "uVar5 = *(undefined4 *)(local_100 + 5);" (assignment_expression "uVar5 = *(undefined4 *)(local_100 + 5)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(local_100 + 5)" (* "*") (cast_expression "(undefined4 *)(local_100 + 5)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_100 + 5)" (( "(") (binary_expression "local_100 + 5" (identifier "local_100") (+ "+") (number_literal "5")) () ")"))))) (; ";")) (expression_statement "uVar41 = local_100[3];" (assignment_expression "uVar41 = local_100[3]" (identifier "uVar41") (= "=") (subscript_expression "local_100[3]" (identifier "local_100") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar4 = *(undefined4 *)(local_100 + 7);" (assignment_expression "uVar4 = *(undefined4 *)(local_100 + 7)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined4 *)(local_100 + 7)" (* "*") (cast_expression "(undefined4 *)(local_100 + 7)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_100 + 7)" (( "(") (binary_expression "local_100 + 7" (identifier "local_100") (+ "+") (number_literal "7")) () ")"))))) (; ";")) (expression_statement "FUN_00293aa0(uVar22,uVar19);" (call_expression "FUN_00293aa0(uVar22,uVar19)" (identifier "FUN_00293aa0") (argument_list "(uVar22,uVar19)" (( "(") (identifier "uVar22") (, ",") (identifier "uVar19") () ")"))) (; ";")) (expression_statement "uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);" (assignment_expression "uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4)" (identifier "uVar17") (= "=") (call_expression "FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4)" (identifier "FUN_002a95c0") (argument_list "(uVar22,uVar41,uVar23,uVar5,uVar4)" (( "(") (identifier "uVar22") (, ",") (identifier "uVar41") (, ",") (identifier "uVar23") (, ",") (identifier "uVar5") (, ",") (identifier "uVar4") () ")")))) (; ";")) (expression_statement "FUN_00293140(uVar22,uVar19,0);" (call_expression "FUN_00293140(uVar22,uVar19,0)" (identifier "FUN_00293140") (argument_list "(uVar22,uVar19,0)" (( "(") (identifier "uVar22") (, ",") (identifier "uVar19") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (uVar17 == 1) goto LAB_002c1e60;" (if "if") (parenthesized_expression "(uVar17 == 1)" (( "(") (binary_expression "uVar17 == 1" (identifier "uVar17") (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_002c1e60;" (goto "goto") (statement_identifier "LAB_002c1e60") (; ";"))) (expression_statement "puVar10 = (undefined8 *)*local_100;" (assignment_expression "puVar10 = (undefined8 *)*local_100" (identifier "puVar10") (= "=") (cast_expression "(undefined8 *)*local_100" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_100" (* "*") (identifier "local_100")))) (; ";")) (expression_statement "_DAT_0067daf0 = _DAT_0067daf0 + -1;" (assignment_expression "_DAT_0067daf0 = _DAT_0067daf0 + -1" (identifier "_DAT_0067daf0") (= "=") (binary_expression "_DAT_0067daf0 + -1" (identifier "_DAT_0067daf0") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "FUN_004a1200(local_100);" (call_expression "FUN_004a1200(local_100)" (identifier "FUN_004a1200") (argument_list "(local_100)" (( "(") (identifier "local_100") () ")"))) (; ";")) (expression_statement "FUN_0049e340(local_100);" (call_expression "FUN_0049e340(local_100)" (identifier "FUN_0049e340") (argument_list "(local_100)" (( "(") (identifier "local_100") () ")"))) (; ";")) (expression_statement "local_100 = puVar10;" (assignment_expression "local_100 = puVar10" (identifier "local_100") (= "=") (identifier "puVar10")) (; ";")) (} "}")) (else_clause "else {\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }" (else "else") (compound_statement "{\nLAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;\n            }" ({ "{") (labeled_statement "LAB_002c3ec8:\n              local_100 = (undefined8 *)*local_100;" (statement_identifier "LAB_002c3ec8") (: ":") (expression_statement "local_100 = (undefined8 *)*local_100;" (assignment_expression "local_100 = (undefined8 *)*local_100" (identifier "local_100") (= "=") (cast_expression "(undefined8 *)*local_100" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_100" (* "*") (identifier "local_100")))) (; ";"))) (} "}")))) (} "}")) (while "while") (parenthesized_expression "((undefined8 **)local_100 != &DAT_0067dae0)" (( "(") (binary_expression "(undefined8 **)local_100 != &DAT_0067dae0" (cast_expression "(undefined8 **)local_100" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_100")) (!= "!=") (pointer_expression "&DAT_0067dae0" (& "&") (identifier "DAT_0067dae0"))) () ")")) (; ";")) (} "}"))) (expression_statement "local_100 = DAT_0067dac0;" (assignment_expression "local_100 = DAT_0067dac0" (identifier "local_100") (= "=") (identifier "DAT_0067dac0")) (; ";")) (if_statement "if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }" (if "if") (parenthesized_expression "((undefined8 **)DAT_0067dac0 != &DAT_0067dac0)" (( "(") (binary_expression "(undefined8 **)DAT_0067dac0 != &DAT_0067dac0" (cast_expression "(undefined8 **)DAT_0067dac0" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "DAT_0067dac0")) (!= "!=") (pointer_expression "&DAT_0067dac0" (& "&") (identifier "DAT_0067dac0"))) () ")")) (compound_statement "{\n          do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);\n        }" ({ "{") (do_statement "do {\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          } while ((undefined8 **)local_100 != &DAT_0067dac0);" (do "do") (compound_statement "{\n            if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }\n          }" ({ "{") (if_statement "if (uVar33 == *(uint *)(local_100 + 6)) {\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }\n            else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }" (if "if") (parenthesized_expression "(uVar33 == *(uint *)(local_100 + 6))" (( "(") (binary_expression "uVar33 == *(uint *)(local_100 + 6)" (identifier "uVar33") (== "==") (pointer_expression "*(uint *)(local_100 + 6)" (* "*") (cast_expression "(uint *)(local_100 + 6)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_100 + 6)" (( "(") (binary_expression "local_100 + 6" (identifier "local_100") (+ "+") (number_literal "6")) () ")"))))) () ")")) (compound_statement "{\n              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);\n              cVar16 = FUN_0028cc00(uVar19,uVar18);\n              if (cVar16 == '\0') goto LAB_002c41a8;\n              uVar22 = local_100[2];\n              uVar5 = *(undefined4 *)(local_100 + 5);\n              uVar23 = local_100[3];\n              uVar41 = local_100[4];\n              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);\n              FUN_00293aa0(uVar22,uVar19);\n              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);\n              FUN_00293140(uVar22,uVar19,0);\n              if (uVar17 == 1) goto LAB_002c1e60;\n              puVar10 = (undefined8 *)*local_100;\n              _DAT_0067dad0 = _DAT_0067dad0 + -1;\n              FUN_004a1200(local_100);\n              FUN_0049e340(local_100);\n              local_100 = puVar10;\n            }" ({ "{") (expression_statement "uVar19 = *(undefined4 *)((long)local_100 + 0x2c);" (assignment_expression "uVar19 = *(undefined4 *)((long)local_100 + 0x2c)" (identifier "uVar19") (= "=") (pointer_expression "*(undefined4 *)((long)local_100 + 0x2c)" (* "*") (cast_expression "(undefined4 *)((long)local_100 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_100 + 0x2c)" (( "(") (binary_expression "(long)local_100 + 0x2c" (cast_expression "(long)local_100" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_100")) (+ "+") (number_literal "0x2c")) () ")"))))) (; ";")) (expression_statement "cVar16 = FUN_0028cc00(uVar19,uVar18);" (assignment_expression "cVar16 = FUN_0028cc00(uVar19,uVar18)" (identifier "cVar16") (= "=") (call_expression "FUN_0028cc00(uVar19,uVar18)" (identifier "FUN_0028cc00") (argument_list "(uVar19,uVar18)" (( "(") (identifier "uVar19") (, ",") (identifier "uVar18") () ")")))) (; ";")) (if_statement "if (cVar16 == '\0') goto LAB_002c41a8;" (if "if") (parenthesized_expression "(cVar16 == '\0')" (( "(") (binary_expression "cVar16 == '\0'" (identifier "cVar16") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_002c41a8;" (goto "goto") (statement_identifier "LAB_002c41a8") (; ";"))) (expression_statement "uVar22 = local_100[2];" (assignment_expression "uVar22 = local_100[2]" (identifier "uVar22") (= "=") (subscript_expression "local_100[2]" (identifier "local_100") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar5 = *(undefined4 *)(local_100 + 5);" (assignment_expression "uVar5 = *(undefined4 *)(local_100 + 5)" (identifier "uVar5") (= "=") (pointer_expression "*(undefined4 *)(local_100 + 5)" (* "*") (cast_expression "(undefined4 *)(local_100 + 5)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_100 + 5)" (( "(") (binary_expression "local_100 + 5" (identifier "local_100") (+ "+") (number_literal "5")) () ")"))))) (; ";")) (expression_statement "uVar23 = local_100[3];" (assignment_expression "uVar23 = local_100[3]" (identifier "uVar23") (= "=") (subscript_expression "local_100[3]" (identifier "local_100") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "uVar41 = local_100[4];" (assignment_expression "uVar41 = local_100[4]" (identifier "uVar41") (= "=") (subscript_expression "local_100[4]" (identifier "local_100") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);" (assignment_expression "uVar32 = (ulong)*(byte *)((long)local_100 + 0x34)" (identifier "uVar32") (= "=") (binary_expression "(ulong)*(byte *)((long)local_100 + 0x34)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(byte *)((long)local_100 + 0x34)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_100 + 0x34)" (( "(") (binary_expression "(long)local_100 + 0x34" (cast_expression "(long)local_100" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_100")) (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "FUN_00293aa0(uVar22,uVar19);" (call_expression "FUN_00293aa0(uVar22,uVar19)" (identifier "FUN_00293aa0") (argument_list "(uVar22,uVar19)" (( "(") (identifier "uVar22") (, ",") (identifier "uVar19") () ")"))) (; ";")) (expression_statement "uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1);" (assignment_expression "uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1)" (identifier "uVar17") (= "=") (call_expression "FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1)" (identifier "FUN_002c0e50") (argument_list "(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14\n                                    ,param_1)" (( "(") (identifier "uVar22") (, ",") (identifier "uVar23") (, ",") (identifier "uVar41") (, ",") (identifier "uVar5") (, ",") (binary_expression "uVar32 & 0xff" (identifier "uVar32") (& "&") (number_literal "0xff")) (, ",") (identifier "local_b0") (, ",") (identifier "param_4") (, ",") (identifier "bVar14") (, ",") (identifier "param_1") () ")")))) (; ";")) (expression_statement "FUN_00293140(uVar22,uVar19,0);" (call_expression "FUN_00293140(uVar22,uVar19,0)" (identifier "FUN_00293140") (argument_list "(uVar22,uVar19,0)" (( "(") (identifier "uVar22") (, ",") (identifier "uVar19") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (uVar17 == 1) goto LAB_002c1e60;" (if "if") (parenthesized_expression "(uVar17 == 1)" (( "(") (binary_expression "uVar17 == 1" (identifier "uVar17") (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_002c1e60;" (goto "goto") (statement_identifier "LAB_002c1e60") (; ";"))) (expression_statement "puVar10 = (undefined8 *)*local_100;" (assignment_expression "puVar10 = (undefined8 *)*local_100" (identifier "puVar10") (= "=") (cast_expression "(undefined8 *)*local_100" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_100" (* "*") (identifier "local_100")))) (; ";")) (expression_statement "_DAT_0067dad0 = _DAT_0067dad0 + -1;" (assignment_expression "_DAT_0067dad0 = _DAT_0067dad0 + -1" (identifier "_DAT_0067dad0") (= "=") (binary_expression "_DAT_0067dad0 + -1" (identifier "_DAT_0067dad0") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "FUN_004a1200(local_100);" (call_expression "FUN_004a1200(local_100)" (identifier "FUN_004a1200") (argument_list "(local_100)" (( "(") (identifier "local_100") () ")"))) (; ";")) (expression_statement "FUN_0049e340(local_100);" (call_expression "FUN_0049e340(local_100)" (identifier "FUN_0049e340") (argument_list "(local_100)" (( "(") (identifier "local_100") () ")"))) (; ";")) (expression_statement "local_100 = puVar10;" (assignment_expression "local_100 = puVar10" (identifier "local_100") (= "=") (identifier "puVar10")) (; ";")) (} "}")) (else_clause "else {\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }" (else "else") (compound_statement "{\nLAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;\n            }" ({ "{") (labeled_statement "LAB_002c41a8:\n              local_100 = (undefined8 *)*local_100;" (statement_identifier "LAB_002c41a8") (: ":") (expression_statement "local_100 = (undefined8 *)*local_100;" (assignment_expression "local_100 = (undefined8 *)*local_100" (identifier "local_100") (= "=") (cast_expression "(undefined8 *)*local_100" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_100" (* "*") (identifier "local_100")))) (; ";"))) (} "}")))) (} "}")) (while "while") (parenthesized_expression "((undefined8 **)local_100 != &DAT_0067dac0)" (( "(") (binary_expression "(undefined8 **)local_100 != &DAT_0067dac0" (cast_expression "(undefined8 **)local_100" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_100")) (!= "!=") (pointer_expression "&DAT_0067dac0" (& "&") (identifier "DAT_0067dac0"))) () ")")) (; ";")) (} "}"))) (} "}")))) (if_statement "if (cVar15 == '\0') {\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }\n      else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }" (if "if") (parenthesized_expression "(cVar15 == '\0')" (( "(") (binary_expression "cVar15 == '\0'" (identifier "cVar15") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      }" ({ "{") (expression_statement "uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "uVar36") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,local_b0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "local_b0") () ")")))) (; ";")) (} "}")) (else_clause "else {\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }" (else "else") (compound_statement "{\n        lVar31 = *(long *)(param_4 + 0x28);\n        if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }\n        uVar36 = iVar35 + local_b0;\n      }" ({ "{") (expression_statement "lVar31 = *(long *)(param_4 + 0x28);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x28)" (identifier "lVar31") (= "=") (pointer_expression "*(long *)(param_4 + 0x28)" (* "*") (cast_expression "(long *)(param_4 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x28)" (( "(") (binary_expression "param_4 + 0x28" (identifier "param_4") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (uVar18 == 0x69) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }\n        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }" (if "if") (parenthesized_expression "(uVar18 == 0x69)" (( "(") (binary_expression "uVar18 == 0x69" (identifier "uVar18") (== "==") (number_literal "0x69")) () ")")) (compound_statement "{\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = iVar35 - (param_11 & 0xfffffffc);\n        }" ({ "{") (if_statement "if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" (if "if") (parenthesized_expression "(lVar31 == 0)" (( "(") (binary_expression "lVar31 == 0" (identifier "lVar31") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar35 = 0;\n          }" ({ "{") (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" (identifier "iVar35") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" (else "else") (compound_statement "{\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" ({ "{") (expression_statement "iVar35 = *(int *)(lVar31 + 0x40);" (assignment_expression "iVar35 = *(int *)(lVar31 + 0x40)" (identifier "iVar35") (= "=") (pointer_expression "*(int *)(lVar31 + 0x40)" (* "*") (cast_expression "(int *)(lVar31 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x40)" (( "(") (binary_expression "lVar31 + 0x40" (identifier "lVar31") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (if_statement "if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }" (if "if") (parenthesized_expression "(((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0))" (( "(") (binary_expression "((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)" (parenthesized_expression "((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))" (( "(") (binary_expression "(*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" (( "(") (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" (( "(") (binary_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0" (pointer_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0)" (* "*") (cast_expression "(long *)(*(long *)(param_4 + 0x20) + 0xd0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_4 + 0x20) + 0xd0)" (( "(") (binary_expression "*(long *)(param_4 + 0x20) + 0xd0" (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (+ "+") (number_literal "0xd0")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(plVar6[0x6e] != 0)" (( "(") (binary_expression "plVar6[0x6e] != 0" (subscript_expression "plVar6[0x6e]" (identifier "plVar6") ([ "[") (number_literal "0x6e") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }" ({ "{") (expression_statement "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);" (assignment_expression "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" (identifier "iVar35") (= "=") (binary_expression "iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" (identifier "iVar35") (+ "+") (pointer_expression "*(int *)(plVar6[0x6e] + 0x10c)" (* "*") (cast_expression "(int *)(plVar6[0x6e] + 0x10c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6[0x6e] + 0x10c)" (( "(") (binary_expression "plVar6[0x6e] + 0x10c" (subscript_expression "plVar6[0x6e]" (identifier "plVar6") ([ "[") (number_literal "0x6e") (] "]")) (+ "+") (number_literal "0x10c")) () ")")))))) (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar35 = iVar35 - (param_11 & 0xfffffffc);" (assignment_expression "iVar35 = iVar35 - (param_11 & 0xfffffffc)" (identifier "iVar35") (= "=") (binary_expression "iVar35 - (param_11 & 0xfffffffc)" (identifier "iVar35") (- "-") (parenthesized_expression "(param_11 & 0xfffffffc)" (( "(") (binary_expression "param_11 & 0xfffffffc" (identifier "param_11") (& "&") (number_literal "0xfffffffc")) () ")")))) (; ";")) (} "}")) (else_clause "else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }" (else "else") (if_statement "if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }\n        else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }" (if "if") (parenthesized_expression "((uVar18 == 0x87) || (uVar18 == 0x9d))" (( "(") (binary_expression "(uVar18 == 0x87) || (uVar18 == 0x9d)" (parenthesized_expression "(uVar18 == 0x87)" (( "(") (binary_expression "uVar18 == 0x87" (identifier "uVar18") (== "==") (number_literal "0x87")) () ")")) (|| "||") (parenthesized_expression "(uVar18 == 0x9d)" (( "(") (binary_expression "uVar18 == 0x9d" (identifier "uVar18") (== "==") (number_literal "0x9d")) () ")"))) () ")")) (compound_statement "{\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 3;\n        }" ({ "{") (if_statement "if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" (if "if") (parenthesized_expression "(lVar31 == 0)" (( "(") (binary_expression "lVar31 == 0" (identifier "lVar31") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar35 = 0;\n          }" ({ "{") (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" (identifier "iVar35") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" (else "else") (compound_statement "{\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" ({ "{") (expression_statement "iVar35 = *(int *)(lVar31 + 0x40);" (assignment_expression "iVar35 = *(int *)(lVar31 + 0x40)" (identifier "iVar35") (= "=") (pointer_expression "*(int *)(lVar31 + 0x40)" (* "*") (cast_expression "(int *)(lVar31 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x40)" (( "(") (binary_expression "lVar31 + 0x40" (identifier "lVar31") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (if_statement "if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }" (if "if") (parenthesized_expression "(((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0))" (( "(") (binary_expression "((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)" (parenthesized_expression "((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))" (( "(") (binary_expression "(*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" (( "(") (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" (( "(") (binary_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0" (pointer_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0)" (* "*") (cast_expression "(long *)(*(long *)(param_4 + 0x20) + 0xd0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_4 + 0x20) + 0xd0)" (( "(") (binary_expression "*(long *)(param_4 + 0x20) + 0xd0" (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (+ "+") (number_literal "0xd0")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(plVar6[0x6e] != 0)" (( "(") (binary_expression "plVar6[0x6e] != 0" (subscript_expression "plVar6[0x6e]" (identifier "plVar6") ([ "[") (number_literal "0x6e") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }" ({ "{") (expression_statement "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);" (assignment_expression "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" (identifier "iVar35") (= "=") (binary_expression "iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" (identifier "iVar35") (+ "+") (pointer_expression "*(int *)(plVar6[0x6e] + 0x10c)" (* "*") (cast_expression "(int *)(plVar6[0x6e] + 0x10c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6[0x6e] + 0x10c)" (( "(") (binary_expression "plVar6[0x6e] + 0x10c" (subscript_expression "plVar6[0x6e]" (identifier "plVar6") ([ "[") (number_literal "0x6e") (] "]")) (+ "+") (number_literal "0x10c")) () ")")))))) (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar35 = (iVar35 - param_11) + 3;" (assignment_expression "iVar35 = (iVar35 - param_11) + 3" (identifier "iVar35") (= "=") (binary_expression "(iVar35 - param_11) + 3" (parenthesized_expression "(iVar35 - param_11)" (( "(") (binary_expression "iVar35 - param_11" (identifier "iVar35") (- "-") (identifier "param_11")) () ")")) (+ "+") (number_literal "3"))) (; ";")) (} "}")) (else_clause "else {\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }" (else "else") (compound_statement "{\n          if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }\n          iVar35 = (iVar35 - param_11) + 4;\n        }" ({ "{") (if_statement "if (lVar31 == 0) {\n            iVar35 = 0;\n          }\n          else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" (if "if") (parenthesized_expression "(lVar31 == 0)" (( "(") (binary_expression "lVar31 == 0" (identifier "lVar31") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar35 = 0;\n          }" ({ "{") (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" (identifier "iVar35") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" (else "else") (compound_statement "{\n            iVar35 = *(int *)(lVar31 + 0x40);\n            if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }\n          }" ({ "{") (expression_statement "iVar35 = *(int *)(lVar31 + 0x40);" (assignment_expression "iVar35 = *(int *)(lVar31 + 0x40)" (identifier "iVar35") (= "=") (pointer_expression "*(int *)(lVar31 + 0x40)" (* "*") (cast_expression "(int *)(lVar31 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x40)" (( "(") (binary_expression "lVar31 + 0x40" (identifier "lVar31") (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (if_statement "if (((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }" (if "if") (parenthesized_expression "(((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0))" (( "(") (binary_expression "((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)" (parenthesized_expression "((*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))" (( "(") (binary_expression "(*(long *)(param_4 + 0x20) != 0) &&\n                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" (( "(") (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" (( "(") (binary_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0" (pointer_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0)" (* "*") (cast_expression "(long *)(*(long *)(param_4 + 0x20) + 0xd0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_4 + 0x20) + 0xd0)" (( "(") (binary_expression "*(long *)(param_4 + 0x20) + 0xd0" (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (+ "+") (number_literal "0xd0")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(plVar6[0x6e] != 0)" (( "(") (binary_expression "plVar6[0x6e] != 0" (subscript_expression "plVar6[0x6e]" (identifier "plVar6") ([ "[") (number_literal "0x6e") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n            }" ({ "{") (expression_statement "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);" (assignment_expression "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" (identifier "iVar35") (= "=") (binary_expression "iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" (identifier "iVar35") (+ "+") (pointer_expression "*(int *)(plVar6[0x6e] + 0x10c)" (* "*") (cast_expression "(int *)(plVar6[0x6e] + 0x10c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6[0x6e] + 0x10c)" (( "(") (binary_expression "plVar6[0x6e] + 0x10c" (subscript_expression "plVar6[0x6e]" (identifier "plVar6") ([ "[") (number_literal "0x6e") (] "]")) (+ "+") (number_literal "0x10c")) () ")")))))) (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar35 = (iVar35 - param_11) + 4;" (assignment_expression "iVar35 = (iVar35 - param_11) + 4" (identifier "iVar35") (= "=") (binary_expression "(iVar35 - param_11) + 4" (parenthesized_expression "(iVar35 - param_11)" (( "(") (binary_expression "iVar35 - param_11" (identifier "iVar35") (- "-") (identifier "param_11")) () ")")) (+ "+") (number_literal "4"))) (; ";")) (} "}")))))) (expression_statement "uVar36 = iVar35 + local_b0;" (assignment_expression "uVar36 = iVar35 + local_b0" (identifier "uVar36") (= "=") (binary_expression "iVar35 + local_b0" (identifier "iVar35") (+ "+") (identifier "local_b0"))) (; ";")) (} "}")))) (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" (if "if") (parenthesized_expression "((bool)bVar14)" (( "(") (cast_expression "(bool)bVar14" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "bVar14")) () ")")) (goto_statement "goto LAB_002c1f30;" (goto "goto") (statement_identifier "LAB_002c1f30") (; ";"))) (labeled_statement "LAB_002c1ebf:\n      uVar17 = 0;" (statement_identifier "LAB_002c1ebf") (: ":") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";"))) (expression_statement "*(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;" (assignment_expression "*(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108" (pointer_expression "*(uint *)param_10" (* "*") (cast_expression "(uint *)param_10" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_10"))) (= "=") (binary_expression "(uVar36 ^ local_108) & 0xffff ^ local_108" (binary_expression "(uVar36 ^ local_108) & 0xffff" (parenthesized_expression "(uVar36 ^ local_108)" (( "(") (binary_expression "uVar36 ^ local_108" (identifier "uVar36") (^ "^") (identifier "local_108")) () ")")) (& "&") (number_literal "0xffff")) (^ "^") (identifier "local_108"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 7:" (case "case") (number_literal "7") (: ":")) (case_statement "case 8:" (case "case") (number_literal "8") (: ":")) (case_statement "case 0x65:" (case "case") (number_literal "0x65") (: ":")) (case_statement "case 0x88:" (case "case") (number_literal "0x88") (: ":")) (case_statement "case 0x89:" (case "case") (number_literal "0x89") (: ":")) (case_statement "case 0xac:\n      lVar31 = *(long *)(param_4 + 0x28);\n      if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }\n      local_b8 = 0;\n      iVar35 = 0;\n      uVar17 = (uint)*param_10;\n      local_b0 = local_cc;\nLAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar21 - iVar35;\n      if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }\n      uVar20 = (uVar36 ^ uVar17) & 0xffff;\n      if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar17 ^ uVar20;\n      if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }\n      goto LAB_002c1fd6;" (case "case") (number_literal "0xac") (: ":") (expression_statement "lVar31 = *(long *)(param_4 + 0x28);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x28)" (identifier "lVar31") (= "=") (pointer_expression "*(long *)(param_4 + 0x28)" (* "*") (cast_expression "(long *)(param_4 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x28)" (( "(") (binary_expression "param_4 + 0x28" (identifier "param_4") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (lVar31 != 0) {\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }" (if "if") (parenthesized_expression "(lVar31 != 0)" (( "(") (binary_expression "lVar31 != 0" (identifier "lVar31") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        local_b8 = 0;\nLAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);\n        local_b0 = local_cc;\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n        goto LAB_002c3751;\n      }" ({ "{") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_002c370d:\n        iVar35 = *(int *)(lVar31 + 0x40);" (statement_identifier "LAB_002c370d") (: ":") (expression_statement "iVar35 = *(int *)(lVar31 + 0x40);" (assignment_expression "iVar35 = *(int *)(lVar31 + 0x40)" (identifier "iVar35") (= "=") (pointer_expression "*(int *)(lVar31 + 0x40)" (* "*") (cast_expression "(int *)(lVar31 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x40)" (( "(") (binary_expression "lVar31 + 0x40" (identifier "lVar31") (+ "+") (number_literal "0x40")) () ")"))))) (; ";"))) (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" (identifier "local_b0") (= "=") (identifier "local_cc")) (; ";")) (if_statement "if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }" (if "if") (parenthesized_expression "(((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0))" (( "(") (binary_expression "((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)" (parenthesized_expression "((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))" (( "(") (binary_expression "(*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" (( "(") (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" (( "(") (binary_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0" (pointer_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0)" (* "*") (cast_expression "(long *)(*(long *)(param_4 + 0x20) + 0xd0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_4 + 0x20) + 0xd0)" (( "(") (binary_expression "*(long *)(param_4 + 0x20) + 0xd0" (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (+ "+") (number_literal "0xd0")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(plVar6[0x6e] != 0)" (( "(") (binary_expression "plVar6[0x6e] != 0" (subscript_expression "plVar6[0x6e]" (identifier "plVar6") ([ "[") (number_literal "0x6e") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }" ({ "{") (expression_statement "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);" (assignment_expression "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" (identifier "iVar35") (= "=") (binary_expression "iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" (identifier "iVar35") (+ "+") (pointer_expression "*(int *)(plVar6[0x6e] + 0x10c)" (* "*") (cast_expression "(int *)(plVar6[0x6e] + 0x10c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6[0x6e] + 0x10c)" (( "(") (binary_expression "plVar6[0x6e] + 0x10c" (subscript_expression "plVar6[0x6e]" (identifier "plVar6") ([ "[") (number_literal "0x6e") (] "]")) (+ "+") (number_literal "0x10c")) () ")")))))) (; ";")) (} "}"))) (goto_statement "goto LAB_002c3751;" (goto "goto") (statement_identifier "LAB_002c3751") (; ";")) (} "}"))) (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" (identifier "iVar35") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar17 = (uint)*param_10;" (assignment_expression "uVar17 = (uint)*param_10" (identifier "uVar17") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" (identifier "local_b0") (= "=") (identifier "local_cc")) (; ";")) (labeled_statement "LAB_002c378b:\n      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);" (statement_identifier "LAB_002c378b") (: ":") (expression_statement "iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "iVar21") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,local_b0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "local_b0") () ")")))) (; ";"))) (expression_statement "uVar36 = iVar21 - iVar35;" (assignment_expression "uVar36 = iVar21 - iVar35" (identifier "uVar36") (= "=") (binary_expression "iVar21 - iVar35" (identifier "iVar21") (- "-") (identifier "iVar35"))) (; ";")) (if_statement "if (param_8 == (undefined8 *)0x0) {\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }" (if "if") (parenthesized_expression "(param_8 == (undefined8 *)0x0)" (( "(") (binary_expression "param_8 == (undefined8 *)0x0" (identifier "param_8") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        uVar36 = uVar36 + (int)plVar6[0x6d];\n      }" ({ "{") (expression_statement "uVar36 = uVar36 + (int)plVar6[0x6d];" (assignment_expression "uVar36 = uVar36 + (int)plVar6[0x6d]" (identifier "uVar36") (= "=") (binary_expression "uVar36 + (int)plVar6[0x6d]" (identifier "uVar36") (+ "+") (cast_expression "(int)plVar6[0x6d]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "plVar6[0x6d]" (identifier "plVar6") ([ "[") (number_literal "0x6d") (] "]"))))) (; ";")) (} "}"))) (expression_statement "uVar20 = (uVar36 ^ uVar17) & 0xffff;" (assignment_expression "uVar20 = (uVar36 ^ uVar17) & 0xffff" (identifier "uVar20") (= "=") (binary_expression "(uVar36 ^ uVar17) & 0xffff" (parenthesized_expression "(uVar36 ^ uVar17)" (( "(") (binary_expression "uVar36 ^ uVar17" (identifier "uVar36") (^ "^") (identifier "uVar17")) () ")")) (& "&") (number_literal "0xffff"))) (; ";")) (if_statement "if (uVar18 == 0xac) {\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }" (if "if") (parenthesized_expression "(uVar18 == 0xac)" (( "(") (binary_expression "uVar18 == 0xac" (identifier "uVar18") (== "==") (number_literal "0xac")) () ")")) (compound_statement "{\n        uVar20 = (uVar36 ^ uVar17) & 0x7f;\n      }" ({ "{") (expression_statement "uVar20 = (uVar36 ^ uVar17) & 0x7f;" (assignment_expression "uVar20 = (uVar36 ^ uVar17) & 0x7f" (identifier "uVar20") (= "=") (binary_expression "(uVar36 ^ uVar17) & 0x7f" (parenthesized_expression "(uVar36 ^ uVar17)" (( "(") (binary_expression "uVar36 ^ uVar17" (identifier "uVar36") (^ "^") (identifier "uVar17")) () ")")) (& "&") (number_literal "0x7f"))) (; ";")) (} "}"))) (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" (if "if") (parenthesized_expression "((bool)bVar14)" (( "(") (cast_expression "(bool)bVar14" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "bVar14")) () ")")) (goto_statement "goto LAB_002c1f30;" (goto "goto") (statement_identifier "LAB_002c1f30") (; ";"))) (expression_statement "*(uint *)param_10 = uVar17 ^ uVar20;" (assignment_expression "*(uint *)param_10 = uVar17 ^ uVar20" (pointer_expression "*(uint *)param_10" (* "*") (cast_expression "(uint *)param_10" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_10"))) (= "=") (binary_expression "uVar17 ^ uVar20" (identifier "uVar17") (^ "^") (identifier "uVar20"))) (; ";")) (if_statement "if (0xffff < uVar36 + 0x8000) {\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }" (if "if") (parenthesized_expression "(0xffff < uVar36 + 0x8000)" (( "(") (binary_expression "0xffff < uVar36 + 0x8000" (number_literal "0xffff") (< "<") (binary_expression "uVar36 + 0x8000" (identifier "uVar36") (+ "+") (number_literal "0x8000"))) () ")")) (compound_statement "{\n        uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );\n        FUN_0034a750(uVar22);\n        goto LAB_002c3567;\n      }" ({ "{") (expression_statement "uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        );" (assignment_expression "uVar22 = gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        )" (identifier "uVar22") (= "=") (call_expression "gettext(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        )" (identifier "gettext") (argument_list "(\n                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"\n                        )" (( "(") (string_literal ""small-data section exceeds 64KB; lower small-data size limit (see option -G)"" (" """) (string_content "small-data section exceeds 64KB; lower small-data size limit (see option -G)") (" """)) () ")")))) (; ";")) (expression_statement "FUN_0034a750(uVar22);" (call_expression "FUN_0034a750(uVar22)" (identifier "FUN_0034a750") (argument_list "(uVar22)" (( "(") (identifier "uVar22") () ")"))) (; ";")) (goto_statement "goto LAB_002c3567;" (goto "goto") (statement_identifier "LAB_002c3567") (; ";")) (} "}"))) (goto_statement "goto LAB_002c1fd6;" (goto "goto") (statement_identifier "LAB_002c1fd6") (; ";"))) (case_statement "case 9:" (case "case") (number_literal "9") (: ":")) (case_statement "case 0x66:" (case "case") (number_literal "0x66") (: ":")) (case_statement "case 0x8a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }\n      goto LAB_002c479c;" (case "case") (number_literal "0x8a") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "switchD_002c18c9_caseD_9:\n      if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }" (statement_identifier "switchD_002c18c9_caseD_9") (: ":") (if_statement "if (param_8 == (undefined8 *)0x0) {\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }" (if "if") (parenthesized_expression "(param_8 == (undefined8 *)0x0)" (( "(") (binary_expression "param_8 == (undefined8 *)0x0" (identifier "param_8") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }\n        if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");\n      }" ({ "{") (if_statement "if (param_3 == 4) {\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }" (if "if") (parenthesized_expression "(param_3 == 4)" (( "(") (binary_expression "param_3 == 4" (identifier "param_3") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);\n          goto LAB_002c2945;\n        }" ({ "{") (expression_statement "uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1);" (assignment_expression "uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1)" (identifier "uVar17") (= "=") (call_expression "FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1)" (identifier "FUN_002c0e50") (argument_list "(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,\n                                param_1)" (( "(") (identifier "param_10") (, ",") (identifier "plVar6") (, ",") (identifier "param_9") (, ",") (identifier "local_cc") (, ",") (binary_expression "local_b8 & 0xff" (identifier "local_b8") (& "&") (number_literal "0xff")) (, ",") (number_literal "0") (, ",") (identifier "param_4") (, ",") (identifier "bVar14") (, ",") (identifier "param_1") () ")")))) (; ";")) (goto_statement "goto LAB_002c2945;" (goto "goto") (statement_identifier "LAB_002c2945") (; ";")) (} "}"))) (if_statement "if (param_3 == 9) {\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }" (if "if") (parenthesized_expression "(param_3 == 9)" (( "(") (binary_expression "param_3 == 9" (identifier "param_3") (== "==") (number_literal "9")) () ")")) (compound_statement "{\n          lVar31 = FUN_0049cb70(0x40);\n          *(undefined1 *)(lVar31 + 0x3c) = 0;\n          uVar17 = 0;\n          *(undefined4 *)(lVar31 + 0x38) = 0;\n          *(ulong **)(lVar31 + 0x10) = param_10;\n          *(long **)(lVar31 + 0x18) = plVar6;\n          *(undefined8 **)(lVar31 + 0x20) = param_9;\n          *(uint *)(lVar31 + 0x28) = local_cc;\n          *(uint *)(lVar31 + 0x2c) = uVar18;\n          *(uint *)(lVar31 + 0x30) = uVar33;\n          *(char *)(lVar31 + 0x34) = (char)local_b8;\n          FUN_004a11e0(lVar31,&DAT_0067dac0);\n          _DAT_0067dad0 = _DAT_0067dad0 + 1;\n          goto LAB_002c2945;\n        }" ({ "{") (expression_statement "lVar31 = FUN_0049cb70(0x40);" (assignment_expression "lVar31 = FUN_0049cb70(0x40)" (identifier "lVar31") (= "=") (call_expression "FUN_0049cb70(0x40)" (identifier "FUN_0049cb70") (argument_list "(0x40)" (( "(") (number_literal "0x40") () ")")))) (; ";")) (expression_statement "*(undefined1 *)(lVar31 + 0x3c) = 0;" (assignment_expression "*(undefined1 *)(lVar31 + 0x3c) = 0" (pointer_expression "*(undefined1 *)(lVar31 + 0x3c)" (* "*") (cast_expression "(undefined1 *)(lVar31 + 0x3c)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x3c)" (( "(") (binary_expression "lVar31 + 0x3c" (identifier "lVar31") (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(lVar31 + 0x38) = 0;" (assignment_expression "*(undefined4 *)(lVar31 + 0x38) = 0" (pointer_expression "*(undefined4 *)(lVar31 + 0x38)" (* "*") (cast_expression "(undefined4 *)(lVar31 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x38)" (( "(") (binary_expression "lVar31 + 0x38" (identifier "lVar31") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(ulong **)(lVar31 + 0x10) = param_10;" (assignment_expression "*(ulong **)(lVar31 + 0x10) = param_10" (pointer_expression "*(ulong **)(lVar31 + 0x10)" (* "*") (cast_expression "(ulong **)(lVar31 + 0x10)" (( "(") (type_descriptor "ulong **" (type_identifier "ulong") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar31 + 0x10)" (( "(") (binary_expression "lVar31 + 0x10" (identifier "lVar31") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "param_10")) (; ";")) (expression_statement "*(long **)(lVar31 + 0x18) = plVar6;" (assignment_expression "*(long **)(lVar31 + 0x18) = plVar6" (pointer_expression "*(long **)(lVar31 + 0x18)" (* "*") (cast_expression "(long **)(lVar31 + 0x18)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar31 + 0x18)" (( "(") (binary_expression "lVar31 + 0x18" (identifier "lVar31") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "plVar6")) (; ";")) (expression_statement "*(undefined8 **)(lVar31 + 0x20) = param_9;" (assignment_expression "*(undefined8 **)(lVar31 + 0x20) = param_9" (pointer_expression "*(undefined8 **)(lVar31 + 0x20)" (* "*") (cast_expression "(undefined8 **)(lVar31 + 0x20)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar31 + 0x20)" (( "(") (binary_expression "lVar31 + 0x20" (identifier "lVar31") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "param_9")) (; ";")) (expression_statement "*(uint *)(lVar31 + 0x28) = local_cc;" (assignment_expression "*(uint *)(lVar31 + 0x28) = local_cc" (pointer_expression "*(uint *)(lVar31 + 0x28)" (* "*") (cast_expression "(uint *)(lVar31 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x28)" (( "(") (binary_expression "lVar31 + 0x28" (identifier "lVar31") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (identifier "local_cc")) (; ";")) (expression_statement "*(uint *)(lVar31 + 0x2c) = uVar18;" (assignment_expression "*(uint *)(lVar31 + 0x2c) = uVar18" (pointer_expression "*(uint *)(lVar31 + 0x2c)" (* "*") (cast_expression "(uint *)(lVar31 + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x2c)" (( "(") (binary_expression "lVar31 + 0x2c" (identifier "lVar31") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (identifier "uVar18")) (; ";")) (expression_statement "*(uint *)(lVar31 + 0x30) = uVar33;" (assignment_expression "*(uint *)(lVar31 + 0x30) = uVar33" (pointer_expression "*(uint *)(lVar31 + 0x30)" (* "*") (cast_expression "(uint *)(lVar31 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x30)" (( "(") (binary_expression "lVar31 + 0x30" (identifier "lVar31") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "*(char *)(lVar31 + 0x34) = (char)local_b8;" (assignment_expression "*(char *)(lVar31 + 0x34) = (char)local_b8" (pointer_expression "*(char *)(lVar31 + 0x34)" (* "*") (cast_expression "(char *)(lVar31 + 0x34)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x34)" (( "(") (binary_expression "lVar31 + 0x34" (identifier "lVar31") (+ "+") (number_literal "0x34")) () ")")))) (= "=") (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8"))) (; ";")) (expression_statement "FUN_004a11e0(lVar31,&DAT_0067dac0);" (call_expression "FUN_004a11e0(lVar31,&DAT_0067dac0)" (identifier "FUN_004a11e0") (argument_list "(lVar31,&DAT_0067dac0)" (( "(") (identifier "lVar31") (, ",") (pointer_expression "&DAT_0067dac0" (& "&") (identifier "DAT_0067dac0")) () ")"))) (; ";")) (expression_statement "_DAT_0067dad0 = _DAT_0067dad0 + 1;" (assignment_expression "_DAT_0067dad0 = _DAT_0067dad0 + 1" (identifier "_DAT_0067dad0") (= "=") (binary_expression "_DAT_0067dad0 + 1" (identifier "_DAT_0067dad0") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_002c2945;" (goto "goto") (statement_identifier "LAB_002c2945") (; ";")) (} "}"))) (expression_statement "FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate")" (identifier "FUN_00352af0") (argument_list "("../../gold/mips.cc",0x2f66,"relocate")" (( "(") (string_literal ""../../gold/mips.cc"" (" """) (string_content "../../gold/mips.cc") (" """)) (, ",") (number_literal "0x2f66") (, ",") (string_literal ""relocate"" (" """) (string_content "relocate") (" """)) () ")"))) (; ";")) (} "}")))) (if_statement "if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }" (if "if") (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" (( "(") (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4797;\n      }" ({ "{") (expression_statement "local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);" (assignment_expression "local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6)" (identifier "local_e4") (= "=") (call_expression "FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6)" (identifier "FUN_0029b9e0") (argument_list "(*(long *)(param_4 + 0x20),param_8,0,plVar6)" (( "(") (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (, ",") (identifier "param_8") (, ",") (number_literal "0") (, ",") (identifier "plVar6") () ")")))) (; ";")) (if_statement "if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }" (if "if") (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" (( "(") (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\nLAB_002c27a6:\n          *(uint *)param_10 = uVar17;\n          uVar17 = (uint)(0xffff < uVar18 + 0x8000);\n          goto LAB_002c2945;\n        }" ({ "{") (expression_statement "uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);" (assignment_expression "uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" (identifier "uVar18") (= "=") (call_expression "FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" (identifier "FUN_002924d0") (argument_list "(*(long *)(param_4 + 0x20),local_e4,plVar6)" (( "(") (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (, ",") (identifier "local_e4") (, ",") (identifier "plVar6") () ")")))) (; ";")) (if_statement "if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;" (if "if") (parenthesized_expression "(*(char *)((long)param_1 + 4) != '\0')" (( "(") (binary_expression "*(char *)((long)param_1 + 4) != '\0'" (pointer_expression "*(char *)((long)param_1 + 4)" (* "*") (cast_expression "(char *)((long)param_1 + 4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 4)" (( "(") (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "4")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_002c2940;" (goto "goto") (statement_identifier "LAB_002c2940") (; ";"))) (expression_statement "uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;" (assignment_expression "uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10" (identifier "uVar17") (= "=") (binary_expression "((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10" (binary_expression "((uint)*param_10 ^ uVar18) & 0xffff" (parenthesized_expression "((uint)*param_10 ^ uVar18)" (( "(") (binary_expression "(uint)*param_10 ^ uVar18" (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10")) (^ "^") (identifier "uVar18")) () ")")) (& "&") (number_literal "0xffff")) (^ "^") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10")))) (; ";")) (labeled_statement "LAB_002c27a6:\n          *(uint *)param_10 = uVar17;" (statement_identifier "LAB_002c27a6") (: ":") (expression_statement "*(uint *)param_10 = uVar17;" (assignment_expression "*(uint *)param_10 = uVar17" (pointer_expression "*(uint *)param_10" (* "*") (cast_expression "(uint *)param_10" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_10"))) (= "=") (identifier "uVar17")) (; ";"))) (expression_statement "uVar17 = (uint)(0xffff < uVar18 + 0x8000);" (assignment_expression "uVar17 = (uint)(0xffff < uVar18 + 0x8000)" (identifier "uVar17") (= "=") (call_expression "(uint)(0xffff < uVar18 + 0x8000)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xffff < uVar18 + 0x8000)" (( "(") (binary_expression "0xffff < uVar18 + 0x8000" (number_literal "0xffff") (< "<") (binary_expression "uVar18 + 0x8000" (identifier "uVar18") (+ "+") (number_literal "0x8000"))) () ")")))) (; ";")) (goto_statement "goto LAB_002c2945;" (goto "goto") (statement_identifier "LAB_002c2945") (; ";")) (} "}"))) (goto_statement "goto LAB_002c4797;" (goto "goto") (statement_identifier "LAB_002c4797") (; ";")) (} "}"))) (goto_statement "goto LAB_002c479c;" (goto "goto") (statement_identifier "LAB_002c479c") (; ";"))) (case_statement "case 10:\n      local_b8 = 0;\nLAB_002c2e45:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }\n      break;" (case "case") (number_literal "10") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_002c2e45:\n      local_cc = local_b0;" (statement_identifier "LAB_002c2e45") (: ":") (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" (identifier "local_cc") (= "=") (identifier "local_b0")) (; ";"))) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" (identifier "uVar18") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (if_statement "if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" (if "if") (parenthesized_expression "((char)local_b8 != '\0')" (( "(") (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar17 = uVar18 * 4 & 0x3fffc;\n        local_b0 = uVar17 - 0x40000;\n        if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" ({ "{") (expression_statement "uVar17 = uVar18 * 4 & 0x3fffc;" (assignment_expression "uVar17 = uVar18 * 4 & 0x3fffc" (identifier "uVar17") (= "=") (binary_expression "uVar18 * 4 & 0x3fffc" (binary_expression "uVar18 * 4" (identifier "uVar18") (* "*") (number_literal "4")) (& "&") (number_literal "0x3fffc"))) (; ";")) (expression_statement "local_b0 = uVar17 - 0x40000;" (assignment_expression "local_b0 = uVar17 - 0x40000" (identifier "local_b0") (= "=") (binary_expression "uVar17 - 0x40000" (identifier "uVar17") (- "-") (number_literal "0x40000"))) (; ";")) (if_statement "if ((uVar18 * 4 & 0x20000) == 0) {\n          local_b0 = uVar17;\n        }" (if "if") (parenthesized_expression "((uVar18 * 4 & 0x20000) == 0)" (( "(") (binary_expression "(uVar18 * 4 & 0x20000) == 0" (parenthesized_expression "(uVar18 * 4 & 0x20000)" (( "(") (binary_expression "uVar18 * 4 & 0x20000" (binary_expression "uVar18 * 4" (identifier "uVar18") (* "*") (number_literal "4")) (& "&") (number_literal "0x20000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_b0 = uVar17;\n        }" ({ "{") (expression_statement "local_b0 = uVar17;" (assignment_expression "local_b0 = uVar17" (identifier "local_b0") (= "=") (identifier "uVar17")) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "iVar35") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,local_b0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "local_b0") () ")")))) (; ";")) (expression_statement "uVar36 = iVar35 - param_11 >> 2;" (assignment_expression "uVar36 = iVar35 - param_11 >> 2" (identifier "uVar36") (= "=") (binary_expression "iVar35 - param_11 >> 2" (binary_expression "iVar35 - param_11" (identifier "iVar35") (- "-") (identifier "param_11")) (>> ">>") (number_literal "2"))) (; ";")) (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" (if "if") (parenthesized_expression "((bool)bVar14)" (( "(") (cast_expression "(bool)bVar14" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "bVar14")) () ")")) (goto_statement "goto LAB_002c1f30;" (goto "goto") (statement_identifier "LAB_002c1f30") (; ";"))) (expression_statement "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;" (assignment_expression "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff" (pointer_expression "*(uint *)param_10" (* "*") (cast_expression "(uint *)param_10" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_10"))) (= "=") (binary_expression "uVar18 ^ (uVar36 ^ uVar18) & 0xffff" (identifier "uVar18") (^ "^") (binary_expression "(uVar36 ^ uVar18) & 0xffff" (parenthesized_expression "(uVar36 ^ uVar18)" (( "(") (binary_expression "uVar36 ^ uVar18" (identifier "uVar36") (^ "^") (identifier "uVar18")) () ")")) (& "&") (number_literal "0xffff")))) (; ";")) (expression_statement "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "uVar32") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,local_b0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "local_b0") () ")")))) (; ";")) (expression_statement "uVar17 = 3;" (assignment_expression "uVar17 = 3" (identifier "uVar17") (= "=") (number_literal "3")) (; ";")) (if_statement "if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }" (if "if") (parenthesized_expression "((uVar32 & 3) == 0)" (( "(") (binary_expression "(uVar32 & 3) == 0" (parenthesized_expression "(uVar32 & 3)" (( "(") (binary_expression "uVar32 & 3" (identifier "uVar32") (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);\n      }" ({ "{") (expression_statement "uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);" (assignment_expression "uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000)" (identifier "uVar17") (= "=") (call_expression "(uint)(0x3ffff < (iVar35 - param_11) + 0x20000)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0x3ffff < (iVar35 - param_11) + 0x20000)" (( "(") (binary_expression "0x3ffff < (iVar35 - param_11) + 0x20000" (number_literal "0x3ffff") (< "<") (binary_expression "(iVar35 - param_11) + 0x20000" (parenthesized_expression "(iVar35 - param_11)" (( "(") (binary_expression "iVar35 - param_11" (identifier "iVar35") (- "-") (identifier "param_11")) () ")")) (+ "+") (number_literal "0x20000"))) () ")")))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xb:" (case "case") (number_literal "0xb") (: ":")) (case_statement "case 0x67:" (case "case") (number_literal "0x67") (: ":")) (case_statement "case 0x8e:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }\n      if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }\n      goto LAB_002c473a;" (case "case") (number_literal "0x8e") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "switchD_002c18c9_caseD_b:\n      if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }" (statement_identifier "switchD_002c18c9_caseD_b") (: ":") (if_statement "if (param_8 == (undefined8 *)0x0) {\nLAB_002c467a:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }" (if "if") (parenthesized_expression "(param_8 == (undefined8 *)0x0)" (( "(") (binary_expression "param_8 == (undefined8 *)0x0" (identifier "param_8") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_002c467a:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");\n      }" ({ "{") (labeled_statement "LAB_002c467a:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");" (statement_identifier "LAB_002c467a") (: ":") (expression_statement "FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate")" (identifier "FUN_00352af0") (argument_list "("../../gold/mips.cc",0x2f3d,"relocate")" (( "(") (string_literal ""../../gold/mips.cc"" (" """) (string_content "../../gold/mips.cc") (" """)) (, ",") (number_literal "0x2f3d") (, ",") (string_literal ""relocate"" (" """) (string_content "relocate") (" """)) () ")"))) (; ";"))) (} "}")))) (if_statement "if (*(long *)(param_4 + 0x20) != 0) {\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }" (if "if") (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" (( "(") (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }\n        goto LAB_002c4735;\n      }" ({ "{") (expression_statement "local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);" (assignment_expression "local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6)" (identifier "local_e4") (= "=") (call_expression "FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6)" (identifier "FUN_0029b9e0") (argument_list "(*(long *)(param_4 + 0x20),param_8,0,plVar6)" (( "(") (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (, ",") (identifier "param_8") (, ",") (number_literal "0") (, ",") (identifier "plVar6") () ")")))) (; ";")) (if_statement "if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }" (if "if") (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" (( "(") (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c27a6;\n        }" ({ "{") (expression_statement "uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);" (assignment_expression "uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" (identifier "uVar18") (= "=") (call_expression "FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" (identifier "FUN_002924d0") (argument_list "(*(long *)(param_4 + 0x20),local_e4,plVar6)" (( "(") (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (, ",") (identifier "local_e4") (, ",") (identifier "plVar6") () ")")))) (; ";")) (if_statement "if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;" (if "if") (parenthesized_expression "(*(char *)((long)param_1 + 4) != '\0')" (( "(") (binary_expression "*(char *)((long)param_1 + 4) != '\0'" (pointer_expression "*(char *)((long)param_1 + 4)" (* "*") (cast_expression "(char *)((long)param_1 + 4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 4)" (( "(") (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "4")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_002c2940;" (goto "goto") (statement_identifier "LAB_002c2940") (; ";"))) (expression_statement "uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;" (assignment_expression "uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10" (identifier "uVar17") (= "=") (binary_expression "((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10" (binary_expression "((uint)*param_10 ^ uVar18) & 0xffff" (parenthesized_expression "((uint)*param_10 ^ uVar18)" (( "(") (binary_expression "(uint)*param_10 ^ uVar18" (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10")) (^ "^") (identifier "uVar18")) () ")")) (& "&") (number_literal "0xffff")) (^ "^") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10")))) (; ";")) (goto_statement "goto LAB_002c27a6;" (goto "goto") (statement_identifier "LAB_002c27a6") (; ";")) (} "}"))) (goto_statement "goto LAB_002c4735;" (goto "goto") (statement_identifier "LAB_002c4735") (; ";")) (} "}"))) (goto_statement "goto LAB_002c473a;" (goto "goto") (statement_identifier "LAB_002c473a") (; ";"))) (case_statement "case 0xc:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);\n      goto joined_r0x002c327b;" (case "case") (number_literal "0xc") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "switchD_002c18c9_caseD_c:\n      if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }" (statement_identifier "switchD_002c18c9_caseD_c") (: ":") (if_statement "if (*(long *)(param_4 + 0x28) == 0) {\n        iVar35 = 0;\n      }\n      else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }" (if "if") (parenthesized_expression "(*(long *)(param_4 + 0x28) == 0)" (( "(") (binary_expression "*(long *)(param_4 + 0x28) == 0" (pointer_expression "*(long *)(param_4 + 0x28)" (* "*") (cast_expression "(long *)(param_4 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x28)" (( "(") (binary_expression "param_4 + 0x28" (identifier "param_4") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar35 = 0;\n      }" ({ "{") (expression_statement "iVar35 = 0;" (assignment_expression "iVar35 = 0" (identifier "iVar35") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }" (else "else") (compound_statement "{\n        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);\n        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }\n      }" ({ "{") (expression_statement "iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);" (assignment_expression "iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40)" (identifier "iVar35") (= "=") (pointer_expression "*(int *)(*(long *)(param_4 + 0x28) + 0x40)" (* "*") (cast_expression "(int *)(*(long *)(param_4 + 0x28) + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_4 + 0x28) + 0x40)" (( "(") (binary_expression "*(long *)(param_4 + 0x28) + 0x40" (pointer_expression "*(long *)(param_4 + 0x28)" (* "*") (cast_expression "(long *)(param_4 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x28)" (( "(") (binary_expression "param_4 + 0x28" (identifier "param_4") (+ "+") (number_literal "0x28")) () ")")))) (+ "+") (number_literal "0x40")) () ")"))))) (; ";")) (if_statement "if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)) {\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }" (if "if") (parenthesized_expression "(((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0))" (( "(") (binary_expression "((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))\n           && (plVar6[0x6e] != 0)" (parenthesized_expression "((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))" (( "(") (binary_expression "(*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" (( "(") (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)" (( "(") (binary_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0" (pointer_expression "*(long *)(*(long *)(param_4 + 0x20) + 0xd0)" (* "*") (cast_expression "(long *)(*(long *)(param_4 + 0x20) + 0xd0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_4 + 0x20) + 0xd0)" (( "(") (binary_expression "*(long *)(param_4 + 0x20) + 0xd0" (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (+ "+") (number_literal "0xd0")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(plVar6[0x6e] != 0)" (( "(") (binary_expression "plVar6[0x6e] != 0" (subscript_expression "plVar6[0x6e]" (identifier "plVar6") ([ "[") (number_literal "0x6e") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);\n        }" ({ "{") (expression_statement "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);" (assignment_expression "iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" (identifier "iVar35") (= "=") (binary_expression "iVar35 + *(int *)(plVar6[0x6e] + 0x10c)" (identifier "iVar35") (+ "+") (pointer_expression "*(int *)(plVar6[0x6e] + 0x10c)" (* "*") (cast_expression "(int *)(plVar6[0x6e] + 0x10c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6[0x6e] + 0x10c)" (( "(") (binary_expression "plVar6[0x6e] + 0x10c" (subscript_expression "plVar6[0x6e]" (identifier "plVar6") ([ "[") (number_literal "0x6e") (] "]")) (+ "+") (number_literal "0x10c")) () ")")))))) (; ";")) (} "}"))) (} "}"))))) (expression_statement "uVar18 = local_cc;" (assignment_expression "uVar18 = local_cc" (identifier "uVar18") (= "=") (identifier "local_cc")) (; ";")) (if_statement "if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }" (if "if") (parenthesized_expression "((char)local_b8 != '\0')" (( "(") (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar18 = (uint)*param_10;\n      }" ({ "{") (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" (identifier "uVar18") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (} "}"))) (expression_statement "iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);" (assignment_expression "iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18)" (identifier "iVar21") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,uVar18)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,uVar18)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "uVar18") () ")")))) (; ";")) (expression_statement "uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);" (assignment_expression "uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35)" (identifier "uVar36") (= "=") (binary_expression "iVar21 + ((int)plVar6[0x6d] - iVar35)" (identifier "iVar21") (+ "+") (parenthesized_expression "((int)plVar6[0x6d] - iVar35)" (( "(") (binary_expression "(int)plVar6[0x6d] - iVar35" (cast_expression "(int)plVar6[0x6d]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "plVar6[0x6d]" (identifier "plVar6") ([ "[") (number_literal "0x6d") (] "]"))) (- "-") (identifier "iVar35")) () ")")))) (; ";")) (goto_statement "goto joined_r0x002c327b;" (goto "goto") (statement_identifier "joined_r0x002c327b") (; ";"))) (case_statement "case 0x12:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);\n      if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }\n      break;" (case "case") (number_literal "0x12") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "switchD_002c18c9_caseD_12:\n      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);" (statement_identifier "switchD_002c18c9_caseD_12") (: ":") (expression_statement "cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);" (assignment_expression "cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4)" (identifier "cVar16") (= "=") (call_expression "FUN_0029fae0(param_8,0x12,param_5,param_4)" (identifier "FUN_0029fae0") (argument_list "(param_8,0x12,param_5,param_4)" (( "(") (identifier "param_8") (, ",") (number_literal "0x12") (, ",") (identifier "param_5") (, ",") (identifier "param_4") () ")")))) (; ";"))) (if_statement "if (cVar16 != '\0') {\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }" (if "if") (parenthesized_expression "(cVar16 != '\0')" (( "(") (binary_expression "cVar16 != '\0'" (identifier "cVar16") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        bVar14 = *(byte *)((long)param_1 + 4);\n        uVar18 = local_cc;\n        if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }\n        goto LAB_002c2f02;\n      }" ({ "{") (expression_statement "bVar14 = *(byte *)((long)param_1 + 4);" (assignment_expression "bVar14 = *(byte *)((long)param_1 + 4)" (identifier "bVar14") (= "=") (pointer_expression "*(byte *)((long)param_1 + 4)" (* "*") (cast_expression "(byte *)((long)param_1 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 4)" (( "(") (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar18 = local_cc;" (assignment_expression "uVar18 = local_cc" (identifier "uVar18") (= "=") (identifier "local_cc")) (; ";")) (if_statement "if ((char)local_b8 != '\0') {\n          uVar18 = (uint)*param_10;\n        }" (if "if") (parenthesized_expression "((char)local_b8 != '\0')" (( "(") (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          uVar18 = (uint)*param_10;\n        }" ({ "{") (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" (identifier "uVar18") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (} "}"))) (goto_statement "goto LAB_002c2f02;" (goto "goto") (statement_identifier "LAB_002c2f02") (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x13:" (case "case") (number_literal "0x13") (: ":")) (case_statement "case 0x91:" (case "case") (number_literal "0x91") (: ":")) (case_statement "case 0xf9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }\n      if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }\n      local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n      if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }\n      if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;\n      goto LAB_002c1fd4;" (case "case") (number_literal "0xf9") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "switchD_002c18c9_caseD_13:\n      lVar31 = *(long *)(param_4 + 0x20);" (statement_identifier "switchD_002c18c9_caseD_13") (: ":") (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" (identifier "lVar31") (= "=") (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")"))))) (; ";"))) (if_statement "if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }" (if "if") (parenthesized_expression "(param_8 != (undefined8 *)0x0)" (( "(") (binary_expression "param_8 != (undefined8 *)0x0" (identifier "param_8") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }\nLAB_002c4721:\n        FUN_00290940();\nLAB_002c4726:\n        FUN_00290940();\nLAB_002c472b:\n        FUN_00290940();\n        goto LAB_002c4730;\n      }" ({ "{") (if_statement "if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }" (if "if") (parenthesized_expression "(lVar31 != 0)" (( "(") (binary_expression "lVar31 != 0" (identifier "lVar31") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c252a;\n        }" ({ "{") (expression_statement "local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);" (assignment_expression "local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6)" (identifier "local_e4") (= "=") (call_expression "FUN_0029b9e0(lVar31,param_8,0,plVar6)" (identifier "FUN_0029b9e0") (argument_list "(lVar31,param_8,0,plVar6)" (( "(") (identifier "lVar31") (, ",") (identifier "param_8") (, ",") (number_literal "0") (, ",") (identifier "plVar6") () ")")))) (; ";")) (goto_statement "goto LAB_002c252a;" (goto "goto") (statement_identifier "LAB_002c252a") (; ";")) (} "}"))) (labeled_statement "LAB_002c4721:\n        FUN_00290940();" (statement_identifier "LAB_002c4721") (: ":") (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" (identifier "FUN_00290940") (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "LAB_002c4726:\n        FUN_00290940();" (statement_identifier "LAB_002c4726") (: ":") (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" (identifier "FUN_00290940") (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "LAB_002c472b:\n        FUN_00290940();" (statement_identifier "LAB_002c472b") (: ":") (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" (identifier "FUN_00290940") (argument_list "()" (( "(") () ")"))) (; ";"))) (goto_statement "goto LAB_002c4730;" (goto "goto") (statement_identifier "LAB_002c4730") (; ";")) (} "}"))) (if_statement "if (lVar31 == 0) {\n        FUN_00290940();\n        goto LAB_002c4792;\n      }" (if "if") (parenthesized_expression "(lVar31 == 0)" (( "(") (binary_expression "lVar31 == 0" (identifier "lVar31") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        FUN_00290940();\n        goto LAB_002c4792;\n      }" ({ "{") (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" (identifier "FUN_00290940") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_002c4792;" (goto "goto") (statement_identifier "LAB_002c4792") (; ";")) (} "}"))) (expression_statement "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);" (assignment_expression "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc)" (identifier "local_e4") (= "=") (call_expression "(**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc)" (parenthesized_expression "(**(code **)(*plVar6 + 0x160))" (( "(") (pointer_expression "**(code **)(*plVar6 + 0x160)" (* "*") (pointer_expression "*(code **)(*plVar6 + 0x160)" (* "*") (cast_expression "(code **)(*plVar6 + 0x160)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar6 + 0x160)" (( "(") (binary_expression "*plVar6 + 0x160" (pointer_expression "*plVar6" (* "*") (identifier "plVar6")) (+ "+") (number_literal "0x160")) () ")"))))) () ")")) (argument_list "(plVar6,uVar33,0,(long)(int)local_cc)" (( "(") (identifier "plVar6") (, ",") (identifier "uVar33") (, ",") (number_literal "0") (, ",") (cast_expression "(long)(int)local_cc" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)local_cc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_cc"))) () ")")))) (; ";")) (labeled_statement "LAB_002c252a:\n      if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }" (statement_identifier "LAB_002c252a") (: ":") (if_statement "if (*(long *)(param_4 + 0x20) == 0) {\n        FUN_00290940();\n        goto LAB_002c4721;\n      }" (if "if") (parenthesized_expression "(*(long *)(param_4 + 0x20) == 0)" (( "(") (binary_expression "*(long *)(param_4 + 0x20) == 0" (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        FUN_00290940();\n        goto LAB_002c4721;\n      }" ({ "{") (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" (identifier "FUN_00290940") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_002c4721;" (goto "goto") (statement_identifier "LAB_002c4721") (; ";")) (} "}")))) (expression_statement "uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);" (assignment_expression "uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" (identifier "uVar36") (= "=") (call_expression "FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" (identifier "FUN_002924d0") (argument_list "(*(long *)(param_4 + 0x20),local_e4,plVar6)" (( "(") (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (, ",") (identifier "local_e4") (, ",") (identifier "plVar6") () ")")))) (; ";")) (if_statement "if (uVar18 != 0xf9) {\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }" (if "if") (parenthesized_expression "(uVar18 != 0xf9)" (( "(") (binary_expression "uVar18 != 0xf9" (identifier "uVar18") (!= "!=") (number_literal "0xf9")) () ")")) (compound_statement "{\n        if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }\n        goto LAB_002c1f30;\n      }" ({ "{") (if_statement "if (*(char *)((long)param_1 + 4) == '\0') {\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }" (if "if") (parenthesized_expression "(*(char *)((long)param_1 + 4) == '\0')" (( "(") (binary_expression "*(char *)((long)param_1 + 4) == '\0'" (pointer_expression "*(char *)((long)param_1 + 4)" (* "*") (cast_expression "(char *)((long)param_1 + 4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 4)" (( "(") (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "4")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2590;\n        }" ({ "{") (expression_statement "uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;" (assignment_expression "uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10" (identifier "uVar18") (= "=") (binary_expression "(uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10" (binary_expression "(uVar36 ^ (uint)*param_10) & 0xffff" (parenthesized_expression "(uVar36 ^ (uint)*param_10)" (( "(") (binary_expression "uVar36 ^ (uint)*param_10" (identifier "uVar36") (^ "^") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) () ")")) (& "&") (number_literal "0xffff")) (^ "^") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10")))) (; ";")) (goto_statement "goto LAB_002c2590;" (goto "goto") (statement_identifier "LAB_002c2590") (; ";")) (} "}"))) (goto_statement "goto LAB_002c1f30;" (goto "goto") (statement_identifier "LAB_002c1f30") (; ";")) (} "}"))) (if_statement "if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;" (if "if") (parenthesized_expression "(*(char *)((long)param_1 + 4) == '\0')" (( "(") (binary_expression "*(char *)((long)param_1 + 4) == '\0'" (pointer_expression "*(char *)((long)param_1 + 4)" (* "*") (cast_expression "(char *)((long)param_1 + 4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 4)" (( "(") (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "4")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_002c1fd0;" (goto "goto") (statement_identifier "LAB_002c1fd0") (; ";"))) (goto_statement "goto LAB_002c1fd4;" (goto "goto") (statement_identifier "LAB_002c1fd4") (; ";"))) (case_statement "case 0x14:" (case "case") (number_literal "0x14") (: ":")) (case_statement "case 0x92:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) goto LAB_002c4726;\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }\n      if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }\n      uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);\n      if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;\n      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;\n      goto LAB_002c2590;" (case "case") (number_literal "0x92") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "switchD_002c18c9_caseD_14:\n      uVar18 = (uint)*param_10;" (statement_identifier "switchD_002c18c9_caseD_14") (: ":") (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" (identifier "uVar18") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";"))) (expression_statement "uVar17 = uVar18 & 0xffff;" (assignment_expression "uVar17 = uVar18 & 0xffff" (identifier "uVar17") (= "=") (binary_expression "uVar18 & 0xffff" (identifier "uVar18") (& "&") (number_literal "0xffff"))) (; ";")) (if_statement "if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }" (if "if") (parenthesized_expression "((char)local_b8 == '\0')" (( "(") (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar17 = local_cc;\n      }" ({ "{") (expression_statement "uVar17 = local_cc;" (assignment_expression "uVar17 = local_cc" (identifier "uVar17") (= "=") (identifier "local_cc")) (; ";")) (} "}"))) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17)" (identifier "iVar35") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,uVar17)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,uVar17)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "uVar17") () ")")))) (; ";")) (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" (identifier "lVar31") (= "=") (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if (lVar31 == 0) goto LAB_002c4726;" (if "if") (parenthesized_expression "(lVar31 == 0)" (( "(") (binary_expression "lVar31 == 0" (identifier "lVar31") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002c4726;" (goto "goto") (statement_identifier "LAB_002c4726") (; ";"))) (if_statement "if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar31 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar31 = plVar6[0x6e];\n      }" (if "if") (parenthesized_expression "(*(long *)(lVar31 + 0xd0) == 0)" (( "(") (binary_expression "*(long *)(lVar31 + 0xd0) == 0" (pointer_expression "*(long *)(lVar31 + 0xd0)" (* "*") (cast_expression "(long *)(lVar31 + 0xd0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0xd0)" (( "(") (binary_expression "lVar31 + 0xd0" (identifier "lVar31") (+ "+") (number_literal "0xd0")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        lVar31 = *(long *)(lVar31 + 200);\n      }" ({ "{") (expression_statement "lVar31 = *(long *)(lVar31 + 200);" (assignment_expression "lVar31 = *(long *)(lVar31 + 200)" (identifier "lVar31") (= "=") (pointer_expression "*(long *)(lVar31 + 200)" (* "*") (cast_expression "(long *)(lVar31 + 200)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 200)" (( "(") (binary_expression "lVar31 + 200" (identifier "lVar31") (+ "+") (number_literal "200")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        lVar31 = plVar6[0x6e];\n      }" (else "else") (compound_statement "{\n        lVar31 = plVar6[0x6e];\n      }" ({ "{") (expression_statement "lVar31 = plVar6[0x6e];" (assignment_expression "lVar31 = plVar6[0x6e]" (identifier "lVar31") (= "=") (subscript_expression "plVar6[0x6e]" (identifier "plVar6") ([ "[") (number_literal "0x6e") (] "]"))) (; ";")) (} "}")))) (if_statement "if (lVar31 == 0) {\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }" (if "if") (parenthesized_expression "(lVar31 == 0)" (( "(") (binary_expression "lVar31 == 0" (identifier "lVar31") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_002c4761:\n        FUN_00293350();\nLAB_002c4766:\n        FUN_00290940();\n        goto LAB_002c476b;\n      }" ({ "{") (labeled_statement "LAB_002c4761:\n        FUN_00293350();" (statement_identifier "LAB_002c4761") (: ":") (expression_statement "FUN_00293350();" (call_expression "FUN_00293350()" (identifier "FUN_00293350") (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "LAB_002c4766:\n        FUN_00290940();" (statement_identifier "LAB_002c4766") (: ":") (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" (identifier "FUN_00290940") (argument_list "()" (( "(") () ")"))) (; ";"))) (goto_statement "goto LAB_002c476b;" (goto "goto") (statement_identifier "LAB_002c476b") (; ";")) (} "}"))) (expression_statement "uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);" (assignment_expression "uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10)" (identifier "uVar19") (= "=") (call_expression "FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10)" (identifier "FUN_002c0d60") (argument_list "(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10)" (( "(") (identifier "lVar31") (, ",") (binary_expression "(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10" (call_expression "(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10)" (call_expression "(ulong)(ushort)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(ushort)" (( "(") (identifier "ushort") () ")"))) (argument_list "((uint)(iVar35 + 0x8000) >> 0x10)" (( "(") (binary_expression "(uint)(iVar35 + 0x8000) >> 0x10" (call_expression "(uint)(iVar35 + 0x8000)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar35 + 0x8000)" (( "(") (binary_expression "iVar35 + 0x8000" (identifier "iVar35") (+ "+") (number_literal "0x8000")) () ")"))) (>> ">>") (number_literal "0x10")) () ")"))) (<< "<<") (number_literal "0x10")) () ")")))) (; ";")) (if_statement "if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;" (if "if") (parenthesized_expression "(*(long *)(param_4 + 0x20) == 0)" (( "(") (binary_expression "*(long *)(param_4 + 0x20) == 0" (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002c475c;" (goto "goto") (statement_identifier "LAB_002c475c") (; ";"))) (expression_statement "uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);" (assignment_expression "uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6)" (identifier "uVar36") (= "=") (call_expression "FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6)" (identifier "FUN_002924d0") (argument_list "(*(long *)(param_4 + 0x20),uVar19,plVar6)" (( "(") (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (, ",") (identifier "uVar19") (, ",") (identifier "plVar6") () ")")))) (; ";")) (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" (if "if") (parenthesized_expression "((bool)bVar14)" (( "(") (cast_expression "(bool)bVar14" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "bVar14")) () ")")) (goto_statement "goto LAB_002c1f30;" (goto "goto") (statement_identifier "LAB_002c1f30") (; ";"))) (expression_statement "uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;" (assignment_expression "uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18" (identifier "uVar18") (= "=") (binary_expression "(uVar18 ^ uVar36) & 0xffff ^ uVar18" (binary_expression "(uVar18 ^ uVar36) & 0xffff" (parenthesized_expression "(uVar18 ^ uVar36)" (( "(") (binary_expression "uVar18 ^ uVar36" (identifier "uVar18") (^ "^") (identifier "uVar36")) () ")")) (& "&") (number_literal "0xffff")) (^ "^") (identifier "uVar18"))) (; ";")) (goto_statement "goto LAB_002c2590;" (goto "goto") (statement_identifier "LAB_002c2590") (; ";"))) (case_statement "case 0x15:" (case "case") (number_literal "0x15") (: ":")) (case_statement "case 0x93:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;\n      local_b0 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }\n      if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }\n      if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }\n      break;" (case "case") (number_literal "0x93") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "switchD_002c18c9_caseD_15:\n      uVar18 = (uint)*param_10;" (statement_identifier "switchD_002c18c9_caseD_15") (: ":") (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" (identifier "uVar18") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";"))) (expression_statement "local_b0 = uVar18 & 0xffff;" (assignment_expression "local_b0 = uVar18 & 0xffff" (identifier "local_b0") (= "=") (binary_expression "uVar18 & 0xffff" (identifier "uVar18") (& "&") (number_literal "0xffff"))) (; ";")) (if_statement "if ((char)local_b8 == '\0') {\n        local_b0 = local_cc;\n      }" (if "if") (parenthesized_expression "((char)local_b8 == '\0')" (( "(") (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        local_b0 = local_cc;\n      }" ({ "{") (expression_statement "local_b0 = local_cc;" (assignment_expression "local_b0 = local_cc" (identifier "local_b0") (= "=") (identifier "local_cc")) (; ";")) (} "}"))) (if_statement "if (local_ce != 0) {\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }" (if "if") (parenthesized_expression "(local_ce != 0)" (( "(") (binary_expression "local_ce != 0" (identifier "local_ce") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;\n        lVar31 = *(long *)(param_4 + 0x20);\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }\n        if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }\n        if (lVar31 == 0) goto LAB_002c463f;\n        FUN_002c0d60(lVar31,lVar25);\n        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        local_b0 = iVar35 - (int)lVar25;\n      }" ({ "{") (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "iVar35") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,local_b0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "local_b0") () ")")))) (; ";")) (expression_statement "lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;" (assignment_expression "lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10" (identifier "lVar25") (= "=") (binary_expression "(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10" (call_expression "(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10)" (call_expression "(ulong)(ushort)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(ushort)" (( "(") (identifier "ushort") () ")"))) (argument_list "((uint)(iVar35 + 0x8000) >> 0x10)" (( "(") (binary_expression "(uint)(iVar35 + 0x8000) >> 0x10" (call_expression "(uint)(iVar35 + 0x8000)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar35 + 0x8000)" (( "(") (binary_expression "iVar35 + 0x8000" (identifier "iVar35") (+ "+") (number_literal "0x8000")) () ")"))) (>> ">>") (number_literal "0x10")) () ")"))) (<< "<<") (number_literal "0x10"))) (; ";")) (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" (identifier "lVar31") (= "=") (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c463a;\n        }" (if "if") (parenthesized_expression "(lVar31 == 0)" (( "(") (binary_expression "lVar31 == 0" (identifier "lVar31") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_00290940();\n          goto LAB_002c463a;\n        }" ({ "{") (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" (identifier "FUN_00290940") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_002c463a;" (goto "goto") (statement_identifier "LAB_002c463a") (; ";")) (} "}"))) (if_statement "if (*(long *)(lVar31 + 0xd0) == 0) {\n          lVar31 = *(long *)(lVar31 + 200);\n        }\n        else {\n          lVar31 = plVar6[0x6e];\n        }" (if "if") (parenthesized_expression "(*(long *)(lVar31 + 0xd0) == 0)" (( "(") (binary_expression "*(long *)(lVar31 + 0xd0) == 0" (pointer_expression "*(long *)(lVar31 + 0xd0)" (* "*") (cast_expression "(long *)(lVar31 + 0xd0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0xd0)" (( "(") (binary_expression "lVar31 + 0xd0" (identifier "lVar31") (+ "+") (number_literal "0xd0")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          lVar31 = *(long *)(lVar31 + 200);\n        }" ({ "{") (expression_statement "lVar31 = *(long *)(lVar31 + 200);" (assignment_expression "lVar31 = *(long *)(lVar31 + 200)" (identifier "lVar31") (= "=") (pointer_expression "*(long *)(lVar31 + 200)" (* "*") (cast_expression "(long *)(lVar31 + 200)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 200)" (( "(") (binary_expression "lVar31 + 200" (identifier "lVar31") (+ "+") (number_literal "200")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          lVar31 = plVar6[0x6e];\n        }" (else "else") (compound_statement "{\n          lVar31 = plVar6[0x6e];\n        }" ({ "{") (expression_statement "lVar31 = plVar6[0x6e];" (assignment_expression "lVar31 = plVar6[0x6e]" (identifier "lVar31") (= "=") (subscript_expression "plVar6[0x6e]" (identifier "plVar6") ([ "[") (number_literal "0x6e") (] "]"))) (; ";")) (} "}")))) (if_statement "if (lVar31 == 0) goto LAB_002c463f;" (if "if") (parenthesized_expression "(lVar31 == 0)" (( "(") (binary_expression "lVar31 == 0" (identifier "lVar31") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002c463f;" (goto "goto") (statement_identifier "LAB_002c463f") (; ";"))) (expression_statement "FUN_002c0d60(lVar31,lVar25);" (call_expression "FUN_002c0d60(lVar31,lVar25)" (identifier "FUN_002c0d60") (argument_list "(lVar31,lVar25)" (( "(") (identifier "lVar31") (, ",") (identifier "lVar25") () ")"))) (; ";")) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "iVar35") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,local_b0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "local_b0") () ")")))) (; ";")) (expression_statement "local_b0 = iVar35 - (int)lVar25;" (assignment_expression "local_b0 = iVar35 - (int)lVar25" (identifier "local_b0") (= "=") (binary_expression "iVar35 - (int)lVar25" (identifier "iVar35") (- "-") (cast_expression "(int)lVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "lVar25")))) (; ";")) (} "}"))) (if_statement "if ((bool)bVar14) {\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }\n      else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }" (if "if") (parenthesized_expression "((bool)bVar14)" (( "(") (cast_expression "(bool)bVar14" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "bVar14")) () ")")) (compound_statement "{\n        uVar17 = 0;\n        *(uint *)param_1 = local_b0;\n      }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint *)param_1 = local_b0;" (assignment_expression "*(uint *)param_1 = local_b0" (pointer_expression "*(uint *)param_1" (* "*") (cast_expression "(uint *)param_1" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (= "=") (identifier "local_b0")) (; ";")) (} "}")) (else_clause "else {\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }" (else "else") (compound_statement "{\n        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;\n        uVar17 = (uint)(0xffff < local_b0 + 0x8000);\n      }" ({ "{") (expression_statement "*(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;" (assignment_expression "*(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18" (pointer_expression "*(uint *)param_10" (* "*") (cast_expression "(uint *)param_10" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_10"))) (= "=") (binary_expression "(uVar18 ^ local_b0) & 0xffff ^ uVar18" (binary_expression "(uVar18 ^ local_b0) & 0xffff" (parenthesized_expression "(uVar18 ^ local_b0)" (( "(") (binary_expression "uVar18 ^ local_b0" (identifier "uVar18") (^ "^") (identifier "local_b0")) () ")")) (& "&") (number_literal "0xffff")) (^ "^") (identifier "uVar18"))) (; ";")) (expression_statement "uVar17 = (uint)(0xffff < local_b0 + 0x8000);" (assignment_expression "uVar17 = (uint)(0xffff < local_b0 + 0x8000)" (identifier "uVar17") (= "=") (call_expression "(uint)(0xffff < local_b0 + 0x8000)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xffff < local_b0 + 0x8000)" (( "(") (binary_expression "0xffff < local_b0 + 0x8000" (number_literal "0xffff") (< "<") (binary_expression "local_b0 + 0x8000" (identifier "local_b0") (+ "+") (number_literal "0x8000"))) () ")")))) (; ";")) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x16:" (case "case") (number_literal "0x16") (: ":")) (case_statement "case 0x1e:" (case "case") (number_literal "0x1e") (: ":")) (case_statement "case 0x94:" (case "case") (number_literal "0x94") (: ":")) (case_statement "case 0x99:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }\n      goto LAB_002c46d8;" (case "case") (number_literal "0x99") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "switchD_002c18c9_caseD_16:\n      lVar31 = *(long *)(param_4 + 0x20);" (statement_identifier "switchD_002c18c9_caseD_16") (: ":") (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" (identifier "lVar31") (= "=") (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")"))))) (; ";"))) (if_statement "if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }" (if "if") (parenthesized_expression "(param_8 != (undefined8 *)0x0)" (( "(") (binary_expression "param_8 != (undefined8 *)0x0" (identifier "param_8") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }\nLAB_002c4730:\n        FUN_00290940();\nLAB_002c4735:\n        FUN_00290940();\nLAB_002c473a:\n        FUN_00290940();\nLAB_002c473f:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");\n      }" ({ "{") (if_statement "if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }" (if "if") (parenthesized_expression "(lVar31 != 0)" (( "(") (binary_expression "lVar31 != 0" (identifier "lVar31") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c2378;\n        }" ({ "{") (expression_statement "local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);" (assignment_expression "local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6)" (identifier "local_e4") (= "=") (call_expression "FUN_0029b9e0(lVar31,param_8,0,plVar6)" (identifier "FUN_0029b9e0") (argument_list "(lVar31,param_8,0,plVar6)" (( "(") (identifier "lVar31") (, ",") (identifier "param_8") (, ",") (number_literal "0") (, ",") (identifier "plVar6") () ")")))) (; ";")) (goto_statement "goto LAB_002c2378;" (goto "goto") (statement_identifier "LAB_002c2378") (; ";")) (} "}"))) (labeled_statement "LAB_002c4730:\n        FUN_00290940();" (statement_identifier "LAB_002c4730") (: ":") (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" (identifier "FUN_00290940") (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "LAB_002c4735:\n        FUN_00290940();" (statement_identifier "LAB_002c4735") (: ":") (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" (identifier "FUN_00290940") (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "LAB_002c473a:\n        FUN_00290940();" (statement_identifier "LAB_002c473a") (: ":") (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" (identifier "FUN_00290940") (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "LAB_002c473f:\n                    \n        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");" (statement_identifier "LAB_002c473f") (: ":") (expression_statement "FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate")" (identifier "FUN_00352af0") (argument_list "("../../gold/mips.cc",0x2e46,"relocate")" (( "(") (string_literal ""../../gold/mips.cc"" (" """) (string_content "../../gold/mips.cc") (" """)) (, ",") (number_literal "0x2e46") (, ",") (string_literal ""relocate"" (" """) (string_content "relocate") (" """)) () ")"))) (; ";"))) (} "}"))) (if_statement "if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }" (if "if") (parenthesized_expression "(lVar31 != 0)" (( "(") (binary_expression "lVar31 != 0" (identifier "lVar31") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }\n        goto LAB_002c472b;\n      }" ({ "{") (expression_statement "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);" (assignment_expression "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc)" (identifier "local_e4") (= "=") (call_expression "(**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc)" (parenthesized_expression "(**(code **)(*plVar6 + 0x160))" (( "(") (pointer_expression "**(code **)(*plVar6 + 0x160)" (* "*") (pointer_expression "*(code **)(*plVar6 + 0x160)" (* "*") (cast_expression "(code **)(*plVar6 + 0x160)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar6 + 0x160)" (( "(") (binary_expression "*plVar6 + 0x160" (pointer_expression "*plVar6" (* "*") (identifier "plVar6")) (+ "+") (number_literal "0x160")) () ")"))))) () ")")) (argument_list "(plVar6,uVar33,0,(long)(int)local_cc)" (( "(") (identifier "plVar6") (, ",") (identifier "uVar33") (, ",") (number_literal "0") (, ",") (cast_expression "(long)(int)local_cc" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)local_cc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_cc"))) () ")")))) (; ";")) (labeled_statement "LAB_002c2378:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }" (statement_identifier "LAB_002c2378") (: ":") (if_statement "if (*(long *)(param_4 + 0x20) != 0) {\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }" (if "if") (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" (( "(") (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          uVar18 = iVar35 + 0x8000U >> 0x10;\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);\n          goto LAB_002c2945;\n        }" ({ "{") (expression_statement "iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);" (assignment_expression "iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" (identifier "iVar35") (= "=") (call_expression "FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" (identifier "FUN_002924d0") (argument_list "(*(long *)(param_4 + 0x20),local_e4,plVar6)" (( "(") (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (, ",") (identifier "local_e4") (, ",") (identifier "plVar6") () ")")))) (; ";")) (expression_statement "uVar18 = iVar35 + 0x8000U >> 0x10;" (assignment_expression "uVar18 = iVar35 + 0x8000U >> 0x10" (identifier "uVar18") (= "=") (binary_expression "iVar35 + 0x8000U >> 0x10" (binary_expression "iVar35 + 0x8000U" (identifier "iVar35") (+ "+") (number_literal "0x8000U")) (>> ">>") (number_literal "0x10"))) (; ";")) (if_statement "if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;" (if "if") (parenthesized_expression "(*(char *)((long)param_1 + 4) != '\0')" (( "(") (binary_expression "*(char *)((long)param_1 + 4) != '\0'" (pointer_expression "*(char *)((long)param_1 + 4)" (* "*") (cast_expression "(char *)((long)param_1 + 4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 4)" (( "(") (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "4")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_002c2940;" (goto "goto") (statement_identifier "LAB_002c2940") (; ";"))) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);" (assignment_expression "*(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10)" (pointer_expression "*(ushort *)param_10" (* "*") (cast_expression "(ushort *)param_10" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_10"))) (= "=") (call_expression "(ushort)(iVar35 + 0x8000U >> 0x10)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(iVar35 + 0x8000U >> 0x10)" (( "(") (binary_expression "iVar35 + 0x8000U >> 0x10" (binary_expression "iVar35 + 0x8000U" (identifier "iVar35") (+ "+") (number_literal "0x8000U")) (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (goto_statement "goto LAB_002c2945;" (goto "goto") (statement_identifier "LAB_002c2945") (; ";")) (} "}")))) (goto_statement "goto LAB_002c472b;" (goto "goto") (statement_identifier "LAB_002c472b") (; ";")) (} "}"))) (goto_statement "goto LAB_002c46d8;" (goto "goto") (statement_identifier "LAB_002c46d8") (; ";"))) (case_statement "case 0x17:" (case "case") (number_literal "0x17") (: ":")) (case_statement "case 0x1f:" (case "case") (number_literal "0x1f") (: ":")) (case_statement "case 0x95:" (case "case") (number_literal "0x95") (: ":")) (case_statement "case 0x9a:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }\n      if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }\nLAB_002c4792:\n      FUN_00290940();\nLAB_002c4797:\n      FUN_00290940();\nLAB_002c479c:\n      FUN_00290940();\nLAB_002c47a1:\n      FUN_00290940();\nLAB_002c47a6:\n      FUN_00290940();\n                    \n      uVar22 = FUN_0017eb9a();\n      return uVar22;" (case "case") (number_literal "0x9a") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "switchD_002c18c9_caseD_17:\n      lVar31 = *(long *)(param_4 + 0x20);" (statement_identifier "switchD_002c18c9_caseD_17") (: ":") (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" (identifier "lVar31") (= "=") (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")"))))) (; ";"))) (if_statement "if (param_8 != (undefined8 *)0x0) {\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }" (if "if") (parenthesized_expression "(param_8 != (undefined8 *)0x0)" (( "(") (binary_expression "param_8 != (undefined8 *)0x0" (identifier "param_8") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }\nLAB_002c476b:\n        FUN_00290940();\n        goto LAB_002c4770;\n      }" ({ "{") (if_statement "if (lVar31 != 0) {\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }" (if "if") (parenthesized_expression "(lVar31 != 0)" (( "(") (binary_expression "lVar31 != 0" (identifier "lVar31") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);\n          goto LAB_002c22ef;\n        }" ({ "{") (expression_statement "local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);" (assignment_expression "local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6)" (identifier "local_e4") (= "=") (call_expression "FUN_0029b9e0(lVar31,param_8,0,plVar6)" (identifier "FUN_0029b9e0") (argument_list "(lVar31,param_8,0,plVar6)" (( "(") (identifier "lVar31") (, ",") (identifier "param_8") (, ",") (number_literal "0") (, ",") (identifier "plVar6") () ")")))) (; ";")) (goto_statement "goto LAB_002c22ef;" (goto "goto") (statement_identifier "LAB_002c22ef") (; ";")) (} "}"))) (labeled_statement "LAB_002c476b:\n        FUN_00290940();" (statement_identifier "LAB_002c476b") (: ":") (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" (identifier "FUN_00290940") (argument_list "()" (( "(") () ")"))) (; ";"))) (goto_statement "goto LAB_002c4770;" (goto "goto") (statement_identifier "LAB_002c4770") (; ";")) (} "}"))) (if_statement "if (lVar31 != 0) {\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }" (if "if") (parenthesized_expression "(lVar31 != 0)" (( "(") (binary_expression "lVar31 != 0" (identifier "lVar31") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);\nLAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }\n        goto LAB_002c4766;\n      }" ({ "{") (expression_statement "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);" (assignment_expression "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc)" (identifier "local_e4") (= "=") (call_expression "(**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc)" (parenthesized_expression "(**(code **)(*plVar6 + 0x160))" (( "(") (pointer_expression "**(code **)(*plVar6 + 0x160)" (* "*") (pointer_expression "*(code **)(*plVar6 + 0x160)" (* "*") (cast_expression "(code **)(*plVar6 + 0x160)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar6 + 0x160)" (( "(") (binary_expression "*plVar6 + 0x160" (pointer_expression "*plVar6" (* "*") (identifier "plVar6")) (+ "+") (number_literal "0x160")) () ")"))))) () ")")) (argument_list "(plVar6,uVar33,0,(long)(int)local_cc)" (( "(") (identifier "plVar6") (, ",") (identifier "uVar33") (, ",") (number_literal "0") (, ",") (cast_expression "(long)(int)local_cc" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)local_cc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_cc"))) () ")")))) (; ";")) (labeled_statement "LAB_002c22ef:\n        if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }" (statement_identifier "LAB_002c22ef") (: ":") (if_statement "if (*(long *)(param_4 + 0x20) != 0) {\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }" (if "if") (parenthesized_expression "(*(long *)(param_4 + 0x20) != 0)" (( "(") (binary_expression "*(long *)(param_4 + 0x20) != 0" (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);\n          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;\n          uVar17 = 0;\n          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;\n          goto LAB_002c2945;\n        }" ({ "{") (expression_statement "uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);" (assignment_expression "uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" (identifier "uVar18") (= "=") (call_expression "FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6)" (identifier "FUN_002924d0") (argument_list "(*(long *)(param_4 + 0x20),local_e4,plVar6)" (( "(") (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")")))) (, ",") (identifier "local_e4") (, ",") (identifier "plVar6") () ")")))) (; ";")) (if_statement "if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;" (if "if") (parenthesized_expression "(*(char *)((long)param_1 + 4) != '\0')" (( "(") (binary_expression "*(char *)((long)param_1 + 4) != '\0'" (pointer_expression "*(char *)((long)param_1 + 4)" (* "*") (cast_expression "(char *)((long)param_1 + 4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 4)" (( "(") (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "4")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_002c2940;" (goto "goto") (statement_identifier "LAB_002c2940") (; ";"))) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;" (assignment_expression "*(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10" (pointer_expression "*(uint *)param_10" (* "*") (cast_expression "(uint *)param_10" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_10"))) (= "=") (binary_expression "(uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10" (binary_expression "(uVar18 ^ (uint)*param_10) & 0xffff" (parenthesized_expression "(uVar18 ^ (uint)*param_10)" (( "(") (binary_expression "uVar18 ^ (uint)*param_10" (identifier "uVar18") (^ "^") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) () ")")) (& "&") (number_literal "0xffff")) (^ "^") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10")))) (; ";")) (goto_statement "goto LAB_002c2945;" (goto "goto") (statement_identifier "LAB_002c2945") (; ";")) (} "}")))) (goto_statement "goto LAB_002c4766;" (goto "goto") (statement_identifier "LAB_002c4766") (; ";")) (} "}"))) (labeled_statement "LAB_002c4792:\n      FUN_00290940();" (statement_identifier "LAB_002c4792") (: ":") (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" (identifier "FUN_00290940") (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "LAB_002c4797:\n      FUN_00290940();" (statement_identifier "LAB_002c4797") (: ":") (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" (identifier "FUN_00290940") (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "LAB_002c479c:\n      FUN_00290940();" (statement_identifier "LAB_002c479c") (: ":") (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" (identifier "FUN_00290940") (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "LAB_002c47a1:\n      FUN_00290940();" (statement_identifier "LAB_002c47a1") (: ":") (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" (identifier "FUN_00290940") (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "LAB_002c47a6:\n      FUN_00290940();" (statement_identifier "LAB_002c47a6") (: ":") (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" (identifier "FUN_00290940") (argument_list "()" (( "(") () ")"))) (; ";"))) (expression_statement "uVar22 = FUN_0017eb9a();" (assignment_expression "uVar22 = FUN_0017eb9a()" (identifier "uVar22") (= "=") (call_expression "FUN_0017eb9a()" (identifier "FUN_0017eb9a") (argument_list "()" (( "(") () ")")))) (; ";")) (return_statement "return uVar22;" (return "return") (identifier "uVar22") (; ";"))) (case_statement "case 0x18:" (case "case") (number_literal "0x18") (: ":")) (case_statement "case 0x96:\n      local_b8 = 0;\nLAB_002c2efa:\n      uVar18 = -local_b0;\nLAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      if (bVar14 != '\0') goto LAB_002c1f30;\n      uVar17 = 0;\n      *param_10 = (ulong)uVar36;\n      break;" (case "case") (number_literal "0x96") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_002c2efa:\n      uVar18 = -local_b0;" (statement_identifier "LAB_002c2efa") (: ":") (expression_statement "uVar18 = -local_b0;" (assignment_expression "uVar18 = -local_b0" (identifier "uVar18") (= "=") (unary_expression "-local_b0" (- "-") (identifier "local_b0"))) (; ";"))) (labeled_statement "LAB_002c2f02:\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);" (statement_identifier "LAB_002c2f02") (: ":") (expression_statement "uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);" (assignment_expression "uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18)" (identifier "uVar36") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,uVar18)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,uVar18)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "uVar18") () ")")))) (; ";"))) (if_statement "if (bVar14 != '\0') goto LAB_002c1f30;" (if "if") (parenthesized_expression "(bVar14 != '\0')" (( "(") (binary_expression "bVar14 != '\0'" (identifier "bVar14") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_002c1f30;" (goto "goto") (statement_identifier "LAB_002c1f30") (; ";"))) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "*param_10 = (ulong)uVar36;" (assignment_expression "*param_10 = (ulong)uVar36" (pointer_expression "*param_10" (* "*") (identifier "param_10")) (= "=") (cast_expression "(ulong)uVar36" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar36"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x1c:" (case "case") (number_literal "0x1c") (: ":")) (case_statement "case 0x97:\n      local_b8 = 0;\nLAB_002c1ed8:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }\n      uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);\n      goto joined_r0x002c1f7e;" (case "case") (number_literal "0x97") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_002c1ed8:\n      local_cc = local_b0;" (statement_identifier "LAB_002c1ed8") (: ":") (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" (identifier "local_cc") (= "=") (identifier "local_b0")) (; ";"))) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" (identifier "uVar18") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (if_statement "if (((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {\n        local_b0 = uVar18 & 0xffff;\n      }" (if "if") (parenthesized_expression "(((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0))" (( "(") (binary_expression "((char)local_b8 != '\0') &&\n         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)" (parenthesized_expression "((char)local_b8 != '\0')" (( "(") (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)" (( "(") (comma_expression "local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0" (assignment_expression "local_b0 = (uVar18 & 0xffff) - 0x10000" (identifier "local_b0") (= "=") (binary_expression "(uVar18 & 0xffff) - 0x10000" (parenthesized_expression "(uVar18 & 0xffff)" (( "(") (binary_expression "uVar18 & 0xffff" (identifier "uVar18") (& "&") (number_literal "0xffff")) () ")")) (- "-") (number_literal "0x10000"))) (, ",") (binary_expression "(uVar18 & 0x8000) == 0" (parenthesized_expression "(uVar18 & 0x8000)" (( "(") (binary_expression "uVar18 & 0x8000" (identifier "uVar18") (& "&") (number_literal "0x8000")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        local_b0 = uVar18 & 0xffff;\n      }" ({ "{") (expression_statement "local_b0 = uVar18 & 0xffff;" (assignment_expression "local_b0 = uVar18 & 0xffff" (identifier "local_b0") (= "=") (binary_expression "uVar18 & 0xffff" (identifier "uVar18") (& "&") (number_literal "0xffff"))) (; ";")) (} "}"))) (expression_statement "uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "uVar17") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,local_b0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "local_b0") () ")")))) (; ";")) (expression_statement "uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);" (assignment_expression "uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20)" (identifier "uVar36") (= "=") (call_expression "(uint)((ulong)uVar17 + 0x80008000 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulong)uVar17 + 0x80008000 >> 0x20)" (( "(") (binary_expression "(ulong)uVar17 + 0x80008000 >> 0x20" (binary_expression "(ulong)uVar17 + 0x80008000" (cast_expression "(ulong)uVar17" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar17")) (+ "+") (number_literal "0x80008000")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (goto_statement "goto joined_r0x002c1f7e;" (goto "goto") (statement_identifier "joined_r0x002c1f7e") (; ";"))) (case_statement "case 0x1d:" (case "case") (number_literal "0x1d") (: ":")) (case_statement "case 0x98:\n      local_b8 = 0;\nLAB_002c2f32:\n      local_cc = local_b0;\n      uVar36 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }\n      FUN_001a5ac0(param_9,plVar6,local_b0);\n      if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }\n      uVar36 = uVar36 & 0xffff0000;\n      goto LAB_002c1fd0;" (case "case") (number_literal "0x98") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_002c2f32:\n      local_cc = local_b0;" (statement_identifier "LAB_002c2f32") (: ":") (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" (identifier "local_cc") (= "=") (identifier "local_b0")) (; ";"))) (expression_statement "uVar36 = (uint)*param_10;" (assignment_expression "uVar36 = (uint)*param_10" (identifier "uVar36") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (if_statement "if ((char)local_b8 != '\0') {\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }" (if "if") (parenthesized_expression "((char)local_b8 != '\0')" (( "(") (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        local_b0 = (uVar36 & 0xffff) - 0x10000;\n        if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }\n      }" ({ "{") (expression_statement "local_b0 = (uVar36 & 0xffff) - 0x10000;" (assignment_expression "local_b0 = (uVar36 & 0xffff) - 0x10000" (identifier "local_b0") (= "=") (binary_expression "(uVar36 & 0xffff) - 0x10000" (parenthesized_expression "(uVar36 & 0xffff)" (( "(") (binary_expression "uVar36 & 0xffff" (identifier "uVar36") (& "&") (number_literal "0xffff")) () ")")) (- "-") (number_literal "0x10000"))) (; ";")) (if_statement "if ((uVar36 & 0x8000) == 0) {\n          local_b0 = uVar36 & 0xffff;\n        }" (if "if") (parenthesized_expression "((uVar36 & 0x8000) == 0)" (( "(") (binary_expression "(uVar36 & 0x8000) == 0" (parenthesized_expression "(uVar36 & 0x8000)" (( "(") (binary_expression "uVar36 & 0x8000" (identifier "uVar36") (& "&") (number_literal "0x8000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_b0 = uVar36 & 0xffff;\n        }" ({ "{") (expression_statement "local_b0 = uVar36 & 0xffff;" (assignment_expression "local_b0 = uVar36 & 0xffff" (identifier "local_b0") (= "=") (binary_expression "uVar36 & 0xffff" (identifier "uVar36") (& "&") (number_literal "0xffff"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "FUN_001a5ac0(param_9,plVar6,local_b0);" (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,local_b0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "local_b0") () ")"))) (; ";")) (if_statement "if (bVar45 && bVar48) {\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }" (if "if") (parenthesized_expression "(bVar45 && bVar48)" (( "(") (binary_expression "bVar45 && bVar48" (identifier "bVar45") (&& "&&") (identifier "bVar48")) () ")")) (compound_statement "{\n        uVar17 = 0;\n        *(uint *)param_1 = 0;\n        break;\n      }" ({ "{") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint *)param_1 = 0;" (assignment_expression "*(uint *)param_1 = 0" (pointer_expression "*(uint *)param_1" (* "*") (cast_expression "(uint *)param_1" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (= "=") (number_literal "0")) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "uVar36 = uVar36 & 0xffff0000;" (assignment_expression "uVar36 = uVar36 & 0xffff0000" (identifier "uVar36") (= "=") (binary_expression "uVar36 & 0xffff0000" (identifier "uVar36") (& "&") (number_literal "0xffff0000"))) (; ";")) (goto_statement "goto LAB_002c1fd0;" (goto "goto") (statement_identifier "LAB_002c1fd0") (; ";"))) (case_statement "case 0x25:" (case "case") (number_literal "0x25") (: ":")) (case_statement "case 0x9c:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }\n      uVar17 = (uint)*param_10;\n      uVar36 = uVar17;\n      if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }\n      if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }\n      break;" (case "case") (number_literal "0x9c") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "switchD_002c18c9_caseD_25:\n      if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }" (statement_identifier "switchD_002c18c9_caseD_25") (: ":") (if_statement "if (param_8 != (undefined8 *)0x0) {\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }" (if "if") (parenthesized_expression "(param_8 != (undefined8 *)0x0)" (( "(") (binary_expression "param_8 != (undefined8 *)0x0" (identifier "param_8") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);\n        if (cVar16 == '\0') break;\n        bVar14 = *(byte *)((long)param_1 + 4);\n      }" ({ "{") (expression_statement "cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);" (assignment_expression "cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1)" (identifier "cVar16") (= "=") (call_expression "FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1)" (identifier "FUN_0028d190") (argument_list "(param_8,*(int *)(param_8 + 4) != 0,1)" (( "(") (identifier "param_8") (, ",") (binary_expression "*(int *)(param_8 + 4) != 0" (pointer_expression "*(int *)(param_8 + 4)" (* "*") (cast_expression "(int *)(param_8 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_8 + 4)" (( "(") (binary_expression "param_8 + 4" (identifier "param_8") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "0")) (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (cVar16 == '\0') break;" (if "if") (parenthesized_expression "(cVar16 == '\0')" (( "(") (binary_expression "cVar16 == '\0'" (identifier "cVar16") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "bVar14 = *(byte *)((long)param_1 + 4);" (assignment_expression "bVar14 = *(byte *)((long)param_1 + 4)" (identifier "bVar14") (= "=") (pointer_expression "*(byte *)((long)param_1 + 4)" (* "*") (cast_expression "(byte *)((long)param_1 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 4)" (( "(") (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (} "}")))) (expression_statement "uVar17 = (uint)*param_10;" (assignment_expression "uVar17 = (uint)*param_10" (identifier "uVar17") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (expression_statement "uVar36 = uVar17;" (assignment_expression "uVar36 = uVar17" (identifier "uVar36") (= "=") (identifier "uVar17")) (; ";")) (if_statement "if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))\n      {\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))" (( "(") (binary_expression "((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809)))" (parenthesized_expression "((uVar18 == 0x25) && (local_cf != 1))" (( "(") (binary_expression "(uVar18 == 0x25) && (local_cf != 1)" (parenthesized_expression "(uVar18 == 0x25)" (( "(") (binary_expression "uVar18 == 0x25" (identifier "uVar18") (== "==") (number_literal "0x25")) () ")")) (&& "&&") (parenthesized_expression "(local_cf != 1)" (( "(") (binary_expression "local_cf != 1" (identifier "local_cf") (!= "!=") (number_literal "1")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((uVar17 == 0x3200008 || (uVar17 == 0x320f809)))" (( "(") (parenthesized_expression "(uVar17 == 0x3200008 || (uVar17 == 0x320f809))" (( "(") (binary_expression "uVar17 == 0x3200008 || (uVar17 == 0x320f809)" (binary_expression "uVar17 == 0x3200008" (identifier "uVar17") (== "==") (number_literal "0x3200008")) (|| "||") (parenthesized_expression "(uVar17 == 0x320f809)" (( "(") (binary_expression "uVar17 == 0x320f809" (identifier "uVar17") (== "==") (number_literal "0x320f809")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        iVar35 = FUN_001a5ac0(param_9,plVar6);\n        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }\n      }" ({ "{") (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6)" (identifier "iVar35") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") () ")")))) (; ";")) (if_statement "if ((iVar35 - param_11) + 0x1fffc < 0x40000) {\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }" (if "if") (parenthesized_expression "((iVar35 - param_11) + 0x1fffc < 0x40000)" (( "(") (binary_expression "(iVar35 - param_11) + 0x1fffc < 0x40000" (binary_expression "(iVar35 - param_11) + 0x1fffc" (parenthesized_expression "(iVar35 - param_11)" (( "(") (binary_expression "iVar35 - param_11" (identifier "iVar35") (- "-") (identifier "param_11")) () ")")) (+ "+") (number_literal "0x1fffc")) (< "<") (number_literal "0x40000")) () ")")) (compound_statement "{\n          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;\n          uVar36 = uVar18 | 0x10000000;\n          if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }\n        }" ({ "{") (expression_statement "uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;" (assignment_expression "uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff" (identifier "uVar18") (= "=") (binary_expression "(iVar35 - param_11) - 4 >> 2 & 0xffff" (binary_expression "(iVar35 - param_11) - 4 >> 2" (binary_expression "(iVar35 - param_11) - 4" (parenthesized_expression "(iVar35 - param_11)" (( "(") (binary_expression "iVar35 - param_11" (identifier "iVar35") (- "-") (identifier "param_11")) () ")")) (- "-") (number_literal "4")) (>> ">>") (number_literal "2")) (& "&") (number_literal "0xffff"))) (; ";")) (expression_statement "uVar36 = uVar18 | 0x10000000;" (assignment_expression "uVar36 = uVar18 | 0x10000000" (identifier "uVar36") (= "=") (binary_expression "uVar18 | 0x10000000" (identifier "uVar18") (| "|") (number_literal "0x10000000"))) (; ";")) (if_statement "if (uVar17 != 0x3200008) {\n            uVar36 = uVar18 | 0x4110000;\n          }" (if "if") (parenthesized_expression "(uVar17 != 0x3200008)" (( "(") (binary_expression "uVar17 != 0x3200008" (identifier "uVar17") (!= "!=") (number_literal "0x3200008")) () ")")) (compound_statement "{\n            uVar36 = uVar18 | 0x4110000;\n          }" ({ "{") (expression_statement "uVar36 = uVar18 | 0x4110000;" (assignment_expression "uVar36 = uVar18 | 0x4110000" (identifier "uVar36") (= "=") (binary_expression "uVar18 | 0x4110000" (identifier "uVar18") (| "|") (number_literal "0x4110000"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (if_statement "if (bVar14 == '\0') {\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }\n      else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }" (if "if") (parenthesized_expression "(bVar14 == '\0')" (( "(") (binary_expression "bVar14 == '\0'" (identifier "bVar14") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        *(uint *)param_10 = uVar36;\n        uVar17 = 0;\n      }" ({ "{") (expression_statement "*(uint *)param_10 = uVar36;" (assignment_expression "*(uint *)param_10 = uVar36" (pointer_expression "*(uint *)param_10" (* "*") (cast_expression "(uint *)param_10" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_10"))) (= "=") (identifier "uVar36")) (; ";")) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }" (else "else") (compound_statement "{\n        *(uint *)param_1 = uVar36;\n        uVar17 = 0;\n      }" ({ "{") (expression_statement "*(uint *)param_1 = uVar36;" (assignment_expression "*(uint *)param_1 = uVar36" (pointer_expression "*(uint *)param_1" (* "*") (cast_expression "(uint *)param_1" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (= "=") (identifier "uVar36")) (; ";")) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x27:" (case "case") (number_literal "0x27") (: ":")) (case_statement "case 0x29:\n      goto switchD_002c14fa_caseD_27;" (case "case") (number_literal "0x29") (: ":") (goto_statement "goto switchD_002c14fa_caseD_27;" (goto "goto") (statement_identifier "switchD_002c14fa_caseD_27") (; ";"))) (case_statement "case 0x2a:" (case "case") (number_literal "0x2a") (: ":")) (case_statement "case 0x6a:" (case "case") (number_literal "0x6a") (: ":")) (case_statement "case 0xa2:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }\n      FUN_00290940();\nswitchD_002c14fa_caseD_27:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_27:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      goto joined_r0x002c327b;" (case "case") (number_literal "0xa2") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "switchD_002c18c9_caseD_2a:\n      lVar31 = *(long *)(param_4 + 0x20);" (statement_identifier "switchD_002c18c9_caseD_2a") (: ":") (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" (identifier "lVar31") (= "=") (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")"))))) (; ";"))) (if_statement "if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }" (if "if") (parenthesized_expression "(param_8 == (undefined8 *)0x0)" (( "(") (binary_expression "param_8 == (undefined8 *)0x0" (identifier "param_8") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);\n      }" ({ "{") (if_statement "if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c467a;\n        }" (if "if") (parenthesized_expression "(lVar31 == 0)" (( "(") (binary_expression "lVar31 == 0" (identifier "lVar31") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_00290940();\n          goto LAB_002c467a;\n        }" ({ "{") (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" (identifier "FUN_00290940") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_002c467a;" (goto "goto") (statement_identifier "LAB_002c467a") (; ";")) (} "}"))) (expression_statement "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);" (assignment_expression "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc)" (identifier "local_e4") (= "=") (call_expression "(**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc)" (parenthesized_expression "(**(code **)(*plVar6 + 0x160))" (( "(") (pointer_expression "**(code **)(*plVar6 + 0x160)" (* "*") (pointer_expression "*(code **)(*plVar6 + 0x160)" (* "*") (cast_expression "(code **)(*plVar6 + 0x160)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar6 + 0x160)" (( "(") (binary_expression "*plVar6 + 0x160" (pointer_expression "*plVar6" (* "*") (identifier "plVar6")) (+ "+") (number_literal "0x160")) () ")"))))) () ")")) (argument_list "(plVar6,uVar33,2,(long)(int)local_cc)" (( "(") (identifier "plVar6") (, ",") (identifier "uVar33") (, ",") (number_literal "2") (, ",") (cast_expression "(long)(int)local_cc" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)local_cc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_cc"))) () ")")))) (; ";")) (} "}")) (else_clause "else {\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }" (else "else") (compound_statement "{\n        if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }\n        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);\n      }" ({ "{") (if_statement "if (lVar31 == 0) {\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }" (if "if") (parenthesized_expression "(lVar31 == 0)" (( "(") (binary_expression "lVar31 == 0" (identifier "lVar31") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_00290940();\nLAB_002c475c:\n          FUN_00290940();\n          goto LAB_002c4761;\n        }" ({ "{") (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" (identifier "FUN_00290940") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_002c475c:\n          FUN_00290940();" (statement_identifier "LAB_002c475c") (: ":") (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" (identifier "FUN_00290940") (argument_list "()" (( "(") () ")"))) (; ";"))) (goto_statement "goto LAB_002c4761;" (goto "goto") (statement_identifier "LAB_002c4761") (; ";")) (} "}"))) (expression_statement "local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);" (assignment_expression "local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6)" (identifier "local_e4") (= "=") (call_expression "FUN_0029b9e0(lVar31,param_8,2,plVar6)" (identifier "FUN_0029b9e0") (argument_list "(lVar31,param_8,2,plVar6)" (( "(") (identifier "lVar31") (, ",") (identifier "param_8") (, ",") (number_literal "2") (, ",") (identifier "plVar6") () ")")))) (; ";")) (} "}")))) (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" (identifier "lVar31") (= "=") (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if (lVar31 != 0) {\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }" (if "if") (parenthesized_expression "(lVar31 != 0)" (( "(") (binary_expression "lVar31 != 0" (identifier "lVar31") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\n        goto LAB_002c211b;\n      }" ({ "{") (labeled_statement "LAB_002c2030:\n        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);" (statement_identifier "LAB_002c2030") (: ":") (expression_statement "uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);" (assignment_expression "uVar36 = FUN_002924d0(lVar31,local_e4,plVar6)" (identifier "uVar36") (= "=") (call_expression "FUN_002924d0(lVar31,local_e4,plVar6)" (identifier "FUN_002924d0") (argument_list "(lVar31,local_e4,plVar6)" (( "(") (identifier "lVar31") (, ",") (identifier "local_e4") (, ",") (identifier "plVar6") () ")")))) (; ";"))) (goto_statement "goto LAB_002c211b;" (goto "goto") (statement_identifier "LAB_002c211b") (; ";")) (} "}"))) (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" (identifier "FUN_00290940") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "switchD_002c14fa_caseD_27:\n      local_b8 = 0;" (statement_identifier "switchD_002c14fa_caseD_27") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";"))) (labeled_statement "switchD_002c18c9_caseD_27:\n      uVar18 = local_cc;" (statement_identifier "switchD_002c18c9_caseD_27") (: ":") (expression_statement "uVar18 = local_cc;" (assignment_expression "uVar18 = local_cc" (identifier "uVar18") (= "=") (identifier "local_cc")) (; ";"))) (if_statement "if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }" (if "if") (parenthesized_expression "((char)local_b8 != '\0')" (( "(") (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar18 = (uint)*param_10;\n      }" ({ "{") (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" (identifier "uVar18") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (} "}"))) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18)" (identifier "iVar35") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,uVar18)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,uVar18)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "uVar18") () ")")))) (; ";")) (expression_statement "uVar36 = iVar35 - 0x8000;" (assignment_expression "uVar36 = iVar35 - 0x8000" (identifier "uVar36") (= "=") (binary_expression "iVar35 - 0x8000" (identifier "iVar35") (- "-") (number_literal "0x8000"))) (; ";")) (goto_statement "goto joined_r0x002c327b;" (goto "goto") (statement_identifier "joined_r0x002c327b") (; ";"))) (case_statement "case 0x2b:" (case "case") (number_literal "0x2b") (: ":")) (case_statement "case 0x6b:" (case "case") (number_literal "0x6b") (: ":")) (case_statement "case 0xa3:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }\n      if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }\n      if (lVar25 == 0) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }\n      local_e4 = *(uint *)(lVar25 + 0x14);\n      uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);\nLAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;\n      uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;\nLAB_002c2590:\n      *(uint *)param_10 = uVar18;\n      uVar17 = (uint)(0xffff < uVar36 + 0x8000);\n      break;" (case "case") (number_literal "0xa3") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "switchD_002c18c9_caseD_2b:\n      lVar31 = *(long *)(param_4 + 0x20);" (statement_identifier "switchD_002c18c9_caseD_2b") (: ":") (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" (identifier "lVar31") (= "=") (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")"))))) (; ";"))) (if_statement "if (lVar31 == 0) {\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }" (if "if") (parenthesized_expression "(lVar31 == 0)" (( "(") (binary_expression "lVar31 == 0" (identifier "lVar31") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_002c463a:\n        FUN_00290940();\nLAB_002c463f:\n        FUN_00293350();\n        goto LAB_002c4644;\n      }" ({ "{") (labeled_statement "LAB_002c463a:\n        FUN_00290940();" (statement_identifier "LAB_002c463a") (: ":") (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" (identifier "FUN_00290940") (argument_list "()" (( "(") () ")"))) (; ";"))) (labeled_statement "LAB_002c463f:\n        FUN_00293350();" (statement_identifier "LAB_002c463f") (: ":") (expression_statement "FUN_00293350();" (call_expression "FUN_00293350()" (identifier "FUN_00293350") (argument_list "()" (( "(") () ")"))) (; ";"))) (goto_statement "goto LAB_002c4644;" (goto "goto") (statement_identifier "LAB_002c4644") (; ";")) (} "}"))) (if_statement "if (*(long *)(lVar31 + 0xd0) == 0) {\n        lVar25 = *(long *)(lVar31 + 200);\n      }\n      else {\n        lVar25 = plVar6[0x6e];\n      }" (if "if") (parenthesized_expression "(*(long *)(lVar31 + 0xd0) == 0)" (( "(") (binary_expression "*(long *)(lVar31 + 0xd0) == 0" (pointer_expression "*(long *)(lVar31 + 0xd0)" (* "*") (cast_expression "(long *)(lVar31 + 0xd0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0xd0)" (( "(") (binary_expression "lVar31 + 0xd0" (identifier "lVar31") (+ "+") (number_literal "0xd0")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        lVar25 = *(long *)(lVar31 + 200);\n      }" ({ "{") (expression_statement "lVar25 = *(long *)(lVar31 + 200);" (assignment_expression "lVar25 = *(long *)(lVar31 + 200)" (identifier "lVar25") (= "=") (pointer_expression "*(long *)(lVar31 + 200)" (* "*") (cast_expression "(long *)(lVar31 + 200)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 200)" (( "(") (binary_expression "lVar31 + 200" (identifier "lVar31") (+ "+") (number_literal "200")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        lVar25 = plVar6[0x6e];\n      }" (else "else") (compound_statement "{\n        lVar25 = plVar6[0x6e];\n      }" ({ "{") (expression_statement "lVar25 = plVar6[0x6e];" (assignment_expression "lVar25 = plVar6[0x6e]" (identifier "lVar25") (= "=") (subscript_expression "plVar6[0x6e]" (identifier "plVar6") ([ "[") (number_literal "0x6e") (] "]"))) (; ";")) (} "}")))) (if_statement "if (lVar25 == 0) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }" (if "if") (parenthesized_expression "(lVar25 == 0)" (( "(") (binary_expression "lVar25 == 0" (identifier "lVar25") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");\n      }" ({ "{") (expression_statement "FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset")" (identifier "FUN_00352af0") (argument_list "("../../gold/mips.cc",0x86a,"tls_ldm_offset")" (( "(") (string_literal ""../../gold/mips.cc"" (" """) (string_content "../../gold/mips.cc") (" """)) (, ",") (number_literal "0x86a") (, ",") (string_literal ""tls_ldm_offset"" (" """) (string_content "tls_ldm_offset") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "local_e4 = *(uint *)(lVar25 + 0x14);" (assignment_expression "local_e4 = *(uint *)(lVar25 + 0x14)" (identifier "local_e4") (= "=") (pointer_expression "*(uint *)(lVar25 + 0x14)" (* "*") (cast_expression "(uint *)(lVar25 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar25 + 0x14)" (( "(") (binary_expression "lVar25 + 0x14" (identifier "lVar25") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);" (assignment_expression "uVar36 = FUN_002924d0(lVar31,local_e4,plVar6)" (identifier "uVar36") (= "=") (call_expression "FUN_002924d0(lVar31,local_e4,plVar6)" (identifier "FUN_002924d0") (argument_list "(lVar31,local_e4,plVar6)" (( "(") (identifier "lVar31") (, ",") (identifier "local_e4") (, ",") (identifier "plVar6") () ")")))) (; ";")) (labeled_statement "LAB_002c211b:\n      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;" (statement_identifier "LAB_002c211b") (: ":") (if_statement "if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;" (if "if") (parenthesized_expression "(*(char *)((long)param_1 + 4) != '\0')" (( "(") (binary_expression "*(char *)((long)param_1 + 4) != '\0'" (pointer_expression "*(char *)((long)param_1 + 4)" (* "*") (cast_expression "(char *)((long)param_1 + 4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 4)" (( "(") (binary_expression "(long)param_1 + 4" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "4")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_002c1fd4;" (goto "goto") (statement_identifier "LAB_002c1fd4") (; ";")))) (expression_statement "uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;" (assignment_expression "uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10" (identifier "uVar18") (= "=") (binary_expression "((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10" (binary_expression "((uint)*param_10 ^ uVar36) & 0xffff" (parenthesized_expression "((uint)*param_10 ^ uVar36)" (( "(") (binary_expression "(uint)*param_10 ^ uVar36" (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10")) (^ "^") (identifier "uVar36")) () ")")) (& "&") (number_literal "0xffff")) (^ "^") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10")))) (; ";")) (labeled_statement "LAB_002c2590:\n      *(uint *)param_10 = uVar18;" (statement_identifier "LAB_002c2590") (: ":") (expression_statement "*(uint *)param_10 = uVar18;" (assignment_expression "*(uint *)param_10 = uVar18" (pointer_expression "*(uint *)param_10" (* "*") (cast_expression "(uint *)param_10" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_10"))) (= "=") (identifier "uVar18")) (; ";"))) (expression_statement "uVar17 = (uint)(0xffff < uVar36 + 0x8000);" (assignment_expression "uVar17 = (uint)(0xffff < uVar36 + 0x8000)" (identifier "uVar17") (= "=") (call_expression "(uint)(0xffff < uVar36 + 0x8000)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xffff < uVar36 + 0x8000)" (( "(") (binary_expression "0xffff < uVar36 + 0x8000" (number_literal "0xffff") (< "<") (binary_expression "uVar36 + 0x8000" (identifier "uVar36") (+ "+") (number_literal "0x8000"))) () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x2c:" (case "case") (number_literal "0x2c") (: ":")) (case_statement "case 0x6c:" (case "case") (number_literal "0x6c") (: ":")) (case_statement "case 0xa4:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      goto LAB_002c1f79;" (case "case") (number_literal "0xa4") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "switchD_002c18c9_caseD_2c:\n      uVar18 = (uint)*param_10;" (statement_identifier "switchD_002c18c9_caseD_2c") (: ":") (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" (identifier "uVar18") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";"))) (expression_statement "uVar17 = uVar18 & 0xffff;" (assignment_expression "uVar17 = uVar18 & 0xffff" (identifier "uVar17") (= "=") (binary_expression "uVar18 & 0xffff" (identifier "uVar18") (& "&") (number_literal "0xffff"))) (; ";")) (if_statement "if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }" (if "if") (parenthesized_expression "((char)local_b8 == '\0')" (( "(") (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar17 = local_cc;\n      }" ({ "{") (expression_statement "uVar17 = local_cc;" (assignment_expression "uVar17 = local_cc" (identifier "uVar17") (= "=") (identifier "local_cc")) (; ";")) (} "}"))) (expression_statement "uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);" (assignment_expression "uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17)" (identifier "uVar36") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,uVar17)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,uVar17)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "uVar17") () ")")))) (; ";")) (goto_statement "goto LAB_002c1f79;" (goto "goto") (statement_identifier "LAB_002c1f79") (; ";"))) (case_statement "case 0x2d:" (case "case") (number_literal "0x2d") (: ":")) (case_statement "case 0x6d:" (case "case") (number_literal "0x6d") (: ":")) (case_statement "case 0xa5:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x8000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;" (case "case") (number_literal "0xa5") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "switchD_002c18c9_caseD_2d:\n      local_108 = (uint)*param_10;" (statement_identifier "switchD_002c18c9_caseD_2d") (: ":") (expression_statement "local_108 = (uint)*param_10;" (assignment_expression "local_108 = (uint)*param_10" (identifier "local_108") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";"))) (expression_statement "uVar18 = local_108 & 0xffff;" (assignment_expression "uVar18 = local_108 & 0xffff" (identifier "uVar18") (= "=") (binary_expression "local_108 & 0xffff" (identifier "local_108") (& "&") (number_literal "0xffff"))) (; ";")) (if_statement "if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }" (if "if") (parenthesized_expression "((char)local_b8 == '\0')" (( "(") (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar18 = local_cc;\n      }" ({ "{") (expression_statement "uVar18 = local_cc;" (assignment_expression "uVar18 = local_cc" (identifier "uVar18") (= "=") (identifier "local_cc")) (; ";")) (} "}"))) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18)" (identifier "iVar35") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,uVar18)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,uVar18)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "uVar18") () ")")))) (; ";")) (expression_statement "uVar36 = iVar35 - 0x8000;" (assignment_expression "uVar36 = iVar35 - 0x8000" (identifier "uVar36") (= "=") (binary_expression "iVar35 - 0x8000" (identifier "iVar35") (- "-") (number_literal "0x8000"))) (; ";")) (if_statement "if (!bVar45 || !bVar48) goto LAB_002c1ebf;" (if "if") (parenthesized_expression "(!bVar45 || !bVar48)" (( "(") (binary_expression "!bVar45 || !bVar48" (unary_expression "!bVar45" (! "!") (identifier "bVar45")) (|| "||") (unary_expression "!bVar48" (! "!") (identifier "bVar48"))) () ")")) (goto_statement "goto LAB_002c1ebf;" (goto "goto") (statement_identifier "LAB_002c1ebf") (; ";"))) (goto_statement "goto LAB_002c1f30;" (goto "goto") (statement_identifier "LAB_002c1f30") (; ";"))) (case_statement "case 0x2e:" (case "case") (number_literal "0x2e") (: ":")) (case_statement "case 0x6e:" (case "case") (number_literal "0x6e") (: ":")) (case_statement "case 0xa6:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }\n      lVar31 = *(long *)(param_4 + 0x20);\n      if (lVar31 != 0) goto LAB_002c2030;\n      goto LAB_002c47a1;" (case "case") (number_literal "0xa6") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "switchD_002c18c9_caseD_2e:\n      lVar31 = *(long *)(param_4 + 0x20);" (statement_identifier "switchD_002c18c9_caseD_2e") (: ":") (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" (identifier "lVar31") (= "=") (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")"))))) (; ";"))) (if_statement "if (param_8 == (undefined8 *)0x0) {\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }\n      else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }" (if "if") (parenthesized_expression "(param_8 == (undefined8 *)0x0)" (( "(") (binary_expression "param_8 == (undefined8 *)0x0" (identifier "param_8") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }\n        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);\n      }" ({ "{") (if_statement "if (lVar31 == 0) {\n          FUN_00290940();\n          goto LAB_002c4670;\n        }" (if "if") (parenthesized_expression "(lVar31 == 0)" (( "(") (binary_expression "lVar31 == 0" (identifier "lVar31") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_00290940();\n          goto LAB_002c4670;\n        }" ({ "{") (expression_statement "FUN_00290940();" (call_expression "FUN_00290940()" (identifier "FUN_00290940") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_002c4670;" (goto "goto") (statement_identifier "LAB_002c4670") (; ";")) (} "}"))) (expression_statement "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);" (assignment_expression "local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc)" (identifier "local_e4") (= "=") (call_expression "(**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc)" (parenthesized_expression "(**(code **)(*plVar6 + 0x160))" (( "(") (pointer_expression "**(code **)(*plVar6 + 0x160)" (* "*") (pointer_expression "*(code **)(*plVar6 + 0x160)" (* "*") (cast_expression "(code **)(*plVar6 + 0x160)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar6 + 0x160)" (( "(") (binary_expression "*plVar6 + 0x160" (pointer_expression "*plVar6" (* "*") (identifier "plVar6")) (+ "+") (number_literal "0x160")) () ")"))))) () ")")) (argument_list "(plVar6,uVar33,1,(long)(int)local_cc)" (( "(") (identifier "plVar6") (, ",") (identifier "uVar33") (, ",") (number_literal "1") (, ",") (cast_expression "(long)(int)local_cc" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (cast_expression "(int)local_cc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_cc"))) () ")")))) (; ";")) (} "}")) (else_clause "else {\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }" (else "else") (compound_statement "{\n        if (lVar31 == 0) goto LAB_002c47a6;\n        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);\n      }" ({ "{") (if_statement "if (lVar31 == 0) goto LAB_002c47a6;" (if "if") (parenthesized_expression "(lVar31 == 0)" (( "(") (binary_expression "lVar31 == 0" (identifier "lVar31") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002c47a6;" (goto "goto") (statement_identifier "LAB_002c47a6") (; ";"))) (expression_statement "local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);" (assignment_expression "local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6)" (identifier "local_e4") (= "=") (call_expression "FUN_0029b9e0(lVar31,param_8,1,plVar6)" (identifier "FUN_0029b9e0") (argument_list "(lVar31,param_8,1,plVar6)" (( "(") (identifier "lVar31") (, ",") (identifier "param_8") (, ",") (number_literal "1") (, ",") (identifier "plVar6") () ")")))) (; ";")) (} "}")))) (expression_statement "lVar31 = *(long *)(param_4 + 0x20);" (assignment_expression "lVar31 = *(long *)(param_4 + 0x20)" (identifier "lVar31") (= "=") (pointer_expression "*(long *)(param_4 + 0x20)" (* "*") (cast_expression "(long *)(param_4 + 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_4 + 0x20)" (( "(") (binary_expression "param_4 + 0x20" (identifier "param_4") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if (lVar31 != 0) goto LAB_002c2030;" (if "if") (parenthesized_expression "(lVar31 != 0)" (( "(") (binary_expression "lVar31 != 0" (identifier "lVar31") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_002c2030;" (goto "goto") (statement_identifier "LAB_002c2030") (; ";"))) (goto_statement "goto LAB_002c47a1;" (goto "goto") (statement_identifier "LAB_002c47a1") (; ";"))) (case_statement "case 0x2f:" (case "case") (number_literal "0x2f") (: ":")) (case_statement "case 0x30:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;\n      if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1fd0;\n      goto LAB_002c1f30;" (case "case") (number_literal "0x30") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "switchD_002c18c9_caseD_2f:\n      uVar18 = local_cc;" (statement_identifier "switchD_002c18c9_caseD_2f") (: ":") (expression_statement "uVar18 = local_cc;" (assignment_expression "uVar18 = local_cc" (identifier "uVar18") (= "=") (identifier "local_cc")) (; ";"))) (if_statement "if ((char)local_b8 != '\0') {\n        uVar18 = (uint)*param_10;\n      }" (if "if") (parenthesized_expression "((char)local_b8 != '\0')" (( "(") (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar18 = (uint)*param_10;\n      }" ({ "{") (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" (identifier "uVar18") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (} "}"))) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18)" (identifier "iVar35") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,uVar18)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,uVar18)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "uVar18") () ")")))) (; ";")) (expression_statement "uVar36 = iVar35 - 0x7000;" (assignment_expression "uVar36 = iVar35 - 0x7000" (identifier "uVar36") (= "=") (binary_expression "iVar35 - 0x7000" (identifier "iVar35") (- "-") (number_literal "0x7000"))) (; ";")) (if_statement "if (!bVar45 || !bVar48) goto LAB_002c1fd0;" (if "if") (parenthesized_expression "(!bVar45 || !bVar48)" (( "(") (binary_expression "!bVar45 || !bVar48" (unary_expression "!bVar45" (! "!") (identifier "bVar45")) (|| "||") (unary_expression "!bVar48" (! "!") (identifier "bVar48"))) () ")")) (goto_statement "goto LAB_002c1fd0;" (goto "goto") (statement_identifier "LAB_002c1fd0") (; ";"))) (goto_statement "goto LAB_002c1f30;" (goto "goto") (statement_identifier "LAB_002c1f30") (; ";"))) (case_statement "case 0x31:" (case "case") (number_literal "0x31") (: ":")) (case_statement "case 0x6f:" (case "case") (number_literal "0x6f") (: ":")) (case_statement "case 0xa9:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;\n      uVar17 = uVar18 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);\n      uVar36 = iVar35 + 0x1000;\nLAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;\njoined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;\n      break;" (case "case") (number_literal "0xa9") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "switchD_002c18c9_caseD_31:\n      uVar18 = (uint)*param_10;" (statement_identifier "switchD_002c18c9_caseD_31") (: ":") (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" (identifier "uVar18") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";"))) (expression_statement "uVar17 = uVar18 & 0xffff;" (assignment_expression "uVar17 = uVar18 & 0xffff" (identifier "uVar17") (= "=") (binary_expression "uVar18 & 0xffff" (identifier "uVar18") (& "&") (number_literal "0xffff"))) (; ";")) (if_statement "if ((char)local_b8 == '\0') {\n        uVar17 = local_cc;\n      }" (if "if") (parenthesized_expression "((char)local_b8 == '\0')" (( "(") (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar17 = local_cc;\n      }" ({ "{") (expression_statement "uVar17 = local_cc;" (assignment_expression "uVar17 = local_cc" (identifier "uVar17") (= "=") (identifier "local_cc")) (; ";")) (} "}"))) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17)" (identifier "iVar35") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,uVar17)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,uVar17)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "uVar17") () ")")))) (; ";")) (expression_statement "uVar36 = iVar35 + 0x1000;" (assignment_expression "uVar36 = iVar35 + 0x1000" (identifier "uVar36") (= "=") (binary_expression "iVar35 + 0x1000" (identifier "iVar35") (+ "+") (number_literal "0x1000"))) (; ";")) (labeled_statement "LAB_002c1f79:\n      uVar36 = uVar36 >> 0x10;" (statement_identifier "LAB_002c1f79") (: ":") (expression_statement "uVar36 = uVar36 >> 0x10;" (assignment_expression "uVar36 = uVar36 >> 0x10" (identifier "uVar36") (= "=") (binary_expression "uVar36 >> 0x10" (identifier "uVar36") (>> ">>") (number_literal "0x10"))) (; ";"))) (labeled_statement "joined_r0x002c1f7e:\n      if ((bool)bVar14) goto LAB_002c1f30;" (statement_identifier "joined_r0x002c1f7e") (: ":") (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" (if "if") (parenthesized_expression "((bool)bVar14)" (( "(") (cast_expression "(bool)bVar14" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "bVar14")) () ")")) (goto_statement "goto LAB_002c1f30;" (goto "goto") (statement_identifier "LAB_002c1f30") (; ";")))) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;" (assignment_expression "*(uint *)param_10 = uVar36 | uVar18 & 0xffff0000" (pointer_expression "*(uint *)param_10" (* "*") (cast_expression "(uint *)param_10" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_10"))) (= "=") (binary_expression "uVar36 | uVar18 & 0xffff0000" (identifier "uVar36") (| "|") (binary_expression "uVar18 & 0xffff0000" (identifier "uVar18") (& "&") (number_literal "0xffff0000")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x32:" (case "case") (number_literal "0x32") (: ":")) (case_statement "case 0x70:" (case "case") (number_literal "0x70") (: ":")) (case_statement "case 0xaa:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;\n      uVar18 = local_108 & 0xffff;\n      if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n      uVar36 = iVar35 - 0x7000;\n      if (!bVar45 || !bVar48) goto LAB_002c1ebf;\n      goto LAB_002c1f30;" (case "case") (number_literal "0xaa") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "switchD_002c18c9_caseD_32:\n      local_108 = (uint)*param_10;" (statement_identifier "switchD_002c18c9_caseD_32") (: ":") (expression_statement "local_108 = (uint)*param_10;" (assignment_expression "local_108 = (uint)*param_10" (identifier "local_108") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";"))) (expression_statement "uVar18 = local_108 & 0xffff;" (assignment_expression "uVar18 = local_108 & 0xffff" (identifier "uVar18") (= "=") (binary_expression "local_108 & 0xffff" (identifier "local_108") (& "&") (number_literal "0xffff"))) (; ";")) (if_statement "if ((char)local_b8 == '\0') {\n        uVar18 = local_cc;\n      }" (if "if") (parenthesized_expression "((char)local_b8 == '\0')" (( "(") (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar18 = local_cc;\n      }" ({ "{") (expression_statement "uVar18 = local_cc;" (assignment_expression "uVar18 = local_cc" (identifier "uVar18") (= "=") (identifier "local_cc")) (; ";")) (} "}"))) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18)" (identifier "iVar35") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,uVar18)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,uVar18)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "uVar18") () ")")))) (; ";")) (expression_statement "uVar36 = iVar35 - 0x7000;" (assignment_expression "uVar36 = iVar35 - 0x7000" (identifier "uVar36") (= "=") (binary_expression "iVar35 - 0x7000" (identifier "iVar35") (- "-") (number_literal "0x7000"))) (; ";")) (if_statement "if (!bVar45 || !bVar48) goto LAB_002c1ebf;" (if "if") (parenthesized_expression "(!bVar45 || !bVar48)" (( "(") (binary_expression "!bVar45 || !bVar48" (unary_expression "!bVar45" (! "!") (identifier "bVar45")) (|| "||") (unary_expression "!bVar48" (! "!") (identifier "bVar48"))) () ")")) (goto_statement "goto LAB_002c1ebf;" (goto "goto") (statement_identifier "LAB_002c1ebf") (; ";"))) (goto_statement "goto LAB_002c1f30;" (goto "goto") (statement_identifier "LAB_002c1f30") (; ";"))) (case_statement "case 0x3c:\n      local_b8 = 0;\nLAB_002c2f96:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }\n      break;" (case "case") (number_literal "0x3c") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_002c2f96:\n      local_cc = local_b0;" (statement_identifier "LAB_002c2f96") (: ":") (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" (identifier "local_cc") (= "=") (identifier "local_b0")) (; ";"))) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" (identifier "uVar18") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (if_statement "if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" (if "if") (parenthesized_expression "((char)local_b8 != '\0')" (( "(") (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar17 = uVar18 * 4 & 0x7ffffc;\n        local_b0 = uVar17 - 0x800000;\n        if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" ({ "{") (expression_statement "uVar17 = uVar18 * 4 & 0x7ffffc;" (assignment_expression "uVar17 = uVar18 * 4 & 0x7ffffc" (identifier "uVar17") (= "=") (binary_expression "uVar18 * 4 & 0x7ffffc" (binary_expression "uVar18 * 4" (identifier "uVar18") (* "*") (number_literal "4")) (& "&") (number_literal "0x7ffffc"))) (; ";")) (expression_statement "local_b0 = uVar17 - 0x800000;" (assignment_expression "local_b0 = uVar17 - 0x800000" (identifier "local_b0") (= "=") (binary_expression "uVar17 - 0x800000" (identifier "uVar17") (- "-") (number_literal "0x800000"))) (; ";")) (if_statement "if ((uVar18 * 4 & 0x400000) == 0) {\n          local_b0 = uVar17;\n        }" (if "if") (parenthesized_expression "((uVar18 * 4 & 0x400000) == 0)" (( "(") (binary_expression "(uVar18 * 4 & 0x400000) == 0" (parenthesized_expression "(uVar18 * 4 & 0x400000)" (( "(") (binary_expression "uVar18 * 4 & 0x400000" (binary_expression "uVar18 * 4" (identifier "uVar18") (* "*") (number_literal "4")) (& "&") (number_literal "0x400000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_b0 = uVar17;\n        }" ({ "{") (expression_statement "local_b0 = uVar17;" (assignment_expression "local_b0 = uVar17" (identifier "local_b0") (= "=") (identifier "uVar17")) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "iVar35") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,local_b0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "local_b0") () ")")))) (; ";")) (expression_statement "uVar36 = iVar35 - param_11 >> 2;" (assignment_expression "uVar36 = iVar35 - param_11 >> 2" (identifier "uVar36") (= "=") (binary_expression "iVar35 - param_11 >> 2" (binary_expression "iVar35 - param_11" (identifier "iVar35") (- "-") (identifier "param_11")) (>> ">>") (number_literal "2"))) (; ";")) (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" (if "if") (parenthesized_expression "((bool)bVar14)" (( "(") (cast_expression "(bool)bVar14" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "bVar14")) () ")")) (goto_statement "goto LAB_002c1f30;" (goto "goto") (statement_identifier "LAB_002c1f30") (; ";"))) (expression_statement "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;" (assignment_expression "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff" (pointer_expression "*(uint *)param_10" (* "*") (cast_expression "(uint *)param_10" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_10"))) (= "=") (binary_expression "uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff" (identifier "uVar18") (^ "^") (binary_expression "(uVar36 ^ uVar18) & 0x1fffff" (parenthesized_expression "(uVar36 ^ uVar18)" (( "(") (binary_expression "uVar36 ^ uVar18" (identifier "uVar36") (^ "^") (identifier "uVar18")) () ")")) (& "&") (number_literal "0x1fffff")))) (; ";")) (expression_statement "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "uVar32") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,local_b0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "local_b0") () ")")))) (; ";")) (expression_statement "uVar17 = 3;" (assignment_expression "uVar17 = 3" (identifier "uVar17") (= "=") (number_literal "3")) (; ";")) (if_statement "if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }" (if "if") (parenthesized_expression "((uVar32 & 3) == 0)" (( "(") (binary_expression "(uVar32 & 3) == 0" (parenthesized_expression "(uVar32 & 3)" (( "(") (binary_expression "uVar32 & 3" (identifier "uVar32") (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);\n      }" ({ "{") (expression_statement "uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);" (assignment_expression "uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000)" (identifier "uVar17") (= "=") (call_expression "(uint)(0x7fffff < (iVar35 - param_11) + 0x400000)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0x7fffff < (iVar35 - param_11) + 0x400000)" (( "(") (binary_expression "0x7fffff < (iVar35 - param_11) + 0x400000" (number_literal "0x7fffff") (< "<") (binary_expression "(iVar35 - param_11) + 0x400000" (parenthesized_expression "(iVar35 - param_11)" (( "(") (binary_expression "iVar35 - param_11" (identifier "iVar35") (- "-") (identifier "param_11")) () ")")) (+ "+") (number_literal "0x400000"))) () ")")))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x3d:\n      local_b8 = 0;\nLAB_002c304d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 2;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar17 = 3;\n      if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }\n      break;" (case "case") (number_literal "0x3d") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_002c304d:\n      local_cc = local_b0;" (statement_identifier "LAB_002c304d") (: ":") (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" (identifier "local_cc") (= "=") (identifier "local_b0")) (; ";"))) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" (identifier "uVar18") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (if_statement "if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" (if "if") (parenthesized_expression "((char)local_b8 != '\0')" (( "(") (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar17 = uVar18 * 4 & 0xffffffc;\n        local_b0 = uVar17 + 0xf0000000;\n        if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" ({ "{") (expression_statement "uVar17 = uVar18 * 4 & 0xffffffc;" (assignment_expression "uVar17 = uVar18 * 4 & 0xffffffc" (identifier "uVar17") (= "=") (binary_expression "uVar18 * 4 & 0xffffffc" (binary_expression "uVar18 * 4" (identifier "uVar18") (* "*") (number_literal "4")) (& "&") (number_literal "0xffffffc"))) (; ";")) (expression_statement "local_b0 = uVar17 + 0xf0000000;" (assignment_expression "local_b0 = uVar17 + 0xf0000000" (identifier "local_b0") (= "=") (binary_expression "uVar17 + 0xf0000000" (identifier "uVar17") (+ "+") (number_literal "0xf0000000"))) (; ";")) (if_statement "if ((uVar18 * 4 & 0x8000000) == 0) {\n          local_b0 = uVar17;\n        }" (if "if") (parenthesized_expression "((uVar18 * 4 & 0x8000000) == 0)" (( "(") (binary_expression "(uVar18 * 4 & 0x8000000) == 0" (parenthesized_expression "(uVar18 * 4 & 0x8000000)" (( "(") (binary_expression "uVar18 * 4 & 0x8000000" (binary_expression "uVar18 * 4" (identifier "uVar18") (* "*") (number_literal "4")) (& "&") (number_literal "0x8000000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_b0 = uVar17;\n        }" ({ "{") (expression_statement "local_b0 = uVar17;" (assignment_expression "local_b0 = uVar17" (identifier "local_b0") (= "=") (identifier "uVar17")) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "iVar35") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,local_b0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "local_b0") () ")")))) (; ";")) (expression_statement "uVar36 = iVar35 - param_11 >> 2;" (assignment_expression "uVar36 = iVar35 - param_11 >> 2" (identifier "uVar36") (= "=") (binary_expression "iVar35 - param_11 >> 2" (binary_expression "iVar35 - param_11" (identifier "iVar35") (- "-") (identifier "param_11")) (>> ">>") (number_literal "2"))) (; ";")) (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" (if "if") (parenthesized_expression "((bool)bVar14)" (( "(") (cast_expression "(bool)bVar14" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "bVar14")) () ")")) (goto_statement "goto LAB_002c1f30;" (goto "goto") (statement_identifier "LAB_002c1f30") (; ";"))) (expression_statement "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;" (assignment_expression "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff" (pointer_expression "*(uint *)param_10" (* "*") (cast_expression "(uint *)param_10" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_10"))) (= "=") (binary_expression "uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff" (identifier "uVar18") (^ "^") (binary_expression "(uVar36 ^ uVar18) & 0x3ffffff" (parenthesized_expression "(uVar36 ^ uVar18)" (( "(") (binary_expression "uVar36 ^ uVar18" (identifier "uVar36") (^ "^") (identifier "uVar18")) () ")")) (& "&") (number_literal "0x3ffffff")))) (; ";")) (expression_statement "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "uVar32") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,local_b0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "local_b0") () ")")))) (; ";")) (expression_statement "uVar17 = 3;" (assignment_expression "uVar17 = 3" (identifier "uVar17") (= "=") (number_literal "3")) (; ";")) (if_statement "if ((uVar32 & 3) == 0) {\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }" (if "if") (parenthesized_expression "((uVar32 & 3) == 0)" (( "(") (binary_expression "(uVar32 & 3) == 0" (parenthesized_expression "(uVar32 & 3)" (( "(") (binary_expression "uVar32 & 3" (identifier "uVar32") (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);\n      }" ({ "{") (expression_statement "uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);" (assignment_expression "uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000)" (identifier "uVar17") (= "=") (call_expression "(uint)(0xfffffff < (iVar35 - param_11) + 0x8000000)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xfffffff < (iVar35 - param_11) + 0x8000000)" (( "(") (binary_expression "0xfffffff < (iVar35 - param_11) + 0x8000000" (number_literal "0xfffffff") (< "<") (binary_expression "(iVar35 - param_11) + 0x8000000" (parenthesized_expression "(iVar35 - param_11)" (( "(") (binary_expression "iVar35 - param_11" (identifier "iVar35") (- "-") (identifier "param_11")) () ")")) (+ "+") (number_literal "0x8000000"))) () ")")))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x3e:\n      local_b8 = 0;\nLAB_002c3104:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - (param_11 & 0xfffffff8);\n      uVar36 = uVar20 >> 3;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;\n      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar32 = uVar32 & 7;\njoined_r0x002c324e:\n      uVar17 = 3;\n      if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }\n      break;" (case "case") (number_literal "0x3e") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_002c3104:\n      local_cc = local_b0;" (statement_identifier "LAB_002c3104") (: ":") (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" (identifier "local_cc") (= "=") (identifier "local_b0")) (; ";"))) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" (identifier "uVar18") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (if_statement "if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" (if "if") (parenthesized_expression "((char)local_b8 != '\0')" (( "(") (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar17 = uVar18 * 8 & 0x1ffff8;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" ({ "{") (expression_statement "uVar17 = uVar18 * 8 & 0x1ffff8;" (assignment_expression "uVar17 = uVar18 * 8 & 0x1ffff8" (identifier "uVar17") (= "=") (binary_expression "uVar18 * 8 & 0x1ffff8" (binary_expression "uVar18 * 8" (identifier "uVar18") (* "*") (number_literal "8")) (& "&") (number_literal "0x1ffff8"))) (; ";")) (expression_statement "local_b0 = uVar17 - 0x200000;" (assignment_expression "local_b0 = uVar17 - 0x200000" (identifier "local_b0") (= "=") (binary_expression "uVar17 - 0x200000" (identifier "uVar17") (- "-") (number_literal "0x200000"))) (; ";")) (if_statement "if ((uVar18 * 8 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }" (if "if") (parenthesized_expression "((uVar18 * 8 & 0x100000) == 0)" (( "(") (binary_expression "(uVar18 * 8 & 0x100000) == 0" (parenthesized_expression "(uVar18 * 8 & 0x100000)" (( "(") (binary_expression "uVar18 * 8 & 0x100000" (binary_expression "uVar18 * 8" (identifier "uVar18") (* "*") (number_literal "8")) (& "&") (number_literal "0x100000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_b0 = uVar17;\n        }" ({ "{") (expression_statement "local_b0 = uVar17;" (assignment_expression "local_b0 = uVar17" (identifier "local_b0") (= "=") (identifier "uVar17")) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "iVar35") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,local_b0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "local_b0") () ")")))) (; ";")) (expression_statement "uVar20 = iVar35 - (param_11 & 0xfffffff8);" (assignment_expression "uVar20 = iVar35 - (param_11 & 0xfffffff8)" (identifier "uVar20") (= "=") (binary_expression "iVar35 - (param_11 & 0xfffffff8)" (identifier "iVar35") (- "-") (parenthesized_expression "(param_11 & 0xfffffff8)" (( "(") (binary_expression "param_11 & 0xfffffff8" (identifier "param_11") (& "&") (number_literal "0xfffffff8")) () ")")))) (; ";")) (expression_statement "uVar36 = uVar20 >> 3;" (assignment_expression "uVar36 = uVar20 >> 3" (identifier "uVar36") (= "=") (binary_expression "uVar20 >> 3" (identifier "uVar20") (>> ">>") (number_literal "3"))) (; ";")) (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" (if "if") (parenthesized_expression "((bool)bVar14)" (( "(") (cast_expression "(bool)bVar14" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "bVar14")) () ")")) (goto_statement "goto LAB_002c1f30;" (goto "goto") (statement_identifier "LAB_002c1f30") (; ";"))) (expression_statement "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;" (assignment_expression "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff" (pointer_expression "*(uint *)param_10" (* "*") (cast_expression "(uint *)param_10" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_10"))) (= "=") (binary_expression "uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff" (identifier "uVar18") (^ "^") (binary_expression "(uVar36 ^ uVar18) & 0x3ffff" (parenthesized_expression "(uVar36 ^ uVar18)" (( "(") (binary_expression "uVar36 ^ uVar18" (identifier "uVar36") (^ "^") (identifier "uVar18")) () ")")) (& "&") (number_literal "0x3ffff")))) (; ";")) (expression_statement "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "uVar32") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,local_b0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "local_b0") () ")")))) (; ";")) (expression_statement "uVar32 = uVar32 & 7;" (assignment_expression "uVar32 = uVar32 & 7" (identifier "uVar32") (= "=") (binary_expression "uVar32 & 7" (identifier "uVar32") (& "&") (number_literal "7"))) (; ";")) (labeled_statement "joined_r0x002c324e:\n      uVar17 = 3;" (statement_identifier "joined_r0x002c324e") (: ":") (expression_statement "uVar17 = 3;" (assignment_expression "uVar17 = 3" (identifier "uVar17") (= "=") (number_literal "3")) (; ";"))) (if_statement "if (uVar32 == 0) {\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }" (if "if") (parenthesized_expression "(uVar32 == 0)" (( "(") (binary_expression "uVar32 == 0" (identifier "uVar32") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);\n      }" ({ "{") (expression_statement "uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);" (assignment_expression "uVar17 = (uint)(0x1fffff < uVar20 + 0x100000)" (identifier "uVar17") (= "=") (call_expression "(uint)(0x1fffff < uVar20 + 0x100000)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0x1fffff < uVar20 + 0x100000)" (( "(") (binary_expression "0x1fffff < uVar20 + 0x100000" (number_literal "0x1fffff") (< "<") (binary_expression "uVar20 + 0x100000" (identifier "uVar20") (+ "+") (number_literal "0x100000"))) () ")")))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x3f:\n      local_b8 = 0;\nLAB_002c31c0:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar20 = iVar35 - param_11;\n      uVar36 = uVar20 >> 2;\n      if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }\nLAB_002c1f30:\n      uVar17 = 0;\n      *(uint *)param_1 = uVar36;\n      break;" (case "case") (number_literal "0x3f") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_002c31c0:\n      local_cc = local_b0;" (statement_identifier "LAB_002c31c0") (: ":") (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" (identifier "local_cc") (= "=") (identifier "local_b0")) (; ";"))) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" (identifier "uVar18") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (if_statement "if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" (if "if") (parenthesized_expression "((char)local_b8 != '\0')" (( "(") (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar17 = uVar18 * 4 & 0x1ffffc;\n        local_b0 = uVar17 - 0x200000;\n        if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" ({ "{") (expression_statement "uVar17 = uVar18 * 4 & 0x1ffffc;" (assignment_expression "uVar17 = uVar18 * 4 & 0x1ffffc" (identifier "uVar17") (= "=") (binary_expression "uVar18 * 4 & 0x1ffffc" (binary_expression "uVar18 * 4" (identifier "uVar18") (* "*") (number_literal "4")) (& "&") (number_literal "0x1ffffc"))) (; ";")) (expression_statement "local_b0 = uVar17 - 0x200000;" (assignment_expression "local_b0 = uVar17 - 0x200000" (identifier "local_b0") (= "=") (binary_expression "uVar17 - 0x200000" (identifier "uVar17") (- "-") (number_literal "0x200000"))) (; ";")) (if_statement "if ((uVar18 * 4 & 0x100000) == 0) {\n          local_b0 = uVar17;\n        }" (if "if") (parenthesized_expression "((uVar18 * 4 & 0x100000) == 0)" (( "(") (binary_expression "(uVar18 * 4 & 0x100000) == 0" (parenthesized_expression "(uVar18 * 4 & 0x100000)" (( "(") (binary_expression "uVar18 * 4 & 0x100000" (binary_expression "uVar18 * 4" (identifier "uVar18") (* "*") (number_literal "4")) (& "&") (number_literal "0x100000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_b0 = uVar17;\n        }" ({ "{") (expression_statement "local_b0 = uVar17;" (assignment_expression "local_b0 = uVar17" (identifier "local_b0") (= "=") (identifier "uVar17")) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "iVar35") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,local_b0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "local_b0") () ")")))) (; ";")) (expression_statement "uVar20 = iVar35 - param_11;" (assignment_expression "uVar20 = iVar35 - param_11" (identifier "uVar20") (= "=") (binary_expression "iVar35 - param_11" (identifier "iVar35") (- "-") (identifier "param_11"))) (; ";")) (expression_statement "uVar36 = uVar20 >> 2;" (assignment_expression "uVar36 = uVar20 >> 2" (identifier "uVar36") (= "=") (binary_expression "uVar20 >> 2" (identifier "uVar20") (>> ">>") (number_literal "2"))) (; ";")) (if_statement "if (!bVar45 || !bVar48) {\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }" (if "if") (parenthesized_expression "(!bVar45 || !bVar48)" (( "(") (binary_expression "!bVar45 || !bVar48" (unary_expression "!bVar45" (! "!") (identifier "bVar45")) (|| "||") (unary_expression "!bVar48" (! "!") (identifier "bVar48"))) () ")")) (compound_statement "{\n        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;\n        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);\n        uVar32 = uVar32 & 3;\n        goto joined_r0x002c324e;\n      }" ({ "{") (expression_statement "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;" (assignment_expression "*(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff" (pointer_expression "*(uint *)param_10" (* "*") (cast_expression "(uint *)param_10" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_10"))) (= "=") (binary_expression "uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff" (identifier "uVar18") (^ "^") (binary_expression "(uVar36 ^ uVar18) & 0x7ffff" (parenthesized_expression "(uVar36 ^ uVar18)" (( "(") (binary_expression "uVar36 ^ uVar18" (identifier "uVar36") (^ "^") (identifier "uVar18")) () ")")) (& "&") (number_literal "0x7ffff")))) (; ";")) (expression_statement "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "uVar32") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,local_b0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "local_b0") () ")")))) (; ";")) (expression_statement "uVar32 = uVar32 & 3;" (assignment_expression "uVar32 = uVar32 & 3" (identifier "uVar32") (= "=") (binary_expression "uVar32 & 3" (identifier "uVar32") (& "&") (number_literal "3"))) (; ";")) (goto_statement "goto joined_r0x002c324e;" (goto "goto") (statement_identifier "joined_r0x002c324e") (; ";")) (} "}"))) (labeled_statement "LAB_002c1f30:\n      uVar17 = 0;" (statement_identifier "LAB_002c1f30") (: ":") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";"))) (expression_statement "*(uint *)param_1 = uVar36;" (assignment_expression "*(uint *)param_1 = uVar36" (pointer_expression "*(uint *)param_1" (* "*") (cast_expression "(uint *)param_1" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (= "=") (identifier "uVar36")) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x40:\n      local_b8 = 0;\nswitchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }\n      break;" (case "case") (number_literal "0x40") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "switchD_002c18c9_caseD_40:\n      if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }" (statement_identifier "switchD_002c18c9_caseD_40") (: ":") (if_statement "if (param_3 == 4) {\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }\n      else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }" (if "if") (parenthesized_expression "(param_3 == 4)" (( "(") (binary_expression "param_3 == 4" (identifier "param_3") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n        uVar32 = *param_10;\n        uVar18 = (uint)uVar32 << 0x10;\n        if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }\n        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);\n        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;\n        if ((bool)bVar14) goto LAB_002c3c10;\n        uVar17 = 0;\n        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;\n      }" ({ "{") (expression_statement "uVar32 = *param_10;" (assignment_expression "uVar32 = *param_10" (identifier "uVar32") (= "=") (pointer_expression "*param_10" (* "*") (identifier "param_10"))) (; ";")) (expression_statement "uVar18 = (uint)uVar32 << 0x10;" (assignment_expression "uVar18 = (uint)uVar32 << 0x10" (identifier "uVar18") (= "=") (binary_expression "(uint)uVar32 << 0x10" (cast_expression "(uint)uVar32" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar32")) (<< "<<") (number_literal "0x10"))) (; ";")) (if_statement "if ((char)local_b8 == '\0') {\n          uVar18 = local_cc;\n        }" (if "if") (parenthesized_expression "((char)local_b8 == '\0')" (( "(") (binary_expression "(char)local_b8 == '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          uVar18 = local_cc;\n        }" ({ "{") (expression_statement "uVar18 = local_cc;" (assignment_expression "uVar18 = local_cc" (identifier "uVar18") (= "=") (identifier "local_cc")) (; ";")) (} "}"))) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18)" (identifier "iVar35") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,uVar18)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,uVar18)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "uVar18") () ")")))) (; ";")) (expression_statement "uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;" (assignment_expression "uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10" (identifier "uVar36") (= "=") (binary_expression "(iVar35 - param_11) + 0x8000 >> 0x10" (binary_expression "(iVar35 - param_11) + 0x8000" (parenthesized_expression "(iVar35 - param_11)" (( "(") (binary_expression "iVar35 - param_11" (identifier "iVar35") (- "-") (identifier "param_11")) () ")")) (+ "+") (number_literal "0x8000")) (>> ">>") (number_literal "0x10"))) (; ";")) (if_statement "if ((bool)bVar14) goto LAB_002c3c10;" (if "if") (parenthesized_expression "((bool)bVar14)" (( "(") (cast_expression "(bool)bVar14" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "bVar14")) () ")")) (goto_statement "goto LAB_002c3c10;" (goto "goto") (statement_identifier "LAB_002c3c10") (; ";"))) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;" (assignment_expression "*(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36" (pointer_expression "*(uint *)param_10" (* "*") (cast_expression "(uint *)param_10" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_10"))) (= "=") (binary_expression "(uint)uVar32 & 0xffff0000 | uVar36" (binary_expression "(uint)uVar32 & 0xffff0000" (cast_expression "(uint)uVar32" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar32")) (& "&") (number_literal "0xffff0000")) (| "|") (identifier "uVar36"))) (; ";")) (} "}")) (else_clause "else {\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }" (else "else") (compound_statement "{\n        if (param_3 != 9) goto LAB_002c4653;\n        lVar31 = FUN_0049cb70(0x40);\n        *(undefined1 *)(lVar31 + 0x3c) = 0;\n        uVar17 = 0;\n        *(undefined4 *)(lVar31 + 0x2c) = 0;\n        *(ulong **)(lVar31 + 0x10) = param_10;\n        *(long **)(lVar31 + 0x18) = plVar6;\n        *(undefined8 **)(lVar31 + 0x20) = param_9;\n        *(uint *)(lVar31 + 0x28) = local_cc;\n        *(uint *)(lVar31 + 0x30) = uVar33;\n        *(char *)(lVar31 + 0x34) = (char)local_b8;\n        *(uint *)(lVar31 + 0x38) = param_11;\n        FUN_004a11e0(lVar31,&DAT_0067daa0);\n        _DAT_0067dab0 = _DAT_0067dab0 + 1;\n      }" ({ "{") (if_statement "if (param_3 != 9) goto LAB_002c4653;" (if "if") (parenthesized_expression "(param_3 != 9)" (( "(") (binary_expression "param_3 != 9" (identifier "param_3") (!= "!=") (number_literal "9")) () ")")) (goto_statement "goto LAB_002c4653;" (goto "goto") (statement_identifier "LAB_002c4653") (; ";"))) (expression_statement "lVar31 = FUN_0049cb70(0x40);" (assignment_expression "lVar31 = FUN_0049cb70(0x40)" (identifier "lVar31") (= "=") (call_expression "FUN_0049cb70(0x40)" (identifier "FUN_0049cb70") (argument_list "(0x40)" (( "(") (number_literal "0x40") () ")")))) (; ";")) (expression_statement "*(undefined1 *)(lVar31 + 0x3c) = 0;" (assignment_expression "*(undefined1 *)(lVar31 + 0x3c) = 0" (pointer_expression "*(undefined1 *)(lVar31 + 0x3c)" (* "*") (cast_expression "(undefined1 *)(lVar31 + 0x3c)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x3c)" (( "(") (binary_expression "lVar31 + 0x3c" (identifier "lVar31") (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(lVar31 + 0x2c) = 0;" (assignment_expression "*(undefined4 *)(lVar31 + 0x2c) = 0" (pointer_expression "*(undefined4 *)(lVar31 + 0x2c)" (* "*") (cast_expression "(undefined4 *)(lVar31 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x2c)" (( "(") (binary_expression "lVar31 + 0x2c" (identifier "lVar31") (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(ulong **)(lVar31 + 0x10) = param_10;" (assignment_expression "*(ulong **)(lVar31 + 0x10) = param_10" (pointer_expression "*(ulong **)(lVar31 + 0x10)" (* "*") (cast_expression "(ulong **)(lVar31 + 0x10)" (( "(") (type_descriptor "ulong **" (type_identifier "ulong") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar31 + 0x10)" (( "(") (binary_expression "lVar31 + 0x10" (identifier "lVar31") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "param_10")) (; ";")) (expression_statement "*(long **)(lVar31 + 0x18) = plVar6;" (assignment_expression "*(long **)(lVar31 + 0x18) = plVar6" (pointer_expression "*(long **)(lVar31 + 0x18)" (* "*") (cast_expression "(long **)(lVar31 + 0x18)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar31 + 0x18)" (( "(") (binary_expression "lVar31 + 0x18" (identifier "lVar31") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "plVar6")) (; ";")) (expression_statement "*(undefined8 **)(lVar31 + 0x20) = param_9;" (assignment_expression "*(undefined8 **)(lVar31 + 0x20) = param_9" (pointer_expression "*(undefined8 **)(lVar31 + 0x20)" (* "*") (cast_expression "(undefined8 **)(lVar31 + 0x20)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar31 + 0x20)" (( "(") (binary_expression "lVar31 + 0x20" (identifier "lVar31") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "param_9")) (; ";")) (expression_statement "*(uint *)(lVar31 + 0x28) = local_cc;" (assignment_expression "*(uint *)(lVar31 + 0x28) = local_cc" (pointer_expression "*(uint *)(lVar31 + 0x28)" (* "*") (cast_expression "(uint *)(lVar31 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x28)" (( "(") (binary_expression "lVar31 + 0x28" (identifier "lVar31") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (identifier "local_cc")) (; ";")) (expression_statement "*(uint *)(lVar31 + 0x30) = uVar33;" (assignment_expression "*(uint *)(lVar31 + 0x30) = uVar33" (pointer_expression "*(uint *)(lVar31 + 0x30)" (* "*") (cast_expression "(uint *)(lVar31 + 0x30)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x30)" (( "(") (binary_expression "lVar31 + 0x30" (identifier "lVar31") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "uVar33")) (; ";")) (expression_statement "*(char *)(lVar31 + 0x34) = (char)local_b8;" (assignment_expression "*(char *)(lVar31 + 0x34) = (char)local_b8" (pointer_expression "*(char *)(lVar31 + 0x34)" (* "*") (cast_expression "(char *)(lVar31 + 0x34)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x34)" (( "(") (binary_expression "lVar31 + 0x34" (identifier "lVar31") (+ "+") (number_literal "0x34")) () ")")))) (= "=") (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8"))) (; ";")) (expression_statement "*(uint *)(lVar31 + 0x38) = param_11;" (assignment_expression "*(uint *)(lVar31 + 0x38) = param_11" (pointer_expression "*(uint *)(lVar31 + 0x38)" (* "*") (cast_expression "(uint *)(lVar31 + 0x38)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar31 + 0x38)" (( "(") (binary_expression "lVar31 + 0x38" (identifier "lVar31") (+ "+") (number_literal "0x38")) () ")")))) (= "=") (identifier "param_11")) (; ";")) (expression_statement "FUN_004a11e0(lVar31,&DAT_0067daa0);" (call_expression "FUN_004a11e0(lVar31,&DAT_0067daa0)" (identifier "FUN_004a11e0") (argument_list "(lVar31,&DAT_0067daa0)" (( "(") (identifier "lVar31") (, ",") (pointer_expression "&DAT_0067daa0" (& "&") (identifier "DAT_0067daa0")) () ")"))) (; ";")) (expression_statement "_DAT_0067dab0 = _DAT_0067dab0 + 1;" (assignment_expression "_DAT_0067dab0 = _DAT_0067dab0 + 1" (identifier "_DAT_0067dab0") (= "=") (binary_expression "_DAT_0067dab0 + 1" (identifier "_DAT_0067dab0") (+ "+") (number_literal "1"))) (; ";")) (} "}"))))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x41:\n      local_b8 = 0;\nLAB_002c330f:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }\n      if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\n      if ((bool)bVar14) goto LAB_002c1f30;\n      uVar17 = 0;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      break;" (case "case") (number_literal "0x41") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_002c330f:\n      local_cc = local_b0;" (statement_identifier "LAB_002c330f") (: ":") (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" (identifier "local_cc") (= "=") (identifier "local_b0")) (; ";"))) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" (identifier "uVar18") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (if_statement "if ((char)local_b8 != '\0') {\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }" (if "if") (parenthesized_expression "((char)local_b8 != '\0')" (( "(") (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        local_b0 = (uVar18 & 0xffff) - 0x10000;\n        if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }\n      }" ({ "{") (expression_statement "local_b0 = (uVar18 & 0xffff) - 0x10000;" (assignment_expression "local_b0 = (uVar18 & 0xffff) - 0x10000" (identifier "local_b0") (= "=") (binary_expression "(uVar18 & 0xffff) - 0x10000" (parenthesized_expression "(uVar18 & 0xffff)" (( "(") (binary_expression "uVar18 & 0xffff" (identifier "uVar18") (& "&") (number_literal "0xffff")) () ")")) (- "-") (number_literal "0x10000"))) (; ";")) (if_statement "if ((uVar18 & 0x8000) == 0) {\n          local_b0 = uVar18 & 0xffff;\n        }" (if "if") (parenthesized_expression "((uVar18 & 0x8000) == 0)" (( "(") (binary_expression "(uVar18 & 0x8000) == 0" (parenthesized_expression "(uVar18 & 0x8000)" (( "(") (binary_expression "uVar18 & 0x8000" (identifier "uVar18") (& "&") (number_literal "0x8000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_b0 = uVar18 & 0xffff;\n        }" ({ "{") (expression_statement "local_b0 = uVar18 & 0xffff;" (assignment_expression "local_b0 = uVar18 & 0xffff" (identifier "local_b0") (= "=") (binary_expression "uVar18 & 0xffff" (identifier "uVar18") (& "&") (number_literal "0xffff"))) (; ";")) (} "}"))) (} "}"))) (if_statement "if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))\n      {\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }" (if "if") (parenthesized_expression "((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))" (( "(") (binary_expression "(param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0)" (parenthesized_expression "(param_3 == 9)" (( "(") (binary_expression "param_3 == 9" (identifier "param_3") (== "==") (number_literal "9")) () ")")) (&& "&&") (parenthesized_expression "(local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0)" (( "(") (comma_expression "local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0" (assignment_expression "local_98 = DAT_0067daa0" (identifier "local_98") (= "=") (identifier "DAT_0067daa0")) (, ",") (binary_expression "(undefined8 **)DAT_0067daa0 != &DAT_0067daa0" (cast_expression "(undefined8 **)DAT_0067daa0" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "DAT_0067daa0")) (!= "!=") (pointer_expression "&DAT_0067daa0" (& "&") (identifier "DAT_0067daa0")))) () ")"))) () ")")) (compound_statement "{\n        do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);\n      }" ({ "{") (do_statement "do {\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        } while ((undefined8 **)local_98 != &DAT_0067daa0);" (do "do") (compound_statement "{\n          if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }\n        }" ({ "{") (if_statement "if (uVar33 == *(uint *)(local_98 + 6)) {\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }\n          else {\n            local_98 = (undefined8 *)*local_98;\n          }" (if "if") (parenthesized_expression "(uVar33 == *(uint *)(local_98 + 6))" (( "(") (binary_expression "uVar33 == *(uint *)(local_98 + 6)" (identifier "uVar33") (== "==") (pointer_expression "*(uint *)(local_98 + 6)" (* "*") (cast_expression "(uint *)(local_98 + 6)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 6)" (( "(") (binary_expression "local_98 + 6" (identifier "local_98") (+ "+") (number_literal "6")) () ")"))))) () ")")) (compound_statement "{\n            puVar9 = (uint *)local_98[2];\n            iVar35 = *(int *)(local_98 + 5);\n            uVar17 = *puVar9;\n            if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }\n            iVar21 = *(int *)(local_98 + 7);\n            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);\n            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;\n            if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }\n            puVar10 = (undefined8 *)*local_98;\n            _DAT_0067dab0 = _DAT_0067dab0 + -1;\n            FUN_004a1200(local_98);\n            FUN_0049e340(local_98);\n            local_98 = puVar10;\n          }" ({ "{") (expression_statement "puVar9 = (uint *)local_98[2];" (assignment_expression "puVar9 = (uint *)local_98[2]" (identifier "puVar9") (= "=") (cast_expression "(uint *)local_98[2]" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_98[2]" (identifier "local_98") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "iVar35 = *(int *)(local_98 + 5);" (assignment_expression "iVar35 = *(int *)(local_98 + 5)" (identifier "iVar35") (= "=") (pointer_expression "*(int *)(local_98 + 5)" (* "*") (cast_expression "(int *)(local_98 + 5)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 5)" (( "(") (binary_expression "local_98 + 5" (identifier "local_98") (+ "+") (number_literal "5")) () ")"))))) (; ";")) (expression_statement "uVar17 = *puVar9;" (assignment_expression "uVar17 = *puVar9" (identifier "uVar17") (= "=") (pointer_expression "*puVar9" (* "*") (identifier "puVar9"))) (; ";")) (if_statement "if (*(char *)((long)local_98 + 0x34) != '\0') {\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }" (if "if") (parenthesized_expression "(*(char *)((long)local_98 + 0x34) != '\0')" (( "(") (binary_expression "*(char *)((long)local_98 + 0x34) != '\0'" (pointer_expression "*(char *)((long)local_98 + 0x34)" (* "*") (cast_expression "(char *)((long)local_98 + 0x34)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)local_98 + 0x34)" (( "(") (binary_expression "(long)local_98 + 0x34" (cast_expression "(long)local_98" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "local_98")) (+ "+") (number_literal "0x34")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              iVar35 = local_b0 + uVar17 * 0x10000;\n            }" ({ "{") (expression_statement "iVar35 = local_b0 + uVar17 * 0x10000;" (assignment_expression "iVar35 = local_b0 + uVar17 * 0x10000" (identifier "iVar35") (= "=") (binary_expression "local_b0 + uVar17 * 0x10000" (identifier "local_b0") (+ "+") (binary_expression "uVar17 * 0x10000" (identifier "uVar17") (* "*") (number_literal "0x10000")))) (; ";")) (} "}"))) (expression_statement "iVar21 = *(int *)(local_98 + 7);" (assignment_expression "iVar21 = *(int *)(local_98 + 7)" (identifier "iVar21") (= "=") (pointer_expression "*(int *)(local_98 + 7)" (* "*") (cast_expression "(int *)(local_98 + 7)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 7)" (( "(") (binary_expression "local_98 + 7" (identifier "local_98") (+ "+") (number_literal "7")) () ")"))))) (; ";")) (expression_statement "iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);" (assignment_expression "iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35)" (identifier "iVar35") (= "=") (call_expression "FUN_001a5ac0(local_98[4],local_98[3],iVar35)" (identifier "FUN_001a5ac0") (argument_list "(local_98[4],local_98[3],iVar35)" (( "(") (subscript_expression "local_98[4]" (identifier "local_98") ([ "[") (number_literal "4") (] "]")) (, ",") (subscript_expression "local_98[3]" (identifier "local_98") ([ "[") (number_literal "3") (] "]")) (, ",") (identifier "iVar35") () ")")))) (; ";")) (expression_statement "uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;" (assignment_expression "uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10" (identifier "uVar36") (= "=") (binary_expression "(uint)((0x8000 - iVar21) + iVar35) >> 0x10" (call_expression "(uint)((0x8000 - iVar21) + iVar35)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((0x8000 - iVar21) + iVar35)" (( "(") (binary_expression "(0x8000 - iVar21) + iVar35" (parenthesized_expression "(0x8000 - iVar21)" (( "(") (binary_expression "0x8000 - iVar21" (number_literal "0x8000") (- "-") (identifier "iVar21")) () ")")) (+ "+") (identifier "iVar35")) () ")"))) (>> ">>") (number_literal "0x10"))) (; ";")) (if_statement "if (bVar45 && bVar48) {\n              *(uint *)param_1 = uVar36;\n            }\n            else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }" (if "if") (parenthesized_expression "(bVar45 && bVar48)" (( "(") (binary_expression "bVar45 && bVar48" (identifier "bVar45") (&& "&&") (identifier "bVar48")) () ")")) (compound_statement "{\n              *(uint *)param_1 = uVar36;\n            }" ({ "{") (expression_statement "*(uint *)param_1 = uVar36;" (assignment_expression "*(uint *)param_1 = uVar36" (pointer_expression "*(uint *)param_1" (* "*") (cast_expression "(uint *)param_1" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (= "=") (identifier "uVar36")) (; ";")) (} "}")) (else_clause "else {\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }" (else "else") (compound_statement "{\n              *puVar9 = uVar36 | uVar17 & 0xffff0000;\n            }" ({ "{") (expression_statement "*puVar9 = uVar36 | uVar17 & 0xffff0000;" (assignment_expression "*puVar9 = uVar36 | uVar17 & 0xffff0000" (pointer_expression "*puVar9" (* "*") (identifier "puVar9")) (= "=") (binary_expression "uVar36 | uVar17 & 0xffff0000" (identifier "uVar36") (| "|") (binary_expression "uVar17 & 0xffff0000" (identifier "uVar17") (& "&") (number_literal "0xffff0000")))) (; ";")) (} "}")))) (expression_statement "puVar10 = (undefined8 *)*local_98;" (assignment_expression "puVar10 = (undefined8 *)*local_98" (identifier "puVar10") (= "=") (cast_expression "(undefined8 *)*local_98" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_98" (* "*") (identifier "local_98")))) (; ";")) (expression_statement "_DAT_0067dab0 = _DAT_0067dab0 + -1;" (assignment_expression "_DAT_0067dab0 = _DAT_0067dab0 + -1" (identifier "_DAT_0067dab0") (= "=") (binary_expression "_DAT_0067dab0 + -1" (identifier "_DAT_0067dab0") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "FUN_004a1200(local_98);" (call_expression "FUN_004a1200(local_98)" (identifier "FUN_004a1200") (argument_list "(local_98)" (( "(") (identifier "local_98") () ")"))) (; ";")) (expression_statement "FUN_0049e340(local_98);" (call_expression "FUN_0049e340(local_98)" (identifier "FUN_0049e340") (argument_list "(local_98)" (( "(") (identifier "local_98") () ")"))) (; ";")) (expression_statement "local_98 = puVar10;" (assignment_expression "local_98 = puVar10" (identifier "local_98") (= "=") (identifier "puVar10")) (; ";")) (} "}")) (else_clause "else {\n            local_98 = (undefined8 *)*local_98;\n          }" (else "else") (compound_statement "{\n            local_98 = (undefined8 *)*local_98;\n          }" ({ "{") (expression_statement "local_98 = (undefined8 *)*local_98;" (assignment_expression "local_98 = (undefined8 *)*local_98" (identifier "local_98") (= "=") (cast_expression "(undefined8 *)*local_98" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_98" (* "*") (identifier "local_98")))) (; ";")) (} "}")))) (} "}")) (while "while") (parenthesized_expression "((undefined8 **)local_98 != &DAT_0067daa0)" (( "(") (binary_expression "(undefined8 **)local_98 != &DAT_0067daa0" (cast_expression "(undefined8 **)local_98" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_98")) (!= "!=") (pointer_expression "&DAT_0067daa0" (& "&") (identifier "DAT_0067daa0"))) () ")")) (; ";")) (} "}"))) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "iVar35") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,local_b0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "local_b0") () ")")))) (; ";")) (expression_statement "uVar36 = iVar35 - param_11;" (assignment_expression "uVar36 = iVar35 - param_11" (identifier "uVar36") (= "=") (binary_expression "iVar35 - param_11" (identifier "iVar35") (- "-") (identifier "param_11"))) (; ";")) (if_statement "if ((bool)bVar14) goto LAB_002c1f30;" (if "if") (parenthesized_expression "((bool)bVar14)" (( "(") (cast_expression "(bool)bVar14" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "bVar14")) () ")")) (goto_statement "goto LAB_002c1f30;" (goto "goto") (statement_identifier "LAB_002c1f30") (; ";"))) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;" (assignment_expression "*(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18" (pointer_expression "*(uint *)param_10" (* "*") (cast_expression "(uint *)param_10" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_10"))) (= "=") (binary_expression "(uVar36 ^ uVar18) & 0xffff ^ uVar18" (binary_expression "(uVar36 ^ uVar18) & 0xffff" (parenthesized_expression "(uVar36 ^ uVar18)" (( "(") (binary_expression "uVar36 ^ uVar18" (identifier "uVar36") (^ "^") (identifier "uVar18")) () ")")) (& "&") (number_literal "0xffff")) (^ "^") (identifier "uVar18"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x8b:\n      local_b8 = 0;\nLAB_002c3385:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }\n      break;" (case "case") (number_literal "0x8b") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_002c3385:\n      local_cc = local_b0;" (statement_identifier "LAB_002c3385") (: ":") (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" (identifier "local_cc") (= "=") (identifier "local_b0")) (; ";"))) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" (identifier "uVar18") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (if_statement "if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }" (if "if") (parenthesized_expression "((char)local_b8 != '\0')" (( "(") (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar17 = uVar18 * 2 & 0xff;\n        local_b0 = uVar17 - 0x100;\n        if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }\n      }" ({ "{") (expression_statement "uVar17 = uVar18 * 2 & 0xff;" (assignment_expression "uVar17 = uVar18 * 2 & 0xff" (identifier "uVar17") (= "=") (binary_expression "uVar18 * 2 & 0xff" (binary_expression "uVar18 * 2" (identifier "uVar18") (* "*") (number_literal "2")) (& "&") (number_literal "0xff"))) (; ";")) (expression_statement "local_b0 = uVar17 - 0x100;" (assignment_expression "local_b0 = uVar17 - 0x100" (identifier "local_b0") (= "=") (binary_expression "uVar17 - 0x100" (identifier "uVar17") (- "-") (number_literal "0x100"))) (; ";")) (if_statement "if ((uVar18 * 2 & 0x80) == 0) {\n          local_b0 = uVar17;\n        }" (if "if") (parenthesized_expression "((uVar18 * 2 & 0x80) == 0)" (( "(") (binary_expression "(uVar18 * 2 & 0x80) == 0" (parenthesized_expression "(uVar18 * 2 & 0x80)" (( "(") (binary_expression "uVar18 * 2 & 0x80" (binary_expression "uVar18 * 2" (identifier "uVar18") (* "*") (number_literal "2")) (& "&") (number_literal "0x80")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_b0 = uVar17;\n        }" ({ "{") (expression_statement "local_b0 = uVar17;" (assignment_expression "local_b0 = uVar17" (identifier "local_b0") (= "=") (identifier "uVar17")) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "iVar35") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,local_b0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "local_b0") () ")")))) (; ";")) (expression_statement "uVar36 = iVar35 - param_11 >> 1;" (assignment_expression "uVar36 = iVar35 - param_11 >> 1" (identifier "uVar36") (= "=") (binary_expression "iVar35 - param_11 >> 1" (binary_expression "iVar35 - param_11" (identifier "iVar35") (- "-") (identifier "param_11")) (>> ">>") (number_literal "1"))) (; ";")) (if_statement "if ((bool)bVar14) {\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }\n      else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }" (if "if") (parenthesized_expression "((bool)bVar14)" (( "(") (cast_expression "(bool)bVar14" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "bVar14")) () ")")) (compound_statement "{\nLAB_002c3c10:\n        uVar17 = 0;\n        *(uint *)param_1 = uVar36;\n      }" ({ "{") (labeled_statement "LAB_002c3c10:\n        uVar17 = 0;" (statement_identifier "LAB_002c3c10") (: ":") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";"))) (expression_statement "*(uint *)param_1 = uVar36;" (assignment_expression "*(uint *)param_1 = uVar36" (pointer_expression "*(uint *)param_1" (* "*") (cast_expression "(uint *)param_1" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (= "=") (identifier "uVar36")) (; ";")) (} "}")) (else_clause "else {\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }" (else "else") (compound_statement "{\n        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;\n        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);\n      }" ({ "{") (expression_statement "*(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;" (assignment_expression "*(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18" (pointer_expression "*(uint *)param_10" (* "*") (cast_expression "(uint *)param_10" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_10"))) (= "=") (binary_expression "(uVar36 ^ uVar18) & 0x7f ^ uVar18" (binary_expression "(uVar36 ^ uVar18) & 0x7f" (parenthesized_expression "(uVar36 ^ uVar18)" (( "(") (binary_expression "uVar36 ^ uVar18" (identifier "uVar36") (^ "^") (identifier "uVar18")) () ")")) (& "&") (number_literal "0x7f")) (^ "^") (identifier "uVar18"))) (; ";")) (expression_statement "uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);" (assignment_expression "uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80)" (identifier "uVar17") (= "=") (call_expression "(uint)(0xff < (iVar35 - param_11) + 0x80)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xff < (iVar35 - param_11) + 0x80)" (( "(") (binary_expression "0xff < (iVar35 - param_11) + 0x80" (number_literal "0xff") (< "<") (binary_expression "(iVar35 - param_11) + 0x80" (parenthesized_expression "(iVar35 - param_11)" (( "(") (binary_expression "iVar35 - param_11" (identifier "iVar35") (- "-") (identifier "param_11")) () ")")) (+ "+") (number_literal "0x80"))) () ")")))) (; ";")) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x8c:\n      local_b8 = 0;\nLAB_002c328d:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;\n      uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);\n      break;" (case "case") (number_literal "0x8c") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_002c328d:\n      local_cc = local_b0;" (statement_identifier "LAB_002c328d") (: ":") (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" (identifier "local_cc") (= "=") (identifier "local_b0")) (; ";"))) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" (identifier "uVar18") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (if_statement "if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }" (if "if") (parenthesized_expression "((char)local_b8 != '\0')" (( "(") (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar17 = uVar18 * 2 & 0x7fe;\n        local_b0 = uVar17 - 0x800;\n        if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }\n      }" ({ "{") (expression_statement "uVar17 = uVar18 * 2 & 0x7fe;" (assignment_expression "uVar17 = uVar18 * 2 & 0x7fe" (identifier "uVar17") (= "=") (binary_expression "uVar18 * 2 & 0x7fe" (binary_expression "uVar18 * 2" (identifier "uVar18") (* "*") (number_literal "2")) (& "&") (number_literal "0x7fe"))) (; ";")) (expression_statement "local_b0 = uVar17 - 0x800;" (assignment_expression "local_b0 = uVar17 - 0x800" (identifier "local_b0") (= "=") (binary_expression "uVar17 - 0x800" (identifier "uVar17") (- "-") (number_literal "0x800"))) (; ";")) (if_statement "if ((uVar18 * 2 & 0x400) == 0) {\n          local_b0 = uVar17;\n        }" (if "if") (parenthesized_expression "((uVar18 * 2 & 0x400) == 0)" (( "(") (binary_expression "(uVar18 * 2 & 0x400) == 0" (parenthesized_expression "(uVar18 * 2 & 0x400)" (( "(") (binary_expression "uVar18 * 2 & 0x400" (binary_expression "uVar18 * 2" (identifier "uVar18") (* "*") (number_literal "2")) (& "&") (number_literal "0x400")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_b0 = uVar17;\n        }" ({ "{") (expression_statement "local_b0 = uVar17;" (assignment_expression "local_b0 = uVar17" (identifier "local_b0") (= "=") (identifier "uVar17")) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "iVar35") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,local_b0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "local_b0") () ")")))) (; ";")) (expression_statement "uVar36 = iVar35 - param_11 >> 1;" (assignment_expression "uVar36 = iVar35 - param_11 >> 1" (identifier "uVar36") (= "=") (binary_expression "iVar35 - param_11 >> 1" (binary_expression "iVar35 - param_11" (identifier "iVar35") (- "-") (identifier "param_11")) (>> ">>") (number_literal "1"))) (; ";")) (if_statement "if ((bool)bVar14) goto LAB_002c3c10;" (if "if") (parenthesized_expression "((bool)bVar14)" (( "(") (cast_expression "(bool)bVar14" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "bVar14")) () ")")) (goto_statement "goto LAB_002c3c10;" (goto "goto") (statement_identifier "LAB_002c3c10") (; ";"))) (expression_statement "*(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;" (assignment_expression "*(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18" (pointer_expression "*(uint *)param_10" (* "*") (cast_expression "(uint *)param_10" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_10"))) (= "=") (binary_expression "(uVar36 ^ uVar18) & 0x3ff ^ uVar18" (binary_expression "(uVar36 ^ uVar18) & 0x3ff" (parenthesized_expression "(uVar36 ^ uVar18)" (( "(") (binary_expression "uVar36 ^ uVar18" (identifier "uVar36") (^ "^") (identifier "uVar18")) () ")")) (& "&") (number_literal "0x3ff")) (^ "^") (identifier "uVar18"))) (; ";")) (expression_statement "uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);" (assignment_expression "uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400)" (identifier "uVar17") (= "=") (call_expression "(uint)(0x7ff < (iVar35 - param_11) + 0x400)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0x7ff < (iVar35 - param_11) + 0x400)" (( "(") (binary_expression "0x7ff < (iVar35 - param_11) + 0x400" (number_literal "0x7ff") (< "<") (binary_expression "(iVar35 - param_11) + 0x400" (parenthesized_expression "(iVar35 - param_11)" (( "(") (binary_expression "iVar35 - param_11" (identifier "iVar35") (- "-") (identifier "param_11")) () ")")) (+ "+") (number_literal "0x400"))) () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0x8d:\n      local_b8 = 0;\nLAB_002c33fc:\n      local_cc = local_b0;\n      uVar18 = (uint)*param_10;\n      if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11 >> 1;\n      if ((bool)bVar14) goto LAB_002c3c10;\n      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;\n      uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);\n      break;" (case "case") (number_literal "0x8d") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_002c33fc:\n      local_cc = local_b0;" (statement_identifier "LAB_002c33fc") (: ":") (expression_statement "local_cc = local_b0;" (assignment_expression "local_cc = local_b0" (identifier "local_cc") (= "=") (identifier "local_b0")) (; ";"))) (expression_statement "uVar18 = (uint)*param_10;" (assignment_expression "uVar18 = (uint)*param_10" (identifier "uVar18") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (if_statement "if ((char)local_b8 != '\0') {\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" (if "if") (parenthesized_expression "((char)local_b8 != '\0')" (( "(") (binary_expression "(char)local_b8 != '\0'" (cast_expression "(char)local_b8" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "local_b8")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar17 = uVar18 * 2 & 0x1fffe;\n        local_b0 = uVar17 - 0x20000;\n        if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }\n      }" ({ "{") (expression_statement "uVar17 = uVar18 * 2 & 0x1fffe;" (assignment_expression "uVar17 = uVar18 * 2 & 0x1fffe" (identifier "uVar17") (= "=") (binary_expression "uVar18 * 2 & 0x1fffe" (binary_expression "uVar18 * 2" (identifier "uVar18") (* "*") (number_literal "2")) (& "&") (number_literal "0x1fffe"))) (; ";")) (expression_statement "local_b0 = uVar17 - 0x20000;" (assignment_expression "local_b0 = uVar17 - 0x20000" (identifier "local_b0") (= "=") (binary_expression "uVar17 - 0x20000" (identifier "uVar17") (- "-") (number_literal "0x20000"))) (; ";")) (if_statement "if ((uVar18 * 2 & 0x10000) == 0) {\n          local_b0 = uVar17;\n        }" (if "if") (parenthesized_expression "((uVar18 * 2 & 0x10000) == 0)" (( "(") (binary_expression "(uVar18 * 2 & 0x10000) == 0" (parenthesized_expression "(uVar18 * 2 & 0x10000)" (( "(") (binary_expression "uVar18 * 2 & 0x10000" (binary_expression "uVar18 * 2" (identifier "uVar18") (* "*") (number_literal "2")) (& "&") (number_literal "0x10000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_b0 = uVar17;\n        }" ({ "{") (expression_statement "local_b0 = uVar17;" (assignment_expression "local_b0 = uVar17" (identifier "local_b0") (= "=") (identifier "uVar17")) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "iVar35") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,local_b0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "local_b0") () ")")))) (; ";")) (expression_statement "uVar36 = iVar35 - param_11 >> 1;" (assignment_expression "uVar36 = iVar35 - param_11 >> 1" (identifier "uVar36") (= "=") (binary_expression "iVar35 - param_11 >> 1" (binary_expression "iVar35 - param_11" (identifier "iVar35") (- "-") (identifier "param_11")) (>> ">>") (number_literal "1"))) (; ";")) (if_statement "if ((bool)bVar14) goto LAB_002c3c10;" (if "if") (parenthesized_expression "((bool)bVar14)" (( "(") (cast_expression "(bool)bVar14" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "bVar14")) () ")")) (goto_statement "goto LAB_002c3c10;" (goto "goto") (statement_identifier "LAB_002c3c10") (; ";"))) (expression_statement "*(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;" (assignment_expression "*(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18" (pointer_expression "*(uint *)param_10" (* "*") (cast_expression "(uint *)param_10" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_10"))) (= "=") (binary_expression "(uVar36 ^ uVar18) & 0xffff ^ uVar18" (binary_expression "(uVar36 ^ uVar18) & 0xffff" (parenthesized_expression "(uVar36 ^ uVar18)" (( "(") (binary_expression "uVar36 ^ uVar18" (identifier "uVar36") (^ "^") (identifier "uVar18")) () ")")) (& "&") (number_literal "0xffff")) (^ "^") (identifier "uVar18"))) (; ";")) (expression_statement "uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);" (assignment_expression "uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000)" (identifier "uVar17") (= "=") (call_expression "(uint)(0x1ffff < (iVar35 - param_11) + 0x10000)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0x1ffff < (iVar35 - param_11) + 0x10000)" (( "(") (binary_expression "0x1ffff < (iVar35 - param_11) + 0x10000" (number_literal "0x1ffff") (< "<") (binary_expression "(iVar35 - param_11) + 0x10000" (parenthesized_expression "(iVar35 - param_11)" (( "(") (binary_expression "iVar35 - param_11" (identifier "iVar35") (- "-") (identifier "param_11")) () ")")) (+ "+") (number_literal "0x10000"))) () ")")))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 0xf8:\n      local_b8 = 0;\nLAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);\n      uVar36 = iVar35 - param_11;\njoined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;\nLAB_002c1fd0:\n      puVar34 = param_10;\nLAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;\nLAB_002c1fd6:\n      uVar17 = 0;" (case "case") (number_literal "0xf8") (: ":") (expression_statement "local_b8 = 0;" (assignment_expression "local_b8 = 0" (identifier "local_b8") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_002c3260:\n      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (statement_identifier "LAB_002c3260") (: ":") (expression_statement "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);" (assignment_expression "iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "iVar35") (= "=") (call_expression "FUN_001a5ac0(param_9,plVar6,local_b0)" (identifier "FUN_001a5ac0") (argument_list "(param_9,plVar6,local_b0)" (( "(") (identifier "param_9") (, ",") (identifier "plVar6") (, ",") (identifier "local_b0") () ")")))) (; ";"))) (expression_statement "uVar36 = iVar35 - param_11;" (assignment_expression "uVar36 = iVar35 - param_11" (identifier "uVar36") (= "=") (binary_expression "iVar35 - param_11" (identifier "iVar35") (- "-") (identifier "param_11"))) (; ";")) (labeled_statement "joined_r0x002c327b:\n      if (bVar45 && bVar48) goto LAB_002c1f30;" (statement_identifier "joined_r0x002c327b") (: ":") (if_statement "if (bVar45 && bVar48) goto LAB_002c1f30;" (if "if") (parenthesized_expression "(bVar45 && bVar48)" (( "(") (binary_expression "bVar45 && bVar48" (identifier "bVar45") (&& "&&") (identifier "bVar48")) () ")")) (goto_statement "goto LAB_002c1f30;" (goto "goto") (statement_identifier "LAB_002c1f30") (; ";")))) (labeled_statement "LAB_002c1fd0:\n      puVar34 = param_10;" (statement_identifier "LAB_002c1fd0") (: ":") (expression_statement "puVar34 = param_10;" (assignment_expression "puVar34 = param_10" (identifier "puVar34") (= "=") (identifier "param_10")) (; ";"))) (labeled_statement "LAB_002c1fd4:\n      *(uint *)puVar34 = uVar36;" (statement_identifier "LAB_002c1fd4") (: ":") (expression_statement "*(uint *)puVar34 = uVar36;" (assignment_expression "*(uint *)puVar34 = uVar36" (pointer_expression "*(uint *)puVar34" (* "*") (cast_expression "(uint *)puVar34" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar34"))) (= "=") (identifier "uVar36")) (; ";"))) (labeled_statement "LAB_002c1fd6:\n      uVar17 = 0;" (statement_identifier "LAB_002c1fd6") (: ":") (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")))) (} "}"))) (labeled_statement "LAB_002c1e60:\n    unaff_R13 = unaff_R13 + 1;" (statement_identifier "LAB_002c1e60") (: ":") (expression_statement "unaff_R13 = unaff_R13 + 1;" (assignment_expression "unaff_R13 = unaff_R13 + 1" (identifier "unaff_R13") (= "=") (binary_expression "unaff_R13 + 1" (identifier "unaff_R13") (+ "+") (number_literal "1"))) (; ";"))) (if_statement "if (local_d8 == unaff_R13) break;" (if "if") (parenthesized_expression "(local_d8 == unaff_R13)" (( "(") (binary_expression "local_d8 == unaff_R13" (identifier "local_d8") (== "==") (identifier "unaff_R13")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar18 = *unaff_R13;" (assignment_expression "uVar18 = *unaff_R13" (identifier "uVar18") (= "=") (pointer_expression "*unaff_R13" (* "*") (identifier "unaff_R13"))) (; ";")) (} "}"))) (expression_statement "local_c8 = &local_78;" (assignment_expression "local_c8 = &local_78" (identifier "local_c8") (= "=") (pointer_expression "&local_78" (& "&") (identifier "local_78"))) (; ";")) (expression_statement "uVar18 = uVar44 - 0x85;" (assignment_expression "uVar18 = uVar44 - 0x85" (identifier "uVar18") (= "=") (binary_expression "uVar44 - 0x85" (identifier "uVar44") (- "-") (number_literal "0x85"))) (; ";")) (if_statement "if (local_f0 < 0xd) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    if (uVar18 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)) {\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(ushort *)((long)param_10 + 2) = (ushort)uVar36;\n    *(ushort *)param_10 = uVar30;\n  }\n  else if (((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)) &&\n          (1 < uVar44 - 0x8b)) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    goto LAB_002c19bf;\n  }" (if "if") (parenthesized_expression "(local_f0 < 0xd)" (( "(") (binary_expression "local_f0 < 0xd" (identifier "local_f0") (< "<") (number_literal "0xd")) () ")")) (compound_statement "{\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    if (uVar18 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)) {\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }\nLAB_002c19bf:\n    *(ushort *)((long)param_10 + 2) = (ushort)uVar36;\n    *(ushort *)param_10 = uVar30;\n  }" ({ "{") (expression_statement "uVar36 = (uint)*param_10;" (assignment_expression "uVar36 = (uint)*param_10" (identifier "uVar36") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (expression_statement "uVar30 = (ushort)(uVar36 >> 0x10);" (assignment_expression "uVar30 = (ushort)(uVar36 >> 0x10)" (identifier "uVar30") (= "=") (call_expression "(ushort)(uVar36 >> 0x10)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(uVar36 >> 0x10)" (( "(") (binary_expression "uVar36 >> 0x10" (identifier "uVar36") (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (if_statement "if (uVar18 < 0x29) {\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }\n    }\n    else if (((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)) {\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }" (if "if") (parenthesized_expression "(uVar18 < 0x29)" (( "(") (binary_expression "uVar18 < 0x29" (identifier "uVar18") (< "<") (number_literal "0x29")) () ")")) (compound_statement "{\n      if ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }\n    }" ({ "{") (if_statement "if ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0) {\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }" (if "if") (parenthesized_expression "((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0)" (( "(") (binary_expression "(0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0" (parenthesized_expression "(0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1)" (( "(") (binary_expression "0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1" (binary_expression "0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f)" (number_literal "0x1b3e1fff3ffU") (>> ">>") (parenthesized_expression "((ulong)uVar18 & 0x3f)" (( "(") (binary_expression "(ulong)uVar18 & 0x3f" (cast_expression "(ulong)uVar18" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar18")) (& "&") (number_literal "0x3f")) () ")"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;\n        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;\n      }" ({ "{") (labeled_statement "LAB_002c1c8c:\n        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;" (statement_identifier "LAB_002c1c8c") (: ":") (expression_statement "uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;" (assignment_expression "uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f" (identifier "uVar30") (= "=") (binary_expression "(ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f" (binary_expression "(ushort)uVar36 & 0x7e0 | uVar30 & 0xf800" (binary_expression "(ushort)uVar36 & 0x7e0" (cast_expression "(ushort)uVar36" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "uVar36")) (& "&") (number_literal "0x7e0")) (| "|") (binary_expression "uVar30 & 0xf800" (identifier "uVar30") (& "&") (number_literal "0xf800"))) (| "|") (binary_expression "(ushort)(uVar36 >> 0xb) & 0x1f" (call_expression "(ushort)(uVar36 >> 0xb)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(uVar36 >> 0xb)" (( "(") (binary_expression "uVar36 >> 0xb" (identifier "uVar36") (>> ">>") (number_literal "0xb")) () ")"))) (& "&") (number_literal "0x1f")))) (; ";"))) (expression_statement "uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;" (assignment_expression "uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0" (identifier "uVar36") (= "=") (binary_expression "uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0" (binary_expression "uVar36 & 0x1f" (identifier "uVar36") (& "&") (number_literal "0x1f")) (| "|") (binary_expression "uVar36 >> 0xb & 0xffffffe0" (binary_expression "uVar36 >> 0xb" (identifier "uVar36") (>> ">>") (number_literal "0xb")) (& "&") (number_literal "0xffffffe0")))) (; ";")) (} "}"))) (} "}")) (else_clause "else if (((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)) {\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }" (else "else") (if_statement "if (((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)) {\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }" (if "if") (parenthesized_expression "(((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100))" (( "(") (binary_expression "((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)" (parenthesized_expression "((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4)" (( "(") (binary_expression "(uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4" (parenthesized_expression "(uVar44 == 0x85 || uVar44 == 100)" (( "(") (binary_expression "uVar44 == 0x85 || uVar44 == 100" (binary_expression "uVar44 == 0x85" (identifier "uVar44") (== "==") (number_literal "0x85")) (|| "||") (binary_expression "uVar44 == 100" (identifier "uVar44") (== "==") (number_literal "100"))) () ")")) (|| "||") (binary_expression "uVar44 == 4" (identifier "uVar44") (== "==") (number_literal "4"))) () ")")) (|| "||") (parenthesized_expression "(uVar44 != 100)" (( "(") (binary_expression "uVar44 != 100" (identifier "uVar44") (!= "!=") (number_literal "100")) () ")"))) () ")")) (compound_statement "{\n      if (uVar44 != 100) goto LAB_002c1c8c;\n      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;\n    }" ({ "{") (if_statement "if (uVar44 != 100) goto LAB_002c1c8c;" (if "if") (parenthesized_expression "(uVar44 != 100)" (( "(") (binary_expression "uVar44 != 100" (identifier "uVar44") (!= "!=") (number_literal "100")) () ")")) (goto_statement "goto LAB_002c1c8c;" (goto "goto") (statement_identifier "LAB_002c1c8c") (; ";"))) (expression_statement "uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;" (assignment_expression "uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f" (identifier "uVar30") (= "=") (binary_expression "uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f" (binary_expression "uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0" (binary_expression "uVar30 & 0xfc00" (identifier "uVar30") (& "&") (number_literal "0xfc00")) (| "|") (binary_expression "(ushort)(uVar36 >> 0xb) & 0x3e0" (call_expression "(ushort)(uVar36 >> 0xb)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(uVar36 >> 0xb)" (( "(") (binary_expression "uVar36 >> 0xb" (identifier "uVar36") (>> ">>") (number_literal "0xb")) () ")"))) (& "&") (number_literal "0x3e0"))) (| "|") (binary_expression "uVar30 >> 5 & 0x1f" (binary_expression "uVar30 >> 5" (identifier "uVar30") (>> ">>") (number_literal "5")) (& "&") (number_literal "0x1f")))) (; ";")) (} "}"))))) (labeled_statement "LAB_002c19bf:\n    *(ushort *)((long)param_10 + 2) = (ushort)uVar36;" (statement_identifier "LAB_002c19bf") (: ":") (expression_statement "*(ushort *)((long)param_10 + 2) = (ushort)uVar36;" (assignment_expression "*(ushort *)((long)param_10 + 2) = (ushort)uVar36" (pointer_expression "*(ushort *)((long)param_10 + 2)" (* "*") (cast_expression "(ushort *)((long)param_10 + 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_10 + 2)" (( "(") (binary_expression "(long)param_10 + 2" (cast_expression "(long)param_10" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_10")) (+ "+") (number_literal "2")) () ")")))) (= "=") (cast_expression "(ushort)uVar36" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "uVar36"))) (; ";"))) (expression_statement "*(ushort *)param_10 = uVar30;" (assignment_expression "*(ushort *)param_10 = uVar30" (pointer_expression "*(ushort *)param_10" (* "*") (cast_expression "(ushort *)param_10" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_10"))) (= "=") (identifier "uVar30")) (; ";")) (} "}")) (else_clause "else if (((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)) &&\n          (1 < uVar44 - 0x8b)) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    goto LAB_002c19bf;\n  }" (else "else") (if_statement "if (((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)) &&\n          (1 < uVar44 - 0x8b)) {\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    goto LAB_002c19bf;\n  }" (if "if") (parenthesized_expression "(((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)) &&\n          (1 < uVar44 - 0x8b))" (( "(") (binary_expression "((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)) &&\n          (1 < uVar44 - 0x8b)" (parenthesized_expression "((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0))" (( "(") (binary_expression "(uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)" (parenthesized_expression "(uVar18 < 0x29)" (( "(") (binary_expression "uVar18 < 0x29" (identifier "uVar18") (< "<") (number_literal "0x29")) () ")")) (&& "&&") (parenthesized_expression "((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)" (( "(") (binary_expression "(0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0" (parenthesized_expression "(0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1)" (( "(") (binary_expression "0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1" (binary_expression "0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f)" (number_literal "0x1b3e1fff3ffU") (>> ">>") (parenthesized_expression "((ulong)uVar18 & 0x3f)" (( "(") (binary_expression "(ulong)uVar18 & 0x3f" (cast_expression "(ulong)uVar18" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar18")) (& "&") (number_literal "0x3f")) () ")"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(1 < uVar44 - 0x8b)" (( "(") (binary_expression "1 < uVar44 - 0x8b" (number_literal "1") (< "<") (binary_expression "uVar44 - 0x8b" (identifier "uVar44") (- "-") (number_literal "0x8b"))) () ")"))) () ")")) (compound_statement "{\n    uVar36 = (uint)*param_10;\n    uVar30 = (ushort)(uVar36 >> 0x10);\n    goto LAB_002c19bf;\n  }" ({ "{") (expression_statement "uVar36 = (uint)*param_10;" (assignment_expression "uVar36 = (uint)*param_10" (identifier "uVar36") (= "=") (binary_expression "(uint)*param_10" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "param_10"))) (; ";")) (expression_statement "uVar30 = (ushort)(uVar36 >> 0x10);" (assignment_expression "uVar30 = (ushort)(uVar36 >> 0x10)" (identifier "uVar30") (= "=") (call_expression "(ushort)(uVar36 >> 0x10)" (parenthesized_expression "(ushort)" (( "(") (identifier "ushort") () ")")) (argument_list "(uVar36 >> 0x10)" (( "(") (binary_expression "uVar36 >> 0x10" (identifier "uVar36") (>> ">>") (number_literal "0x10")) () ")")))) (; ";")) (goto_statement "goto LAB_002c19bf;" (goto "goto") (statement_identifier "LAB_002c19bf") (; ";")) (} "}"))))) (if_statement "if (uVar17 == 1) {\n    if (param_8 == (undefined8 *)0x0) {\n      lVar31 = plVar6[1];\n      uVar22 = gettext("relocation overflow: %u against local symbol %u in %s");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31);\n    }\n    else {\n      if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }\n      if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      FUN_0049e340();\n    }\n  }\n  else if (uVar17 != 0) {\n    if (uVar17 == 2) {\n      pcVar39 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (uVar17 != 3) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }\n    uVar22 = gettext(pcVar39);\n    FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n  }" (if "if") (parenthesized_expression "(uVar17 == 1)" (( "(") (binary_expression "uVar17 == 1" (identifier "uVar17") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n    if (param_8 == (undefined8 *)0x0) {\n      lVar31 = plVar6[1];\n      uVar22 = gettext("relocation overflow: %u against local symbol %u in %s");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31);\n    }\n    else {\n      if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }\n      if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      FUN_0049e340();\n    }\n  }" ({ "{") (if_statement "if (param_8 == (undefined8 *)0x0) {\n      lVar31 = plVar6[1];\n      uVar22 = gettext("relocation overflow: %u against local symbol %u in %s");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31);\n    }\n    else {\n      if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }\n      if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      FUN_0049e340();\n    }" (if "if") (parenthesized_expression "(param_8 == (undefined8 *)0x0)" (( "(") (binary_expression "param_8 == (undefined8 *)0x0" (identifier "param_8") (== "==") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      lVar31 = plVar6[1];\n      uVar22 = gettext("relocation overflow: %u against local symbol %u in %s");\n      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31);\n    }" ({ "{") (expression_statement "lVar31 = plVar6[1];" (assignment_expression "lVar31 = plVar6[1]" (identifier "lVar31") (= "=") (subscript_expression "plVar6[1]" (identifier "plVar6") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar22 = gettext("relocation overflow: %u against local symbol %u in %s");" (assignment_expression "uVar22 = gettext("relocation overflow: %u against local symbol %u in %s")" (identifier "uVar22") (= "=") (call_expression "gettext("relocation overflow: %u against local symbol %u in %s")" (identifier "gettext") (argument_list "("relocation overflow: %u against local symbol %u in %s")" (( "(") (string_literal ""relocation overflow: %u against local symbol %u in %s"" (" """) (string_content "relocation overflow: %u against local symbol %u in %s") (" """)) () ")")))) (; ";")) (expression_statement "FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31);" (call_expression "FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31)" (identifier "FUN_0034ad90") (argument_list "(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31)" (( "(") (identifier "param_2") (, ",") (identifier "param_6") (, ",") (identifier "iVar3") (, ",") (identifier "uVar22") (, ",") (identifier "uVar44") (, ",") (identifier "uVar33") (, ",") (identifier "lVar31") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }\n      if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      FUN_0049e340();\n    }" (else "else") (compound_statement "{\n      if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }\n      if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      FUN_0049e340();\n    }" ({ "{") (if_statement "if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }\n      else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }" (if "if") (parenthesized_expression "((*(byte *)((long)param_8 + 0x3a) & 7) == 0)" (( "(") (binary_expression "(*(byte *)((long)param_8 + 0x3a) & 7) == 0" (parenthesized_expression "(*(byte *)((long)param_8 + 0x3a) & 7)" (( "(") (binary_expression "*(byte *)((long)param_8 + 0x3a) & 7" (pointer_expression "*(byte *)((long)param_8 + 0x3a)" (* "*") (cast_expression "(byte *)((long)param_8 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 0x3a)" (( "(") (binary_expression "(long)param_8 + 0x3a" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }\n      }" ({ "{") (if_statement "if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }\n        else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }" (if "if") (parenthesized_expression "((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0)" (( "(") (binary_expression "(*(byte *)((long)param_8 + 0x3b) & 0x20) == 0" (parenthesized_expression "(*(byte *)((long)param_8 + 0x3b) & 0x20)" (( "(") (binary_expression "*(byte *)((long)param_8 + 0x3b) & 0x20" (pointer_expression "*(byte *)((long)param_8 + 0x3b)" (* "*") (cast_expression "(byte *)((long)param_8 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 0x3b)" (( "(") (binary_expression "(long)param_8 + 0x3b" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "0x3b")) () ")")))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          bVar42 = FUN_00443190();\n          bVar42 = bVar42 ^ 1;\n        }" ({ "{") (expression_statement "bVar42 = FUN_00443190();" (assignment_expression "bVar42 = FUN_00443190()" (identifier "bVar42") (= "=") (call_expression "FUN_00443190()" (identifier "FUN_00443190") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "bVar42 = bVar42 ^ 1;" (assignment_expression "bVar42 = bVar42 ^ 1" (identifier "bVar42") (= "=") (binary_expression "bVar42 ^ 1" (identifier "bVar42") (^ "^") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }" (else "else") (compound_statement "{\n          bVar42 = *(int *)(param_8 + 3) != 0;\n        }" ({ "{") (expression_statement "bVar42 = *(int *)(param_8 + 3) != 0;" (assignment_expression "bVar42 = *(int *)(param_8 + 3) != 0" (identifier "bVar42") (= "=") (binary_expression "*(int *)(param_8 + 3) != 0" (pointer_expression "*(int *)(param_8 + 3)" (* "*") (cast_expression "(int *)(param_8 + 3)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_8 + 3)" (( "(") (binary_expression "param_8 + 3" (identifier "param_8") (+ "+") (number_literal "3")) () ")")))) (!= "!=") (number_literal "0"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }" (else "else") (compound_statement "{\n        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;\n      }" ({ "{") (expression_statement "bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;" (assignment_expression "bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4" (identifier "bVar42") (= "=") (binary_expression "(*(byte *)((long)param_8 + 0x3a) & 7) != 4" (parenthesized_expression "(*(byte *)((long)param_8 + 0x3a) & 7)" (( "(") (binary_expression "*(byte *)((long)param_8 + 0x3a) & 7" (pointer_expression "*(byte *)((long)param_8 + 0x3a)" (* "*") (cast_expression "(byte *)((long)param_8 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 0x3a)" (( "(") (binary_expression "(long)param_8 + 0x3a" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "4"))) (; ";")) (} "}")))) (if_statement "if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }\n      else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }" (if "if") (parenthesized_expression "((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0))" (( "(") (binary_expression "(bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)" (parenthesized_expression "(bVar42 == 0)" (( "(") (binary_expression "bVar42 == 0" (identifier "bVar42") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((*(byte *)((long)param_8 + 0x3a) & 7) != 0)" (( "(") (binary_expression "(*(byte *)((long)param_8 + 0x3a) & 7) != 0" (parenthesized_expression "(*(byte *)((long)param_8 + 0x3a) & 7)" (( "(") (binary_expression "*(byte *)((long)param_8 + 0x3a) & 7" (pointer_expression "*(byte *)((long)param_8 + 0x3a)" (* "*") (cast_expression "(byte *)((long)param_8 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_8 + 0x3a)" (( "(") (binary_expression "(long)param_8 + 0x3a" (cast_expression "(long)param_8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_8")) (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar22 = gettext("relocation overflow: %u against \'%s\'");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }" ({ "{") (expression_statement "FUN_004443d0(local_58,param_8);" (call_expression "FUN_004443d0(local_58,param_8)" (identifier "FUN_004443d0") (argument_list "(local_58,param_8)" (( "(") (identifier "local_58") (, ",") (identifier "param_8") () ")"))) (; ";")) (expression_statement "puVar12 = local_58[0];" (assignment_expression "puVar12 = local_58[0]" (identifier "puVar12") (= "=") (subscript_expression "local_58[0]" (identifier "local_58") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "uVar22 = gettext("relocation overflow: %u against \'%s\'");" (assignment_expression "uVar22 = gettext("relocation overflow: %u against \'%s\'")" (identifier "uVar22") (= "=") (call_expression "gettext("relocation overflow: %u against \'%s\'")" (identifier "gettext") (argument_list "("relocation overflow: %u against \'%s\'")" (( "(") (string_literal ""relocation overflow: %u against \'%s\'"" (" """) (string_content "relocation overflow: %u against ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (" """)) () ")")))) (; ";")) (expression_statement "FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);" (call_expression "FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12)" (identifier "FUN_0034ad90") (argument_list "(param_2,param_6,iVar3,uVar22,uVar44,puVar12)" (( "(") (identifier "param_2") (, ",") (identifier "param_6") (, ",") (identifier "iVar3") (, ",") (identifier "uVar22") (, ",") (identifier "uVar44") (, ",") (identifier "puVar12") () ")"))) (; ";")) (if_statement "if (local_58[0] == auStack_48) goto LAB_002c193c;" (if "if") (parenthesized_expression "(local_58[0] == auStack_48)" (( "(") (binary_expression "local_58[0] == auStack_48" (subscript_expression "local_58[0]" (identifier "local_58") ([ "[") (number_literal "0") (] "]")) (== "==") (identifier "auStack_48")) () ")")) (goto_statement "goto LAB_002c193c;" (goto "goto") (statement_identifier "LAB_002c193c") (; ";"))) (} "}")) (else_clause "else {\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }" (else "else") (compound_statement "{\n        uVar22 = *(undefined8 *)(param_8[2] + 8);\n        FUN_004443d0(local_58,param_8);\n        puVar12 = local_58[0];\n        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");\n                    \n        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);\n        if (local_58[0] == auStack_48) goto LAB_002c193c;\n      }" ({ "{") (expression_statement "uVar22 = *(undefined8 *)(param_8[2] + 8);" (assignment_expression "uVar22 = *(undefined8 *)(param_8[2] + 8)" (identifier "uVar22") (= "=") (pointer_expression "*(undefined8 *)(param_8[2] + 8)" (* "*") (cast_expression "(undefined8 *)(param_8[2] + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_8[2] + 8)" (( "(") (binary_expression "param_8[2] + 8" (subscript_expression "param_8[2]" (identifier "param_8") ([ "[") (number_literal "2") (] "]")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "FUN_004443d0(local_58,param_8);" (call_expression "FUN_004443d0(local_58,param_8)" (identifier "FUN_004443d0") (argument_list "(local_58,param_8)" (( "(") (identifier "local_58") (, ",") (identifier "param_8") () ")"))) (; ";")) (expression_statement "puVar12 = local_58[0];" (assignment_expression "puVar12 = local_58[0]" (identifier "puVar12") (= "=") (subscript_expression "local_58[0]" (identifier "local_58") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");" (assignment_expression "uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s")" (identifier "uVar23") (= "=") (call_expression "gettext("relocation overflow: %u against \'%s\' defined in %s")" (identifier "gettext") (argument_list "("relocation overflow: %u against \'%s\' defined in %s")" (( "(") (string_literal ""relocation overflow: %u against \'%s\' defined in %s"" (" """) (string_content "relocation overflow: %u against ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content " defined in %s") (" """)) () ")")))) (; ";")) (expression_statement "FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);" (call_expression "FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22)" (identifier "FUN_0034ad90") (argument_list "(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22)" (( "(") (identifier "param_2") (, ",") (identifier "param_6") (, ",") (identifier "iVar3") (, ",") (identifier "uVar23") (, ",") (identifier "uVar44") (, ",") (identifier "puVar12") (, ",") (identifier "uVar22") () ")"))) (; ";")) (if_statement "if (local_58[0] == auStack_48) goto LAB_002c193c;" (if "if") (parenthesized_expression "(local_58[0] == auStack_48)" (( "(") (binary_expression "local_58[0] == auStack_48" (subscript_expression "local_58[0]" (identifier "local_58") ([ "[") (number_literal "0") (] "]")) (== "==") (identifier "auStack_48")) () ")")) (goto_statement "goto LAB_002c193c;" (goto "goto") (statement_identifier "LAB_002c193c") (; ";"))) (} "}")))) (expression_statement "FUN_0049e340();" (call_expression "FUN_0049e340()" (identifier "FUN_0049e340") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else if (uVar17 != 0) {\n    if (uVar17 == 2) {\n      pcVar39 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (uVar17 != 3) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }\n    uVar22 = gettext(pcVar39);\n    FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n  }" (else "else") (if_statement "if (uVar17 != 0) {\n    if (uVar17 == 2) {\n      pcVar39 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (uVar17 != 3) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }\n    uVar22 = gettext(pcVar39);\n    FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n  }" (if "if") (parenthesized_expression "(uVar17 != 0)" (( "(") (binary_expression "uVar17 != 0" (identifier "uVar17") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (uVar17 == 2) {\n      pcVar39 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (uVar17 != 3) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }\n    uVar22 = gettext(pcVar39);\n    FUN_0034ad90(param_2,param_6,iVar3,uVar22);\n  }" ({ "{") (if_statement "if (uVar17 == 2) {\n      pcVar39 = "unexpected opcode while processing relocation";\n    }\n    else {\n      if (uVar17 != 3) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }" (if "if") (parenthesized_expression "(uVar17 == 2)" (( "(") (binary_expression "uVar17 == 2" (identifier "uVar17") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      pcVar39 = "unexpected opcode while processing relocation";\n    }" ({ "{") (expression_statement "pcVar39 = "unexpected opcode while processing relocation";" (assignment_expression "pcVar39 = "unexpected opcode while processing relocation"" (identifier "pcVar39") (= "=") (string_literal ""unexpected opcode while processing relocation"" (" """) (string_content "unexpected opcode while processing relocation") (" """))) (; ";")) (} "}")) (else_clause "else {\n      if (uVar17 != 3) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }" (else "else") (compound_statement "{\n      if (uVar17 != 3) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }\n      pcVar39 = "unaligned PC-relative relocation";\n    }" ({ "{") (if_statement "if (uVar17 != 3) {\n                    \n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }" (if "if") (parenthesized_expression "(uVar17 != 3)" (( "(") (binary_expression "uVar17 != 3" (identifier "uVar17") (!= "!=") (number_literal "3")) () ")")) (compound_statement "{\n                    \n        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");\n      }" ({ "{") (expression_statement "FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");" (call_expression "FUN_00352af0("../../gold/mips.cc",0x3035,"relocate")" (identifier "FUN_00352af0") (argument_list "("../../gold/mips.cc",0x3035,"relocate")" (( "(") (string_literal ""../../gold/mips.cc"" (" """) (string_content "../../gold/mips.cc") (" """)) (, ",") (number_literal "0x3035") (, ",") (string_literal ""relocate"" (" """) (string_content "relocate") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar39 = "unaligned PC-relative relocation";" (assignment_expression "pcVar39 = "unaligned PC-relative relocation"" (identifier "pcVar39") (= "=") (string_literal ""unaligned PC-relative relocation"" (" """) (string_content "unaligned PC-relative relocation") (" """))) (; ";")) (} "}")))) (expression_statement "uVar22 = gettext(pcVar39);" (assignment_expression "uVar22 = gettext(pcVar39)" (identifier "uVar22") (= "=") (call_expression "gettext(pcVar39)" (identifier "gettext") (argument_list "(pcVar39)" (( "(") (identifier "pcVar39") () ")")))) (; ";")) (expression_statement "FUN_0034ad90(param_2,param_6,iVar3,uVar22);" (call_expression "FUN_0034ad90(param_2,param_6,iVar3,uVar22)" (identifier "FUN_0034ad90") (argument_list "(param_2,param_6,iVar3,uVar22)" (( "(") (identifier "param_2") (, ",") (identifier "param_6") (, ",") (identifier "iVar3") (, ",") (identifier "uVar22") () ")"))) (; ";")) (} "}"))))) (labeled_statement "LAB_002c193c:\n  FUN_001a5bc0(local_c8);" (statement_identifier "LAB_002c193c") (: ":") (expression_statement "FUN_001a5bc0(local_c8);" (call_expression "FUN_001a5bc0(local_c8)" (identifier "FUN_001a5bc0") (argument_list "(local_c8)" (( "(") (identifier "local_c8") () ")"))) (; ";"))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}")))

/* WARNING: Type propagation algorithm not settling */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: bool relocate(Relocate * this, Relocate_info<32,_false> * relinfo, uint
   rel_type, Target_mips<32,_false> * target, Output_section * output_section, size_t relnum, uchar
   * preloc, Sized_symbol<32> * gsym, Symbol_value<32> * psymval, uchar * view, Mips_address
   address, section_size_type param_11) */

bool __thiscall
anon_unknown.dwarf_ead2ad::Target_mips<32,_false>::Relocate::relocate
          (Relocate *this,Relocate_info<32,_false> *relinfo,uint rel_type,
          Target_mips<32,_false> *target,Output_section *output_section,size_t relnum,uchar *preloc,
          Sized_symbol<32> *gsym,Symbol_value<32> *psymval,uchar *view,Mips_address address,
          section_size_type param_11)

{
  uint64_t *puVar1;
  _Rb_tree_header *p_Var2;
  byte bVar3;
  byte bVar4;
  char cVar5;
  ushort uVar6;
  uint uVar7;
  Mips_address address_00;
  Mips_relobj<32,_false> *this_00;
  Mips_output_data_mips_stubs<32,_false> *pMVar8;
  Mips_output_data_plt<32,_false> *pMVar9;
  Mips_output_data_la25_stub<32,_false> *pMVar10;
  uint64_t uVar11;
  _Bit_type *p_Var12;
  ulong uVar13;
  Mips_relobj<32,_false> *pMVar14;
  _Bit_type *p_Var15;
  pointer pcVar16;
  undefined3 uVar17;
  _Base_ptr *pp_Var18;
  _Alloc_hider _Var19;
  byte bVar20;
  byte bVar21;
  undefined1 uVar22;
  Valtype x;
  Value VVar23;
  Value VVar24;
  int iVar25;
  Status SVar26;
  ulong uVar27;
  Mips_symbol<64> *pMVar28;
  Mips_got_info<32,_false> *pMVar29;
  _List_node_base *p_Var30;
  Mips_output_data_got<32,_false> *pMVar31;
  _Base_ptr p_Var32;
  Sized_symbol<32> *pSVar33;
  Mips_symbol<32> *pMVar34;
  Mips16_stub_section<32,_false> *pMVar35;
  _Base_ptr p_Var36;
  _Base_ptr p_Var37;
  ushort uVar38;
  uint uVar39;
  uint uVar40;
  uint uVar41;
  long lVar42;
  _List_node_base **pp_Var43;
  uint *puVar44;
  bool jal_shuffle;
  int extraout_EDX;
  uint uVar45;
  ulong uVar46;
  Mips_relobj<32,_false> *pMVar47;
  Symbol_value<32> *extraout_RDX;
  Symbol_value<32> *extraout_RDX_00;
  undefined7 uVar50;
  Symbol_value<32> *pSVar48;
  Mips_relobj<32,_false> *extraout_RDX_01;
  Mips_relobj<32,_false> *pMVar49;
  Mips_relobj<32,_false> *extraout_RDX_02;
  Symbol_value<32> *extraout_RDX_03;
  Target_mips *extraout_RDX_04;
  _Rb_tree_color _Var51;
  Relocate *pRVar52;
  Mips_output_data_got<32,_false> *pMVar53;
  _Rb_tree_color lo16_reloc;
  Mips_symbol<64> *pMVar54;
  _List_node_base **pp_Var56;
  Value_type VVar57;
  Mips_got_info<32,_false> *pMVar58;
  byte *pbVar59;
  Mips_relobj<32,_false> *pMVar60;
  char *pcVar61;
  Symbol *this_01;
  Mips_symbol<32> *this_02;
  _Base_ptr p_Var62;
  Target_mips<32,_false> *target_00;
  uchar *puVar63;
  Mips_symbol<64> *unaff_R13;
  ulong uVar64;
  uint uVar65;
  bool bVar66;
  bool bVar67;
  byte calculate_only;
  bool bVar68;
  bool bVar69;
  undefined1 in_stack_fffffffffffffec8;
  Symbol *in_stack_fffffffffffffed0;
  uint in_stack_fffffffffffffed8;
  uint in_stack_fffffffffffffedc;
  _List_node_base *in_stack_fffffffffffffee0;
  Mips_relobj<32,_false> *in_stack_fffffffffffffee8;
  uint in_stack_fffffffffffffef8;
  uint in_stack_fffffffffffffefc;
  uint3 uVar70;
  _List_node_base *local_100;
  uint local_f0;
  byte local_e8;
  uint local_e4;
  Mips_symbol<64> *local_d8;
  byte local_cf;
  bool local_ce;
  bool local_cd;
  Value local_cc;
  Mips_relobj<32,_false> *local_c8;
  uint local_c0;
  uint local_bc;
  _Bit_type *local_b8;
  Value local_b0;
  Mips_relobj<32,_false> *local_98;
  uint r_types [3];
  Symbol_value<32> symval;
  string local_58;
  Mips_symbol<64> *pMVar55;
  
  bVar21 = 0;
  uVar39 = *(uint *)(preloc + 4);
  uVar46 = (ulong)*(uint *)(relinfo->reloc_shdr + 0x14) /
           (ulong)*(uint *)(relinfo->reloc_shdr + 0x24);
  uVar7 = *(uint *)preloc;
  uVar65 = uVar39 & 0xff;
  _Var51 = uVar39 >> 8;
  if (rel_type == 4) {
    local_c0 = 0;
    local_cc = *(Value *)(preloc + 8);
    local_bc = 0xffffffff;
    if (relnum + 1 < uVar46) {
      local_bc = *(uint *)(preloc + 0xc);
      local_c0 = (uint)preloc[0x10];
    }
  }
  else if (relnum + 1 < uVar46) {
    local_cc = 0;
    local_bc = *(uint *)(preloc + 8);
    local_c0 = (uint)preloc[0xc];
  }
  else {
    local_c0 = 0;
    local_bc = 0xffffffff;
    local_cc = 0;
  }
  symval._8_4_ = 0x80000000;
  symval.u_.value = 0;
  this_00 = (Mips_relobj<32,_false> *)relinfo->object;
  symval.output_symtab_index_ = 0;
  symval.output_dynsym_index_ = 0xffffffff;
  if (gsym == (Sized_symbol<32> *)0x0) {
    p_Var15 = (this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl.
              super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;
    if (((ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.
                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +
        ((long)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl
               .super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p - (long)p_Var15) *
        8) - (ulong)(this_00->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>.
                    _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset <=
        (ulong)_Var51) {
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");
    }
    local_e8 = (byte)(uVar39 >> 8);
    uVar27 = 1L << (local_e8 & 0x3f);
    p_Var12 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.
              _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;
    uVar46 = p_Var15[uVar39 >> 0xe];
    local_b8 = (this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.
               _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p;
    uVar64 = uVar27 & uVar46;
    bVar20 = uVar64 != 0;
    pMVar28 = (Mips_symbol<64> *)(ulong)bVar20;
    puVar63 = (uchar *)(ulong)(this_00->local_symbol_is_micromips_).
                              super__Bvector_base<std::allocator<bool>_>._M_impl.
                              super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset;
    if (((ulong)(this_00->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.
                _M_impl.super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset +
        ((long)local_b8 - (long)p_Var12) * 8) - (long)puVar63 <= (ulong)_Var51) {
LAB_002c45d2:
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/mips.cc",0x668,"local_symbol_is_micromips");
    }
    uVar13 = p_Var12[uVar39 >> 0xe];
    calculate_only = (uVar27 & uVar13) != 0;
    local_cd = ((uVar46 | uVar13) & uVar27) != 0;
    if (local_cd) {
                    /* try { // try from 002c2e1b to 002c47aa has its CatchHandler @ 002c47bb */
      symval.u_.value =
           gold::Symbol_value<32>::value<false>(psymval,(Sized_relobj_file<32,_false> *)this_00,1);
      psymval = &symval;
    }
    uVar70 = (uint3)(in_stack_fffffffffffffefc >> 8);
    if (uVar65 == 100) {
      p_Var62 = (this_00->local_mips16_call_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header.
                _M_parent;
      pp_Var43 = (_List_node_base **)
                 &(this_00->local_mips16_call_stubs_)._M_t._M_impl.super__Rb_tree_header;
      p_Var37 = p_Var62;
      p_Var36 = (_Base_ptr)pp_Var43;
      if (p_Var62 == (_Base_ptr)0x0) goto LAB_002c1c10;
      do {
        if (p_Var37[1]._M_color < _Var51) {
          p_Var32 = p_Var37->_M_right;
        }
        else {
          p_Var32 = p_Var37->_M_left;
          p_Var36 = p_Var37;
        }
        p_Var37 = p_Var32;
      } while (p_Var32 != (_Base_ptr)0x0);
      if ((((_Base_ptr)pp_Var43 == p_Var36) || (_Var51 < p_Var36[1]._M_color)) ||
         (p_Var36[1]._M_parent == (_Base_ptr)0x0)) goto LAB_002c1c10;
      p_Var37 = (_Base_ptr)pp_Var43;
      if (uVar64 != 0) {
        bVar20 = true;
        goto LAB_002c1c10;
      }
      do {
        p_Var36 = p_Var62;
        if (p_Var36[1]._M_color < _Var51) {
          p_Var62 = p_Var36->_M_right;
          p_Var36 = p_Var37;
        }
        else {
          p_Var62 = p_Var36->_M_left;
        }
        p_Var37 = p_Var36;
      } while (p_Var62 != (_Base_ptr)0x0);
      pMVar49 = (Mips_relobj<32,_false> *)0x0;
      if (((_Base_ptr)pp_Var43 != p_Var36) && (p_Var36[1]._M_color <= _Var51)) {
        pMVar49 = (Mips_relobj<32,_false> *)p_Var36[1]._M_parent;
      }
      bVar20 = 0;
      in_stack_fffffffffffffefc = (uint)uVar70 << 8;
      goto LAB_002c1d90;
    }
    pp_Var43 = (_List_node_base **)
               &(this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header;
    p_Var62 = (this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header.
              _M_parent;
    p_Var37 = (_Base_ptr)pp_Var43;
    if (p_Var62 != (_Base_ptr)0x0) {
      do {
        while (p_Var36 = p_Var62, p_Var36[1]._M_color < _Var51) {
          pp_Var18 = &p_Var36->_M_right;
          p_Var62 = *pp_Var18;
          p_Var36 = p_Var37;
          if (*pp_Var18 == (_Base_ptr)0x0) goto LAB_002c2b6a;
        }
        p_Var62 = p_Var36->_M_left;
        p_Var37 = p_Var36;
      } while (p_Var36->_M_left != (_Base_ptr)0x0);
LAB_002c2b6a:
      if ((((_Base_ptr)pp_Var43 == p_Var36) || (_Var51 < p_Var36[1]._M_color)) ||
         (in_stack_fffffffffffffefc = (uint)uVar70 << 8, bVar21 = calculate_only,
         p_Var36[1]._M_parent == (_Base_ptr)0x0)) goto LAB_002c1c10;
      goto LAB_002c15fe;
    }
LAB_002c1c10:
    in_stack_fffffffffffffefc = in_stack_fffffffffffffefc & 0xffffff00;
LAB_002c1c17:
    bVar67 = uVar65 == 100;
LAB_002c13a0:
    bVar68 = (bool)(calculate_only & bVar67);
    bVar21 = bVar68;
    if (bVar68 == false) {
LAB_002c13ac:
      bVar21 = calculate_only;
      uVar39 = uVar39 & 0xf7;
      local_c8 = (Mips_relobj<32,_false> *)(ulong)uVar39;
      pp_Var43 = (_List_node_base **)(ulong)uVar39;
      bVar68 = bVar67;
      if (uVar39 == 0x85) {
LAB_002c1870:
        if (bVar20 != 0) goto LAB_002c187c;
      }
      else {
LAB_002c13c4:
        pp_Var43 = (_List_node_base **)local_c8;
        if (uVar65 - 0x8b < 2) goto LAB_002c1870;
      }
    }
    else {
LAB_002c187c:
      pcVar61 = (char *)gettext("MIPS16 and microMIPS functions cannot call each other");
      gold::gold_error(pcVar61);
    }
LAB_002c13d7:
    if (gsym != (Sized_symbol<32> *)0x0) goto LAB_002c16b8;
    local_cf = (bVar20 ^ 1) & bVar68;
    local_ce = (bool)local_cf;
    if ((bool)local_cf != false) goto LAB_002c1402;
    local_cf = (bVar21 ^ 1) & uVar65 == 0x85;
    if ((bool)local_cf == false) goto LAB_002c1bcf;
    r_types[0] = 0x85;
    r_types[1] = 0;
    r_types[2] = 0;
    local_f0 = 0x21;
    local_b8 = (_Bit_type *)(ulong)(rel_type == 9);
    local_ce = (bool)local_cf;
LAB_002c1d4a:
    if (1 < r_types[0] - 0x8b) {
      uVar39 = (uint)*(ushort *)view;
      pp_Var43 = (_List_node_base **)(ulong)*(ushort *)(view + 2);
LAB_002c1462:
      uVar65 = uVar39 << 0x10 | (uint)pp_Var43;
LAB_002c1467:
      *(uint *)view = uVar65;
    }
  }
  else {
    bVar20 = (byte)(gsym->super_Symbol).field_0x39 >> 2;
    bVar67 = (bVar20 & 0x3c) == 0x3c;
    pMVar28 = (Mips_symbol<64> *)(ulong)bVar67;
    calculate_only = (bVar20 & 0x30) == 0x20;
    local_cd = bVar67 || (bool)calculate_only;
    puVar63 = (uchar *)relnum;
    if ((bVar67 || (bool)calculate_only) &&
       (VVar23 = gold::Symbol_value<32>::value<false>
                           (psymval,(Sized_relobj_file<32,_false> *)this_00,0), VVar23 != 0)) {
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,0);
      symval.u_.value = VVar23 | 1;
      psymval = &symval;
    }
    else {
      local_cd = false;
    }
    local_c8 = (Mips_relobj<32,_false> *)&symval;
    local_98 = (Mips_relobj<32,_false> *)0x0;
    if (uVar65 - 1 < 0xf9) {
      local_98 = (Mips_relobj<32,_false> *)(ulong)(uint)(int)(char)CSWTCH_4890[uVar65 - 1];
    }
    pMVar58 = (Mips_got_info<32,_false> *)gsym;
                    /* try { // try from 002c11cb to 002c1a28 has its CatchHandler @ 002c47bb */
    bVar67 = gold::Symbol::use_plt_offset(&gsym->super_Symbol,(int)local_98);
    cVar5 = *(char *)((long)&gsym[1].super_Symbol.symtab_index_ + 1);
    if (bVar67) {
      if (cVar5 != '\0') goto LAB_002c11e1;
      uVar40 = gsym[1].super_Symbol.dynsym_index_;
      pMVar9 = target->plt_;
      if (uVar40 == 0xffffffff) {
        if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {
          Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar58);
          goto LAB_002c45d2;
        }
        uVar40 = gsym[1].super_Symbol.plt_offset_;
        if (uVar40 == 0xffffffff) {
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/mips.cc",0x9ed,"comp_entry_address");
        }
        if ((pMVar9->field_0x20 & 1) == 0) {
                    /* WARNING: Subroutine does not return */
          Mips_output_data_plt<64,_false>::mips_entry_address
                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);
        }
        bVar20 = target->field_0x14;
        VVar23 = uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +
                 pMVar9->plt0_entry_o32[2];
        if (bVar20 == 0) {
                    /* WARNING: Subroutine does not return */
          is_output_micromips(target);
        }
        local_b8 = (_Bit_type *)(ulong)*(uint *)&target->field_0x10;
        bVar67 = false;
        bVar68 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;
        if (bVar68) {
          pMVar28 = (Mips_symbol<64> *)(ulong)bVar20;
          bVar20 = calculate_only;
        }
      }
      else {
        if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {
LAB_002c4644:
          Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar58);
LAB_002c4649:
                    /* WARNING: Subroutine does not return */
          Mips_output_data_plt<64,_false>::mips_entry_address
                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);
        }
        if ((pMVar9->field_0x20 & 1) == 0) goto LAB_002c4649;
        VVar23 = uVar40 + pMVar9->plt0_entry_o32[2] + pMVar9->plt_header_size_;
        bVar67 = false;
        pMVar28 = (Mips_symbol<64> *)0x0;
        bVar68 = true;
        bVar20 = 0;
      }
LAB_002c1209:
      calculate_only = bVar20;
      symval.u_.value = VVar23;
      psymval = (Symbol_value<32> *)local_c8;
    }
    else {
      bVar67 = false;
      bVar68 = cVar5 == '\0';
      if (!bVar68) {
LAB_002c11e1:
        pMVar8 = target->mips_stubs_;
        if (pMVar8 == (Mips_output_data_mips_stubs<32,_false> *)0x0) {
          mips_stubs_section((Target_mips<32,_false> *)pMVar58);
LAB_002c4653:
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/mips.cc",0x2eda,"relocate");
        }
        if (((pMVar8->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {
                    /* WARNING: Subroutine does not return */
          Mips_output_data_plt<64,_false>::mips_entry_address
                    ((Mips_output_data_plt<64,_false> *)pMVar58,(Mips_symbol<64> *)local_98);
        }
        uVar40 = *(uint *)((long)&gsym[1].super_Symbol.version_ + 4);
        puVar1 = &(pMVar8->super_Output_section_data).super_Output_data.address_;
        bVar67 = CARRY4(uVar40,(uint)*puVar1);
        VVar23 = uVar40 + (int)*puVar1;
        bVar68 = VVar23 == 0;
        bVar20 = calculate_only;
        goto LAB_002c1209;
      }
    }
    bVar20 = (byte)pMVar28;
    pMVar55 = (Mips_symbol<64> *)(gsym->super_Symbol).name_;
    lVar42 = 9;
    pMVar54 = pMVar55;
    pbVar59 = (byte *)"_gp_disp";
    do {
      if (lVar42 == 0) break;
      lVar42 = lVar42 + -1;
      bVar3 = *(byte *)&(pMVar54->super_Sized_symbol<64>).super_Symbol.name_;
      bVar67 = bVar3 < *pbVar59;
      bVar68 = bVar3 == *pbVar59;
      pMVar54 = (Mips_symbol<64> *)((long)pMVar54 + (ulong)bVar21 * -2 + 1);
      pbVar59 = pbVar59 + (ulong)bVar21 * -2 + 1;
    } while (bVar68);
    pp_Var43 = (_List_node_base **)0xf;
    bVar68 = !bVar67 && !bVar68;
    bVar66 = bVar68 < bVar67;
    bVar69 = bVar68 == bVar67;
    pMVar49 = (Mips_relobj<32,_false> *)"__gnu_local_gp";
    do {
      pMVar54 = pMVar55;
      pMVar60 = pMVar49;
      if ((Mips_relobj<32,_false> *)pp_Var43 == (Mips_relobj<32,_false> *)0x0) break;
      pp_Var43 = (_List_node_base **)
                 &((Mips_relobj<32,_false> *)((long)pp_Var43 + -0x420))->field_0x41f;
      pMVar60 = (Mips_relobj<32,_false> *)((long)pMVar49 + (ulong)bVar21 * -2 + 1);
      pMVar54 = (Mips_symbol<64> *)((long)pMVar55 + (ulong)bVar21 * -2 + 1);
      bVar4 = *(byte *)&(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                        super_Relobj.super_Object._vptr_Object;
      bVar3 = *(byte *)&(pMVar55->super_Sized_symbol<64>).super_Symbol.name_;
      bVar66 = bVar3 < bVar4;
      bVar69 = bVar3 == bVar4;
      pMVar55 = pMVar54;
      pMVar49 = pMVar60;
    } while (bVar69);
    if (bVar68 != bVar67) {
      if ((!bVar66 && !bVar69) == bVar66) {
LAB_002c1750:
        if (target->gp_ == (Sized_symbol<32> *)0x0) {
          symval.u_.value = 0;
        }
        else {
          symval.u_.value = target->gp_->value_;
          if (((target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&
              (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&
             (pMVar60 = this_00, this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {
            symval.u_.value = symval.u_.value + this_00->got_info_->offset_;
          }
        }
        psymval = (Symbol_value<32> *)local_c8;
        pp_Var43 = (_List_node_base **)target;
      }
LAB_002c15d8:
      in_stack_fffffffffffffefc = in_stack_fffffffffffffefc & 0xffffff00;
      if (uVar65 != 100) goto LAB_002c15e9;
LAB_002c12e3:
      pMVar60 = (Mips_relobj<32,_false> *)gsym[1].super_Symbol.got_offsets_.got_next_;
      if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {
        if ((*(long *)&gsym[1].super_Symbol.field_0x38 == 0) ||
           (((gsym->super_Symbol).plt_offset_ == 0xffffffff && (bVar20 != 0)))) goto LAB_002c1304;
        pMVar49 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;
LAB_002c1d90:
        local_c8 = (Mips_relobj<32,_false> *)&symval;
        symval.u_.value =
             Mips16_stub_section<32,_false>::output_address
                       ((Mips16_stub_section<32,_false> *)pMVar49,
                        (Mips16_stub_section<32,_false> *)
                        &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>
                         .super_Relobj.super_Object.name_);
        psymval = (Symbol_value<32> *)local_c8;
        bVar67 = true;
        local_cd = true;
        goto LAB_002c13a0;
      }
      if (((gsym->super_Symbol).plt_offset_ != 0xffffffff) || (bVar20 == 0)) {
        pMVar14 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.field_0x38;
        pMVar49 = pMVar60;
        if (pMVar14 != (Mips_relobj<32,_false> *)0x0) {
          uVar40 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                   super_Relobj.super_Object.shnum_;
          pp_Var43 = (_List_node_base **)(ulong)uVar40;
          if (1 < uVar40) {
            p_Var15 = (this_00->section_is_mips16_call_fp_stub_).
                      super__Bvector_base<std::allocator<bool>_>._M_impl.super__Bvector_impl_data.
                      _M_start.super__Bit_iterator_base._M_p;
            pMVar47 = (Mips_relobj<32,_false> *)
                      (((ulong)(this_00->section_is_mips16_call_fp_stub_).
                               super__Bvector_base<std::allocator<bool>_>._M_impl.
                               super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_offset
                       + ((long)(this_00->section_is_mips16_call_fp_stub_).
                                super__Bvector_base<std::allocator<bool>_>._M_impl.
                                super__Bvector_impl_data._M_finish.super__Bit_iterator_base._M_p -
                         (long)p_Var15) * 8) -
                      (ulong)(this_00->section_is_mips16_call_fp_stub_).
                             super__Bvector_base<std::allocator<bool>_>._M_impl.
                             super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_offset);
            if ((Mips_relobj<32,_false> *)0x1 < pMVar47) {
              puVar63 = (uchar *)0x1;
              pp_Var43 = (_List_node_base **)0x1;
              do {
                pMVar49 = pMVar14;
                if (((p_Var15[(ulong)pp_Var43 >> 6] & 1L << ((byte)pp_Var43 & 0x3f)) != 0) ||
                   (pMVar49 = pMVar60,
                   (Mips_relobj<32,_false> *)pp_Var43 ==
                   (Mips_relobj<32,_false> *)((ulong)(uVar40 - 2) + 1))) goto LAB_002c1d90;
                pp_Var43 = (_List_node_base **)
                           ((long)&(((Mips_relobj<32,_false> *)pp_Var43)->
                                   super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>
                                   .super_Relobj.super_Object._vptr_Object + 1);
              } while ((Mips_relobj<32,_false> *)pp_Var43 != pMVar47);
            }
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");
          }
        }
        goto LAB_002c1d90;
      }
LAB_002c1304:
      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);
      if (iVar25 != -1) goto LAB_002c17c6;
      bVar67 = true;
LAB_002c1320:
      local_c8 = (Mips_relobj<32,_false> *)&symval;
      if ((gsym->super_Symbol).plt_offset_ != 0xffffffff) {
        uVar40 = gsym[1].super_Symbol.plt_offset_;
        pp_Var43 = (_List_node_base **)(ulong)uVar40;
        if ((uVar40 != 0xffffffff) && (gsym[1].super_Symbol.dynsym_index_ != 0xffffffff)) {
          pMVar9 = target->plt_;
          if (pMVar9 == (Mips_output_data_plt<32,_false> *)0x0) {
            Target_mips<32,_false>::plt_section((Target_mips<32,_false> *)pMVar60);
LAB_002c46ec:
                    /* WARNING: Subroutine does not return */
            gold::do_gold_unreachable("../../gold/mips.cc",0x2e88,"relocate");
          }
          if ((pMVar9->field_0x20 & 1) == 0) {
                    /* WARNING: Subroutine does not return */
            Mips_output_data_plt<64,_false>::mips_entry_address
                      ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar54);
          }
          symval.u_.value =
               uVar40 + 1 + pMVar9->plt_header_size_ + pMVar9->plt_mips_offset_ +
               pMVar9->plt0_entry_o32[2];
          pp_Var43 = (_List_node_base **)(ulong)symval.u_.value;
          if (target->field_0x14 == '\0') {
LAB_002c46dd:
                    /* WARNING: Subroutine does not return */
            is_output_micromips((Target_mips<32,_false> *)pMVar60);
          }
          psymval = (Symbol_value<32> *)local_c8;
          bVar20 = (*(uint *)&target->field_0x10 & 0x2000000) == 0;
          calculate_only = !(bool)bVar20;
        }
      }
      goto LAB_002c13a0;
    }
    bVar21 = this_00->field_0x36c;
    pMVar60 = (Mips_relobj<32,_false> *)(ulong)bVar21;
    local_b8 = (_Bit_type *)(ulong)bVar21;
    bVar21 = bVar21 >> 1 & 1 ^ 1;
    if ((!bVar66 && !bVar69) == bVar66) {
      if (bVar21 == 0) goto LAB_002c1750;
    }
    else if (bVar21 == 0) goto LAB_002c15d8;
    if ((((1 < uVar65 - 0x68) && (1 < uVar65 - 5)) && (1 < uVar65 - 0x86)) && (1 < uVar65 - 0x40)) {
      pp_Var43 = (_List_node_base **)
                 gettext(
                        "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."
                        );
      pMVar54 = (Mips_symbol<64> *)relnum;
      pMVar60 = (Mips_relobj<32,_false> *)relinfo;
      gold::gold_error_at_location<32,_false>(relinfo,relnum,(ulong)uVar7,(char *)pp_Var43);
    }
    in_stack_fffffffffffffefc = CONCAT31((int3)(in_stack_fffffffffffffefc >> 8),1);
    if (uVar65 == 100) goto LAB_002c12e3;
LAB_002c15e9:
    lVar42._0_4_ = gsym[1].super_Symbol.got_offsets_.got_type_;
    lVar42._4_4_ = gsym[1].super_Symbol.got_offsets_.got_offset_;
    if (lVar42 == 0) {
LAB_002c17b9:
      bVar20 = (byte)pMVar28;
      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);
      if (iVar25 == -1) {
LAB_002c1848:
        bVar67 = uVar65 == 100;
        if (uVar65 == 0x85 || bVar67) goto LAB_002c1320;
        bVar67 = false;
        goto LAB_002c13ac;
      }
LAB_002c17c6:
      bVar20 = (byte)pMVar28;
      local_c8 = (Mips_relobj<32,_false> *)&symval;
      if ((this_00->field_0x36c & 1) != 0) goto LAB_002c1848;
      pMVar60 = (Mips_relobj<32,_false> *)(ulong)uVar65;
      bVar67 = relocation_needs_la25_stub<32,_true>
                         ((Mips_relobj<32,_true> *)pMVar60,(uint)pMVar28,SUB41(iVar25,0));
      pMVar54 = pMVar28;
      if (!bVar67) goto LAB_002c1848;
      pMVar10 = target->la25_stub_;
      if (pMVar10 == (Mips_output_data_la25_stub<32,_false> *)0x0) {
        la25_stub_section((Target_mips<32,_false> *)pMVar60);
        goto LAB_002c46aa;
      }
      if (((pMVar10->super_Output_section_data).super_Output_data.field_0x20 & 1) == 0) {
                    /* WARNING: Subroutine does not return */
        Mips_output_data_plt<64,_false>::mips_entry_address
                  ((Mips_output_data_plt<64,_false> *)pMVar60,pMVar28);
      }
      psymval = (Symbol_value<32> *)local_c8;
      bVar67 = uVar65 == 100;
      symval.u_.value =
           extraout_EDX + (int)(pMVar10->super_Output_section_data).super_Output_data.address_ +
           (uint)(((byte)(gsym->super_Symbol).field_0x39 >> 2 & 0x30) == 0x20);
      bVar68 = (bool)(calculate_only & bVar67);
      pp_Var43 = (_List_node_base **)local_c8;
      bVar21 = bVar68;
      if (bVar68 == false) goto LAB_002c13ac;
      goto LAB_002c187c;
    }
    bVar21 = calculate_only;
    if ((uVar65 == 0x67) && (*(char *)&gsym[1].super_Symbol.name_ == '\0')) {
      iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);
      if (iVar25 != -1) goto LAB_002c17c6;
      bVar67 = false;
      goto LAB_002c13ac;
    }
LAB_002c15fe:
    bVar20 = (byte)pMVar28;
    local_c8 = (Mips_relobj<32,_false> *)&symval;
    uVar40 = relinfo->data_shndx;
    unaff_R13 = (Mips_symbol<64> *)(ulong)uVar40;
    pMVar54 = unaff_R13;
    pMVar60 = this_00;
    bVar67 = Mips_relobj<32,_false>::is_mips16_stub_section(this_00,uVar40);
    if ((bVar67) || (uVar40 == this_00->pdr_shndx_)) {
      calculate_only = bVar21;
      if (gsym == (Sized_symbol<32> *)0x0) goto LAB_002c1c17;
      goto LAB_002c17b9;
    }
    if (gsym == (Sized_symbol<32> *)0x0) {
      this_02 = (Mips_symbol<32> *)
                (this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header.
                _M_parent;
      p_Var2 = &(this_00->local_mips16_fn_stubs_)._M_t._M_impl.super__Rb_tree_header;
      pMVar35 = (Mips16_stub_section<32,_false> *)p_Var2;
      if (this_02 != (Mips_symbol<32> *)0x0) {
        do {
          pMVar34 = this_02;
          if ((pMVar34->super_Sized_symbol<32>).super_Symbol.dynsym_index_ < _Var51) {
            this_02 = *(Mips_symbol<32> **)&(pMVar34->super_Sized_symbol<32>).super_Symbol.u2_;
            pMVar34 = (Mips_symbol<32> *)pMVar35;
          }
          else {
            this_02 = *(Mips_symbol<32> **)((long)&pMVar34->super_Sized_symbol<32> + 0x10);
          }
          pMVar35 = (Mips16_stub_section<32,_false> *)pMVar34;
        } while (this_02 != (Mips_symbol<32> *)0x0);
        this_02 = (Mips_symbol<32> *)0x0;
        if (((Mips_symbol<32> *)p_Var2 != pMVar34) &&
           (*(_Rb_tree_color *)&((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->object_
            <= _Var51)) {
          this_02 = *(Mips_symbol<32> **)
                     &((Mips16_stub_section<32,_false> *)((long)pMVar34 + 0x20))->shndx_;
        }
      }
LAB_002c3d91:
      symval.u_.value =
           Mips16_stub_section<32,_false>::output_address
                     ((Mips16_stub_section<32,_false> *)this_02,
                      (Mips16_stub_section<32,_false> *)
                      &((Mips16_stub_section<32,_false> *)this_02)->shndx_);
      bVar68 = uVar65 == 100;
      bVar20 = 0;
      pp_Var43 = (_List_node_base **)(ulong)(uVar39 & 0xf7);
      if ((uVar39 & 0xf7) != 0x85) {
        local_cd = true;
        psymval = (Symbol_value<32> *)local_c8;
        bVar20 = 0;
        goto LAB_002c13c4;
      }
      psymval = (Symbol_value<32> *)local_c8;
      local_cd = true;
      goto LAB_002c13d7;
    }
    if (*(char *)&gsym[1].super_Symbol.name_ == '\0') {
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/mips.cc",0x2d5f,"relocate");
    }
    iVar25 = *(int *)((long)&gsym[1].super_Symbol.name_ + 4);
    if (iVar25 == -1) {
      this_02 = *(Mips_symbol<32> **)&gsym[1].super_Symbol.got_offsets_;
      goto LAB_002c3d91;
    }
    pMVar10 = target->la25_stub_;
    if (pMVar10 == (Mips_output_data_la25_stub<32,_false> *)0x0) {
      la25_stub_section((Target_mips<32,_false> *)pMVar60);
LAB_002c46d8:
      Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
      goto LAB_002c46dd;
    }
    bVar20 = (pMVar10->super_Output_section_data).super_Output_data.field_0x20;
    uVar40 = bVar20 & 1;
    pp_Var43 = (_List_node_base **)(ulong)uVar40;
    local_cd = SUB41(uVar40,0);
    if ((bVar20 & 1) == 0) {
LAB_002c4670:
                    /* WARNING: Subroutine does not return */
      Mips_output_data_plt<64,_false>::mips_entry_address
                ((Mips_output_data_plt<64,_false> *)pMVar60,(Mips_symbol<64> *)target);
    }
    bVar68 = uVar65 == 100;
    symval.u_.value = iVar25 + (int)(pMVar10->super_Output_section_data).super_Output_data.address_;
    bVar20 = 0;
    if ((uVar39 & 0xf7) != 0x85) {
      psymval = (Symbol_value<32> *)local_c8;
      local_c8 = (Mips_relobj<32,_false> *)pp_Var43;
      bVar20 = 0;
      goto LAB_002c13c4;
    }
    psymval = (Symbol_value<32> *)local_c8;
LAB_002c16b8:
    bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol);
    if (bVar67) {
      local_cf = 0;
    }
    else {
      local_cf = (bVar20 ^ 1) & bVar68;
      if ((local_cf == 0) && (local_cf = (bVar21 ^ 1) & uVar65 == 0x85, local_cf == 0)) {
LAB_002c1bcf:
        local_cf = uVar65 == 4 || uVar65 == 0x25;
        if (uVar65 == 4 || uVar65 == 0x25) {
          local_cf = bVar21 | bVar20;
        }
        if (gsym == (Sized_symbol<32> *)0x0) {
          local_ce = true;
          goto LAB_002c1402;
        }
      }
    }
    uVar39 = (gsym->super_Symbol).dynsym_index_;
    puVar63 = (uchar *)(ulong)uVar39;
    if ((char)gsym[1].super_Symbol.symtab_index_ != '\0') {
      local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,true);
      if ((!local_ce) &&
         (local_ce = uVar65 == 0x92 || uVar65 == 0x14, uVar65 == 0x92 || uVar65 == 0x14))
      goto LAB_002c1ab9;
LAB_002c1402:
      local_f0 = uVar65 - 100;
      uVar46 = (ulong)(uVar65 - 0x85);
      local_b8 = (_Bit_type *)(ulong)(rel_type == 9);
      r_types[1] = 0;
      r_types[2] = 0;
      if (0xc < local_f0) goto LAB_002c1b2f;
      uVar38 = *(ushort *)view;
      uVar39 = (uint)uVar38;
      uVar6 = *(ushort *)(view + 2);
      pp_Var43 = (_List_node_base **)(ulong)uVar6;
      r_types[0] = uVar65;
      if (uVar65 - 0x85 < 0x29) {
        if ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) == 0) goto LAB_002c1c3c;
        goto LAB_002c1462;
      }
      if (uVar65 == 100) {
        local_f0 = 0;
        goto LAB_002c1462;
      }
LAB_002c1c3c:
      uVar65 = uVar6 & 0x1f;
      pp_Var43 = (_List_node_base **)(ulong)uVar65;
      uVar65 = uVar38 & 0x7e0 | uVar65 |
               (uVar38 & 0xf800) << 0x10 | (uVar6 & 0xffe0) << 0xb |
               (uint)(((ulong)uVar38 & 0x1f) << 0xb);
      goto LAB_002c1467;
    }
                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */
    local_ce = symbol_refs_local(&gsym->super_Symbol,uVar39 != 0,false);
    if ((local_ce) ||
       (local_ce = uVar65 == 0x14 || uVar65 == 0x92, uVar65 != 0x14 && uVar65 != 0x92))
    goto LAB_002c1402;
LAB_002c1ab9:
    uVar65 = uVar65 - 0x85;
    pp_Var43 = (_List_node_base **)(ulong)uVar65;
    if (uVar65 < 0x29) {
      uVar27 = 1L << ((byte)uVar65 & 0x3f) & 0x1b3e1fff3ff;
      uVar46 = (ulong)((-(uint)(uVar27 == 0) & 0xffffff82) + 0xc);
      local_f0 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x2d;
      uVar65 = (-(uint)(uVar27 == 0) & 0xffffff82) + 0x91;
    }
    else {
      uVar46 = 0xffffff8e;
      uVar65 = 0x13;
      local_f0 = 0xffffffaf;
    }
    r_types[1] = 0;
    r_types[2] = 0;
    local_ce = false;
    local_b8 = (_Bit_type *)(ulong)(rel_type == 9);
LAB_002c1b2f:
    r_types[0] = uVar65;
    if (((uint)uVar46 < 0x29) && ((0x1b3e1fff3ffU >> (uVar46 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;
  }
  r_types[1] = 0;
  r_types[2] = 0;
  unaff_R13 = (Mips_symbol<64> *)r_types;
  SVar26 = STATUS_OKAY;
  local_e4 = 0;
  pMVar28 = (Mips_symbol<64> *)&symval;
  uVar65 = r_types[0];
  local_d8 = pMVar28;
  lo16_reloc = r_types[0];
  while( true ) {
    local_98 = (Mips_relobj<32,_false> *)(ulong)lo16_reloc;
    local_c8 = (Mips_relobj<32,_false> *)&symval;
    if (lo16_reloc == _S_red) break;
    target_00 = (Target_mips<32,_false> *)(ulong)local_c0;
    uVar39 = CONCAT31((int3)(uVar7 >> 8),local_bc == uVar7) &
             (uint)CONCAT71((int7)((ulong)pMVar28 >> 8),local_c0 != 0);
    calculate_only = (byte)uVar39;
    uVar17 = (undefined3)(uVar39 >> 8);
    pMVar53 = (Mips_output_data_got<32,_false> *)this;
    pRVar52 = this;
    pp_Var56 = (_List_node_base **)local_98;
    pMVar60 = (Mips_relobj<32,_false> *)psymval;
    if (this->calculate_only_ == false) {
      this->calculate_only_ = (bool)calculate_only;
      puVar44 = (uint *)pp_Var43;
      switch(local_98) {
      default:
        goto switchD_002c18c9_caseD_0;
      case (Mips_relobj<32,_false> *)0x1:
        uVar38 = *(ushort *)view;
        if ((char)local_b8 == '\0') {
LAB_002c46aa:
          local_b0 = local_cc;
        }
        else {
          pp_Var43 = (_List_node_base **)(ulong)(uVar38 - 0x10000);
          local_b0 = (uint)uVar38;
          if ((short)uVar38 < 0) {
            local_b0 = uVar38 - 0x10000;
          }
        }
        goto LAB_002c359b;
      case (Mips_relobj<32,_false> *)0x2:
        goto switchD_002c18c9_caseD_2;
      case (Mips_relobj<32,_false> *)0x3:
        goto switchD_002c14fa_caseD_3;
      case (Mips_relobj<32,_false> *)0x4:
      case (Mips_relobj<32,_false> *)0x64:
      case (Mips_relobj<32,_false> *)0x85:
        bVar21 = (calculate_only ^ 1) & local_cf;
        pp_Var43 = (_List_node_base **)(ulong)CONCAT31(uVar17,bVar21);
        local_b0 = local_cc;
        uVar39 = *(uint *)view;
        if ((char)local_b8 == '\0') {
LAB_002c38d3:
          if ((char)pp_Var43 == '\0') {
LAB_002c38db:
            uVar22 = SUB81(target_00,0);
            bVar67 = gsym == (Sized_symbol<32> *)0x0;
            if ((local_cf == 1) || (lo16_reloc != 0x85)) goto LAB_002c34d9;
            if (bVar67) {
              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;
              uVar40 = 0xf8000000;
              goto LAB_002c34f1;
            }
            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x1;
            uVar40 = local_b0 & 0x7ffffff;
            if ((local_b0 & 0x4000000) != 0) {
              uVar40 = (local_b0 & 0x7ffffff) + 0xf8000000;
            }
            goto LAB_002c3505;
          }
LAB_002c40ff:
          pp_Var56 = (_List_node_base **)this_00;
          VVar23 = gold::Symbol_value<32>::value<false>
                             (psymval,(Sized_relobj_file<32,_false> *)this_00,0);
          if ((VVar23 & 3) == (uint)(lo16_reloc == 4)) goto LAB_002c38db;
          pcVar61 = (char *)gettext("JALX to a non-word-aligned address");
          gold::gold_warning(pcVar61);
LAB_002c413e:
          SVar26 = STATUS_BAD_RELOC;
        }
        else {
          if (lo16_reloc == 0x85) {
            local_b0 = uVar39 * 2 & 0x7fffffe;
            goto LAB_002c38d3;
          }
          local_b0 = (uVar39 & 0x3ffffff) << 2;
          if (bVar21 != 0) {
            local_b8 = (_Bit_type *)(ulong)bVar21;
            goto LAB_002c40ff;
          }
LAB_002c34d9:
          uVar22 = SUB81(target_00,0);
          bVar67 = gsym == (Sized_symbol<32> *)0x0;
          if (bVar67) {
            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;
            uVar40 = 0xf0000000;
LAB_002c34f1:
            bVar67 = true;
            uVar40 = address + 4 & uVar40 | local_b0;
          }
          else {
            in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)0x2;
            uVar40 = local_b0 & 0xfffffff;
            if ((local_b0 & 0x8000000) != 0) {
              uVar40 = (local_b0 & 0xfffffff) + 0xf0000000;
            }
          }
LAB_002c3505:
          pp_Var56 = (_List_node_base **)this_00;
          VVar23 = gold::Symbol_value<32>::value<false>
                             (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar40);
          uVar40 = VVar23 >> (sbyte)in_stack_fffffffffffffee8;
          pSVar48 = extraout_RDX;
          if ((((bool)calculate_only == false) && (!bVar67)) &&
             (pMVar60 = (Mips_relobj<32,_false> *)gsym,
             bVar67 = gold::Symbol::is_weak_undefined(&gsym->super_Symbol),
             pSVar48 = extraout_RDX_00, !bVar67)) {
            uVar41 = (int)in_stack_fffffffffffffee8 + 0x1a;
            pp_Var43 = (_List_node_base **)(ulong)uVar41;
            uVar45 = uVar40 >> 0x1a;
            pSVar48 = (Symbol_value<32> *)(ulong)uVar45;
            if (uVar45 != address + 4 >> ((byte)uVar41 & 0x1f)) goto LAB_002c3567;
          }
          uVar40 = uVar39 ^ (uVar40 ^ uVar39) & 0x3ffffff;
          pp_Var43 = (_List_node_base **)(ulong)uVar40;
          if (local_cf != 0) {
            uVar39 = uVar39 >> 0x1a;
            uVar50 = (undefined7)((ulong)pSVar48 >> 8);
            if (lo16_reloc == 100) {
              iVar25 = 7;
              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 6 < 2);
            }
            else if (lo16_reloc == 0x85) {
              iVar25 = 0x3c;
              pSVar48 = (Symbol_value<32> *)CONCAT71(uVar50,uVar39 - 0x3c < 2);
            }
            else {
              pSVar48 = (Symbol_value<32> *)
                        (ulong)((uint)CONCAT71(uVar50,uVar39 == 3) | (uint)(uVar39 == 0x1d));
              iVar25 = 0x1d;
            }
            if (((bool)calculate_only == false) && ((char)pSVar48 == '\0')) {
              pcVar61 = (char *)gettext(
                                       "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."
                                       );
              gold::gold_error(pcVar61);
              goto LAB_002c413e;
            }
            pp_Var43 = (_List_node_base **)(ulong)(uVar40 & 0x3ffffff | iVar25 << 0x1a);
          }
          if (gold::parameters->options_ == (General_options *)0x0) {
LAB_002c4770:
                    /* WARNING: Subroutine does not return */
            Mips_relocate_functions<32,_false>::rel26
                      ((uchar *)pMVar60,(Mips_relobj<32,_false> *)pp_Var56,pSVar48,
                       (Mips_address)pp_Var43,(bool)uVar22,(Mips_address)puVar63,
                       (bool)in_stack_fffffffffffffec8,in_stack_fffffffffffffed0,
                       SUB41(in_stack_fffffffffffffed8,0),(uint)in_stack_fffffffffffffee0,
                       SUB81(in_stack_fffffffffffffee8,0),SUB81(output_section,0),
                       (Valtype *)CONCAT44(in_stack_fffffffffffffefc,in_stack_fffffffffffffef8));
          }
          if ((bool)calculate_only == false) {
            SVar26 = STATUS_OKAY;
            *(Valtype *)view = (Valtype)pp_Var43;
          }
          else {
            SVar26 = STATUS_OKAY;
            this->calculated_value_ = (Valtype)pp_Var43;
          }
        }
        goto LAB_002c1e60;
      case (Mips_relobj<32,_false> *)0x5:
      case (Mips_relobj<32,_false> *)0x68:
      case (Mips_relobj<32,_false> *)0x86:
        goto switchD_002c18c9_caseD_5;
      case (Mips_relobj<32,_false> *)0x6:
      case (Mips_relobj<32,_false> *)0x69:
      case (Mips_relobj<32,_false> *)0x87:
      case (Mips_relobj<32,_false> *)0x9d:
        local_b0 = local_cc;
        in_stack_fffffffffffffef8 = *(uint *)view;
        if ((char)local_b8 != '\0') {
          uVar40 = in_stack_fffffffffffffef8 & 0xffff;
          pp_Var56 = (_List_node_base **)(ulong)uVar40;
          local_b0 = uVar40 - 0x10000;
          if ((in_stack_fffffffffffffef8 & 0x8000) == 0) {
            local_b0 = uVar40;
          }
        }
        goto LAB_002c3615;
      case (Mips_relobj<32,_false> *)0x7:
      case (Mips_relobj<32,_false> *)0x8:
      case (Mips_relobj<32,_false> *)0x65:
      case (Mips_relobj<32,_false> *)0x88:
      case (Mips_relobj<32,_false> *)0x89:
      case (Mips_relobj<32,_false> *)0xac:
        local_b0 = local_cc;
        pSVar33 = target->gp_;
        if (pSVar33 != (Sized_symbol<32> *)0x0) goto LAB_002c370d;
        VVar57 = 0;
LAB_002c3751:
        uVar40 = *(uint *)view;
        local_cc = local_b0;
        if ((char)local_b8 != '\0') {
          if (lo16_reloc == 0xac) {
            local_b0 = uVar40 * 4 & 0x1fc;
          }
          else {
            local_b0 = (uVar40 & 0xffff) - 0x10000;
            if ((uVar40 & 0x8000) == 0) {
              local_b0 = uVar40 & 0xffff;
            }
          }
        }
        goto LAB_002c378b;
      case (Mips_relobj<32,_false> *)0x9:
      case (Mips_relobj<32,_false> *)0x66:
      case (Mips_relobj<32,_false> *)0x8a:
        goto switchD_002c18c9_caseD_9;
      case (Mips_relobj<32,_false> *)0xa:
        local_b0 = local_cc;
        goto LAB_002c2e45;
      case (Mips_relobj<32,_false> *)0xb:
      case (Mips_relobj<32,_false> *)0x67:
      case (Mips_relobj<32,_false> *)0x8e:
        goto switchD_002c18c9_caseD_b;
      case (Mips_relobj<32,_false> *)0xc:
        goto switchD_002c18c9_caseD_c;
      case (Mips_relobj<32,_false> *)0x12:
        goto switchD_002c18c9_caseD_12;
      case (Mips_relobj<32,_false> *)0x13:
      case (Mips_relobj<32,_false> *)0x91:
      case (Mips_relobj<32,_false> *)0xf9:
        goto switchD_002c18c9_caseD_13;
      case (Mips_relobj<32,_false> *)0x14:
      case (Mips_relobj<32,_false> *)0x92:
        goto switchD_002c18c9_caseD_14;
      case (Mips_relobj<32,_false> *)0x15:
      case (Mips_relobj<32,_false> *)0x93:
        goto switchD_002c18c9_caseD_15;
      case (Mips_relobj<32,_false> *)0x16:
      case (Mips_relobj<32,_false> *)0x1e:
      case (Mips_relobj<32,_false> *)0x94:
      case (Mips_relobj<32,_false> *)0x99:
        goto switchD_002c18c9_caseD_16;
      case (Mips_relobj<32,_false> *)0x17:
      case (Mips_relobj<32,_false> *)0x1f:
      case (Mips_relobj<32,_false> *)0x95:
      case (Mips_relobj<32,_false> *)0x9a:
        goto switchD_002c18c9_caseD_17;
      case (Mips_relobj<32,_false> *)0x18:
      case (Mips_relobj<32,_false> *)0x96:
        local_b0 = local_cc;
        if ((char)local_b8 != '\0') {
          local_b0 = *(Value *)view;
        }
        goto LAB_002c2efa;
      case (Mips_relobj<32,_false> *)0x1c:
      case (Mips_relobj<32,_false> *)0x97:
        local_b0 = local_cc;
        goto LAB_002c1ed8;
      case (Mips_relobj<32,_false> *)0x1d:
      case (Mips_relobj<32,_false> *)0x98:
        local_b0 = local_cc;
        goto LAB_002c2f32;
      case (Mips_relobj<32,_false> *)0x25:
      case (Mips_relobj<32,_false> *)0x9c:
        goto switchD_002c18c9_caseD_25;
      case (Mips_relobj<32,_false> *)0x27:
      case (Mips_relobj<32,_false> *)0x29:
        goto switchD_002c18c9_caseD_27;
      case (Mips_relobj<32,_false> *)0x2a:
      case (Mips_relobj<32,_false> *)0x6a:
      case (Mips_relobj<32,_false> *)0xa2:
        goto switchD_002c18c9_caseD_2a;
      case (Mips_relobj<32,_false> *)0x2b:
      case (Mips_relobj<32,_false> *)0x6b:
      case (Mips_relobj<32,_false> *)0xa3:
        goto switchD_002c18c9_caseD_2b;
      case (Mips_relobj<32,_false> *)0x2c:
      case (Mips_relobj<32,_false> *)0x6c:
      case (Mips_relobj<32,_false> *)0xa4:
        goto switchD_002c18c9_caseD_2c;
      case (Mips_relobj<32,_false> *)0x2d:
      case (Mips_relobj<32,_false> *)0x6d:
      case (Mips_relobj<32,_false> *)0xa5:
        goto switchD_002c18c9_caseD_2d;
      case (Mips_relobj<32,_false> *)0x2e:
      case (Mips_relobj<32,_false> *)0x6e:
      case (Mips_relobj<32,_false> *)0xa6:
        goto switchD_002c18c9_caseD_2e;
      case (Mips_relobj<32,_false> *)0x2f:
      case (Mips_relobj<32,_false> *)0x30:
        goto switchD_002c18c9_caseD_2f;
      case (Mips_relobj<32,_false> *)0x31:
      case (Mips_relobj<32,_false> *)0x6f:
      case (Mips_relobj<32,_false> *)0xa9:
        goto switchD_002c18c9_caseD_31;
      case (Mips_relobj<32,_false> *)0x32:
      case (Mips_relobj<32,_false> *)0x70:
      case (Mips_relobj<32,_false> *)0xaa:
        goto switchD_002c18c9_caseD_32;
      case (Mips_relobj<32,_false> *)0x3c:
        local_b0 = local_cc;
        goto LAB_002c2f96;
      case (Mips_relobj<32,_false> *)0x3d:
        local_b0 = local_cc;
        goto LAB_002c304d;
      case (Mips_relobj<32,_false> *)0x3e:
        local_b0 = local_cc;
        goto LAB_002c3104;
      case (Mips_relobj<32,_false> *)0x3f:
        local_b0 = local_cc;
        goto LAB_002c31c0;
      case (Mips_relobj<32,_false> *)0x40:
        goto switchD_002c18c9_caseD_40;
      case (Mips_relobj<32,_false> *)0x41:
        local_b0 = local_cc;
        goto LAB_002c330f;
      case (Mips_relobj<32,_false> *)0x8b:
        local_b0 = local_cc;
        goto LAB_002c3385;
      case (Mips_relobj<32,_false> *)0x8c:
        local_b0 = local_cc;
        goto LAB_002c328d;
      case (Mips_relobj<32,_false> *)0x8d:
        local_b0 = local_cc;
        goto LAB_002c33fc;
      case (Mips_relobj<32,_false> *)0xf8:
        local_b0 = local_cc;
        if ((char)local_b8 != '\0') {
          local_b0 = *(Value *)view;
        }
        goto LAB_002c3260;
      }
    }
    local_cc = this->calculated_value_;
    this->calculate_only_ = (bool)calculate_only;
    puVar44 = &switchD_002c14fa::switchdataD_0055d438;
    pp_Var43 = (_List_node_base **)puVar44;
    local_b0 = local_cc;
    switch(local_98) {
    default:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_0:
      pp_Var43 = (_List_node_base **)gettext("unsupported reloc %u");
      pp_Var56 = (_List_node_base **)relnum;
      gold::gold_error_at_location<32,_false>(relinfo,relnum,(ulong)uVar7,(char *)pp_Var43,local_98)
      ;
      break;
    case (Mips_relobj<32,_false> *)0x1:
      local_b8 = (_Bit_type *)0x0;
      local_b0 = local_cc;
LAB_002c359b:
      pp_Var56 = (_List_node_base **)this_00;
      uVar39 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      if (calculate_only != 0) goto LAB_002c1f30;
      *(short *)view = (short)uVar39;
      SVar26 = (Status)(0xffff < uVar39 + 0x8000);
      break;
    case (Mips_relobj<32,_false> *)0x2:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_2:
      pp_Var56 = (_List_node_base **)0x2;
      pp_Var43 = (_List_node_base **)target;
      bVar67 = should_apply_static_reloc
                         ((Relocate *)gsym,(Mips_symbol<32> *)0x2,(uint)output_section,
                          (Output_section *)target,target_00);
      if (bVar67) {
        bVar67 = this->calculate_only_;
        VVar23 = local_cc;
        if ((char)local_b8 != '\0') {
          VVar23 = *(Value *)view;
        }
        pp_Var56 = (_List_node_base **)this_00;
        VVar23 = gold::Symbol_value<32>::value<false>
                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);
        if (bVar67 == false) {
          SVar26 = STATUS_OKAY;
          *(Value *)view = VVar23;
        }
        else {
          SVar26 = STATUS_OKAY;
          this->calculated_value_ = VVar23;
        }
      }
      if (((gsym != (Sized_symbol<32> *)0x0) &&
          ((bVar21 = (byte)(gsym->super_Symbol).field_0x39 >> 2, (bVar21 & 0x3c) == 0x3c ||
           ((bVar21 & 0x30) == 0x20)))) && (*(int *)((long)&gsym[1].super_Symbol.u1_ + 4) == 1)) {
        pMVar60 = *(Mips_relobj<32,_false> **)&gsym[1].super_Symbol.got_offsets_;
        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
          if (*(char *)&gsym[1].super_Symbol.name_ == '\0') goto LAB_002c473f;
          pp_Var56 = (_List_node_base **)
                     &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                      super_Relobj.super_Object.name_;
          symval.u_.value =
               Mips16_stub_section<32,_false>::output_address
                         ((Mips16_stub_section<32,_false> *)pMVar60,
                          (Mips16_stub_section<32,_false> *)pp_Var56);
          psymval = (Symbol_value<32> *)local_c8;
        }
        local_e4 = gsym[1].super_Symbol.u2_.shndx;
        pMVar53 = target->got_;
        if (pMVar53 == (Mips_output_data_got<32,_false> *)0x0) {
          do {
            pMVar31 = Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
            uVar39 = (uint)pMVar31;
LAB_002c2940:
            *(uint *)&(pMVar53->super_Output_data_got<32,_false>).super_Output_data_got_base.
                      super_Output_section_data_build.super_Output_section_data.super_Output_data.
                      _vptr_Output_data = uVar39;
            SVar26 = STATUS_OKAY;
LAB_002c2945:
            if (local_cd == false) goto LAB_002c1e60;
            pMVar53 = target->got_;
          } while (pMVar53 == (Mips_output_data_got<32,_false> *)0x0);
          if (gsym != (Sized_symbol<32> *)0x0) goto LAB_002c2967;
        }
        else {
LAB_002c2967:
          if ((char)gsym[1].value_ != '\0') {
            pp_Var56 = (_List_node_base **)this_00;
            this_01 = (Symbol *)psymval;
            VVar23 = gold::Symbol_value<32>::value<false>
                               (psymval,(Sized_relobj_file<32,_false> *)this_00,0);
            if (*(int *)((long)&gsym[1].super_Symbol.u1_ + 4) == 2) {
LAB_002c461d:
                    /* WARNING: Subroutine does not return */
              gold::do_gold_unreachable("../../gold/mips.cc",0x895,"get_primary_got_offset");
            }
            pMVar58 = pMVar53->primary_got_;
            if (pMVar58 == (Mips_got_info<32,_false> *)0x0) {
              iVar25 = pMVar53->master_got_info_->page_gotno_ +
                       pMVar53->master_got_info_->local_gotno_;
            }
            else {
              iVar25 = pMVar58->page_gotno_ + pMVar58->local_gotno_;
            }
            uVar39 = (gsym->super_Symbol).dynsym_index_;
            if (uVar39 == 0) {
              gold::Symbol::dynsym_index(this_01);
              goto LAB_002c461d;
            }
            pp_Var43 = (_List_node_base **)pMVar53->got_view_;
            *(Value *)((long)&(((Mips_relobj<32,_false> *)pp_Var43)->
                              super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                              super_Relobj.super_Object._vptr_Object +
                      (ulong)(((uVar39 - pMVar53->first_global_got_dynsym_index_) + iVar25 + 2) *
                              0x20 >> 3)) = VVar23;
            break;
          }
        }
        pp_Var56 = (_List_node_base **)this_00;
        VVar23 = gold::Symbol_value<32>::value<false>
                           (psymval,(Sized_relobj_file<32,_false> *)this_00,0);
        pp_Var43 = (_List_node_base **)pMVar53->got_view_;
        *(Value *)((long)&(((Mips_relobj<32,_false> *)pp_Var43)->super_Sized_relobj_file<32,_false>)
                          .super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object +
                  (ulong)local_e4) = VVar23;
      }
      break;
    case (Mips_relobj<32,_false> *)0x3:
switchD_002c14fa_caseD_3:
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/mips.cc",0x2e62,"relocate");
    case (Mips_relobj<32,_false> *)0x4:
    case (Mips_relobj<32,_false> *)0x64:
    case (Mips_relobj<32,_false> *)0x85:
      local_b8 = (_Bit_type *)0x0;
      pp_Var43 = (_List_node_base **)(ulong)CONCAT31(uVar17,(calculate_only ^ 1) & local_cf);
      uVar39 = *(uint *)view;
      goto LAB_002c38d3;
    case (Mips_relobj<32,_false> *)0x5:
    case (Mips_relobj<32,_false> *)0x68:
    case (Mips_relobj<32,_false> *)0x86:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_5:
      if (rel_type == 4) {
        pp_Var43 = (_List_node_base **)(ulong)local_cc;
        puVar63 = (uchar *)(ulong)(in_stack_fffffffffffffefc & 1);
        pp_Var56 = (_List_node_base **)this_00;
        SVar26 = Mips_relocate_functions<32,_false>::do_relhi16
                           (view,this_00,psymval,local_cc,address,
                            SUB41(in_stack_fffffffffffffefc & 1,0),lo16_reloc,(bool)(char)local_b8,0
                            ,target,(bool)calculate_only,&this->calculated_value_);
      }
      else {
        if (rel_type != 9) goto LAB_002c46ec;
        p_Var30 = (_List_node_base *)operator_new(0x40);
        pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs;
        SVar26 = STATUS_OKAY;
        p_Var30[1]._M_next = (_List_node_base *)view;
        p_Var30[1]._M_prev = (_List_node_base *)this_00;
        p_Var30[2]._M_next = (_List_node_base *)psymval;
        *(Value *)&p_Var30[2]._M_prev = local_cc;
        *(_Rb_tree_color *)((long)&p_Var30[2]._M_prev + 4) = lo16_reloc;
        *(_Rb_tree_color *)&p_Var30[3]._M_next = _Var51;
        *(char *)((long)&p_Var30[3]._M_next + 4) = (char)local_b8;
        *(Mips_address *)&p_Var30[3]._M_prev = address;
        *(char *)((long)&p_Var30[3]._M_prev + 4) = (char)in_stack_fffffffffffffefc;
        std::__detail::_List_node_base::_M_hook
                  (p_Var30,(_List_node_base *)
                           &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs);
        _DAT_0067daf0 = _DAT_0067daf0 + 1;
      }
      break;
    case (Mips_relobj<32,_false> *)0x6:
    case (Mips_relobj<32,_false> *)0x69:
    case (Mips_relobj<32,_false> *)0x87:
    case (Mips_relobj<32,_false> *)0x9d:
      local_b8 = (_Bit_type *)0x0;
      in_stack_fffffffffffffef8 = *(uint *)view;
      local_b0 = local_cc;
LAB_002c3615:
      if (rel_type == 9) {
        in_stack_fffffffffffffedc = uVar39 & 0xff;
        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs;
        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs !=
            (_List_node_base *)
            &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs) {
          do {
            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {
              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);
              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;
              pp_Var56 = (_List_node_base **)local_98;
              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);
              if (!bVar67) goto LAB_002c3ec8;
              in_stack_fffffffffffffee0 = local_100[1]._M_next;
              in_stack_fffffffffffffed0 = (Symbol *)local_100[2]._M_next;
              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;
              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;
              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);
              address_00 = *(Mips_address *)&local_100[3]._M_prev;
              puVar63 = (uchar *)(ulong)*(byte *)((long)&local_100[3]._M_prev + 4);
              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle
                        ((uchar *)in_stack_fffffffffffffee0,uVar39,
                         SUB81(in_stack_fffffffffffffed0,0));
              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;
              SVar26 = Mips_relocate_functions<32,_false>::do_relhi16
                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,
                                  (Symbol_value<32> *)in_stack_fffffffffffffed0,
                                  in_stack_fffffffffffffed8,address_00,SUB81(puVar63,0),uVar39,
                                  (bool)uVar22,local_b0,target,SUB41(in_stack_fffffffffffffedc,0),
                                  &this->calculated_value_);
              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;
              Mips_relocate_functions<32,_false>::mips_reloc_shuffle
                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);
              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;
              p_Var30 = local_100->_M_next;
              _DAT_0067daf0 = _DAT_0067daf0 + -1;
              std::__detail::_List_node_base::_M_unhook(local_100);
              operator_delete(local_100);
              local_100 = p_Var30;
            }
            else {
LAB_002c3ec8:
              local_100 = local_100->_M_next;
            }
          } while (local_100 !=
                   (_List_node_base *)
                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::hi16_relocs);
        }
        pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;
        local_100 = (anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;
        if ((anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs !=
            (_List_node_base *)
            &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs) {
          do {
            if (_Var51 == *(_Rb_tree_color *)&local_100[3]._M_next) {
              uVar39 = *(uint *)((long)&local_100[2]._M_prev + 4);
              in_stack_fffffffffffffee8 = (Mips_relobj<32,_false> *)(ulong)uVar39;
              pp_Var56 = (_List_node_base **)local_98;
              bVar67 = is_matching_lo16_reloc(uVar39,lo16_reloc);
              if (!bVar67) goto LAB_002c41a8;
              in_stack_fffffffffffffee0 = local_100[1]._M_next;
              in_stack_fffffffffffffed8 = *(uint *)&local_100[2]._M_prev;
              pMVar49 = (Mips_relobj<32,_false> *)local_100[1]._M_prev;
              pSVar48 = (Symbol_value<32> *)local_100[2]._M_next;
              uVar22 = *(undefined1 *)((long)&local_100[3]._M_next + 4);
              Mips_relocate_functions<32,_false>::mips_reloc_unshuffle
                        ((uchar *)in_stack_fffffffffffffee0,uVar39,jal_shuffle);
              puVar63 = (uchar *)(ulong)local_b0;
              pp_Var43 = (_List_node_base **)(ulong)in_stack_fffffffffffffed8;
              SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local
                                 ((uchar *)in_stack_fffffffffffffee0,pMVar49,pSVar48,
                                  in_stack_fffffffffffffed8,(bool)uVar22,local_b0,target,
                                  SUB41(in_stack_fffffffffffffedc,0),&this->calculated_value_);
              pp_Var56 = (_List_node_base **)in_stack_fffffffffffffee8;
              Mips_relocate_functions<32,_false>::mips_reloc_shuffle
                        ((uchar *)in_stack_fffffffffffffee0,uVar39,false);
              if (SVar26 == STATUS_OVERFLOW) goto LAB_002c1e60;
              p_Var30 = local_100->_M_next;
              _DAT_0067dad0 = _DAT_0067dad0 + -1;
              std::__detail::_List_node_base::_M_unhook(local_100);
              operator_delete(local_100);
              local_100 = p_Var30;
            }
            else {
LAB_002c41a8:
              local_100 = local_100->_M_next;
            }
            pp_Var43 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;
          } while (local_100 !=
                   (_List_node_base *)
                   &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);
        }
      }
      if ((char)in_stack_fffffffffffffefc == '\0') {
        pp_Var56 = (_List_node_base **)this_00;
        uVar39 = gold::Symbol_value<32>::value<false>
                           (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
        uVar40 = in_stack_fffffffffffffef8;
      }
      else {
        pSVar33 = target->gp_;
        if (lo16_reloc == 0x69) {
          if (pSVar33 == (Sized_symbol<32> *)0x0) {
            VVar57 = 0;
          }
          else {
            VVar57 = pSVar33->value_;
            pp_Var43 = (_List_node_base **)target;
            if (((target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&
                (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&
               (pp_Var56 = (_List_node_base **)this_00,
               this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {
              VVar57 = VVar57 + this_00->got_info_->offset_;
            }
          }
          iVar25 = VVar57 - (address & 0xfffffffc);
        }
        else {
          pp_Var43 = (_List_node_base **)local_98;
          if ((lo16_reloc == 0x87) || (lo16_reloc == 0x9d)) {
            if (pSVar33 == (Sized_symbol<32> *)0x0) {
              VVar57 = 0;
            }
            else {
              VVar57 = pSVar33->value_;
              pp_Var43 = (_List_node_base **)target;
              if (((target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&
                  (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&
                 (pp_Var43 = (_List_node_base **)this_00,
                 this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {
                VVar57 = VVar57 + this_00->got_info_->offset_;
              }
            }
            iVar25 = (VVar57 - address) + 3;
          }
          else {
            if (pSVar33 == (Sized_symbol<32> *)0x0) {
              VVar57 = 0;
            }
            else {
              VVar57 = pSVar33->value_;
              pp_Var43 = (_List_node_base **)target;
              if (((target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&
                  (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&
                 (pp_Var56 = (_List_node_base **)this_00,
                 this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {
                VVar57 = VVar57 + this_00->got_info_->offset_;
              }
            }
            iVar25 = (VVar57 - address) + 4;
          }
        }
        uVar39 = iVar25 + local_b0;
        uVar40 = in_stack_fffffffffffffef8;
      }
      in_stack_fffffffffffffef8 = uVar40;
      if ((bool)calculate_only != false) goto LAB_002c1f30;
      goto LAB_002c1ebf;
    case (Mips_relobj<32,_false> *)0x7:
    case (Mips_relobj<32,_false> *)0x8:
    case (Mips_relobj<32,_false> *)0x65:
    case (Mips_relobj<32,_false> *)0x88:
    case (Mips_relobj<32,_false> *)0x89:
    case (Mips_relobj<32,_false> *)0xac:
      pSVar33 = target->gp_;
      if (pSVar33 != (Sized_symbol<32> *)0x0) {
        local_b8 = (_Bit_type *)0x0;
LAB_002c370d:
        VVar57 = pSVar33->value_;
        local_b0 = local_cc;
        if (((target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&
            (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&
           (this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {
          VVar57 = VVar57 + this_00->got_info_->offset_;
        }
        goto LAB_002c3751;
      }
      local_b8 = (_Bit_type *)0x0;
      VVar57 = 0;
      uVar40 = *(uint *)view;
      local_b0 = local_cc;
LAB_002c378b:
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      uVar39 = VVar23 - VVar57;
      if (gsym == (Sized_symbol<32> *)0x0) {
        uVar39 = uVar39 + this_00->gp_;
      }
      uVar41 = (uVar39 ^ uVar40) & 0xffff;
      pp_Var43 = (_List_node_base **)(ulong)uVar41;
      if (lo16_reloc == 0xac) {
        uVar41 = (uVar39 ^ uVar40) & 0x7f;
      }
      if ((bool)calculate_only != false) goto LAB_002c1f30;
      *(uint *)view = uVar40 ^ uVar41;
      if (0xffff < uVar39 + 0x8000) {
        pcVar61 = (char *)gettext(
                                 "small-data section exceeds 64KB; lower small-data size limit (see option -G)"
                                 );
        gold::gold_error(pcVar61);
LAB_002c3567:
        SVar26 = STATUS_OVERFLOW;
        break;
      }
      goto LAB_002c1fd6;
    case (Mips_relobj<32,_false> *)0x9:
    case (Mips_relobj<32,_false> *)0x66:
    case (Mips_relobj<32,_false> *)0x8a:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_9:
      if (gsym == (Sized_symbol<32> *)0x0) {
        if (rel_type == 4) {
          puVar63 = (uchar *)0x0;
          pp_Var43 = (_List_node_base **)(ulong)local_cc;
          pp_Var56 = (_List_node_base **)this_00;
          pMVar60 = (Mips_relobj<32,_false> *)view;
          SVar26 = Mips_relocate_functions<32,_false>::do_relgot16_local
                             (view,this_00,psymval,local_cc,(bool)(char)local_b8,0,target,
                              (bool)calculate_only,&this->calculated_value_);
          goto LAB_002c2945;
        }
        if (rel_type == 9) {
          pMVar60 = (Mips_relobj<32,_false> *)operator_new(0x40);
          (pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj.
          super_Object.field_0x3c = 0;
          SVar26 = STATUS_OKAY;
          (pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj.
          super_Object.shnum_ = 0;
          pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs;
          (pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj.
          super_Object.name_._M_string_length = (size_type)view;
          *(Mips_relobj<32,_false> **)
           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj
            .super_Object.name_.field_2 = this_00;
          *(Symbol_value<32> **)
           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                   super_Relobj.super_Object.name_.field_2 + 8) = psymval;
          *(Value *)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                     super_Relobj.super_Object.input_file_ = local_cc;
          *(_Rb_tree_color *)
           ((long)&(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                   super_Relobj.super_Object.input_file_ + 4) = lo16_reloc;
          *(_Rb_tree_color *)
           &(pMVar60->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.super_Relobj
            .super_Object.offset_ = _Var51;
          *(char *)((long)&(pMVar60->super_Sized_relobj_file<32,_false>).
                           super_Sized_relobj<32,_false>.super_Relobj.super_Object.offset_ + 4) =
               (char)local_b8;
          std::__detail::_List_node_base::_M_hook
                    ((_List_node_base *)pMVar60,
                     (_List_node_base *)
                     &(anonymous_namespace)::Mips_relocate_functions<32,false>::got16_relocs);
          _DAT_0067dad0 = _DAT_0067dad0 + 1;
          goto LAB_002c2945;
        }
                    /* WARNING: Subroutine does not return */
        gold::do_gold_unreachable("../../gold/mips.cc",0x2f66,"relocate");
      }
      pMVar60 = (Mips_relobj<32,_false> *)target->got_;
      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
        pp_Var43 = (_List_node_base **)this_00;
        pSVar33 = gsym;
        local_e4 = Mips_output_data_got<32,_false>::got_offset
                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,
                              this_00);
        lo16_reloc = (_Rb_tree_color)pSVar33;
        pMVar60 = (Mips_relobj<32,_false> *)target->got_;
        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
          pp_Var56 = (_List_node_base **)(ulong)local_e4;
          uVar39 = Mips_output_data_got<32,_false>::gp_offset
                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);
          if (this->calculate_only_ != false) goto LAB_002c2940;
          uVar41 = *(uint *)view;
          uVar40 = (uVar41 ^ uVar39) & 0xffff ^ uVar41;
LAB_002c27a6:
          pp_Var43 = (_List_node_base **)(ulong)uVar41;
          *(uint *)view = uVar40;
          SVar26 = (Status)(0xffff < uVar39 + 0x8000);
          goto LAB_002c2945;
        }
        goto LAB_002c4797;
      }
      goto LAB_002c479c;
    case (Mips_relobj<32,_false> *)0xa:
      local_b8 = (_Bit_type *)0x0;
LAB_002c2e45:
      local_cc = local_b0;
      uVar40 = *(uint *)view;
      if ((char)local_b8 != '\0') {
        uVar39 = uVar40 * 4 & 0x3fffc;
        local_b0 = uVar39 - 0x40000;
        if ((uVar40 * 4 & 0x20000) == 0) {
          local_b0 = uVar39;
        }
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      uVar39 = VVar23 - address >> 2;
      if ((bool)calculate_only != false) goto LAB_002c1f30;
      *(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0xffff;
      pp_Var56 = (_List_node_base **)this_00;
      VVar24 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      SVar26 = STATUS_PCREL_UNALIGNED;
      if ((VVar24 & 3) == 0) {
        SVar26 = (Status)(0x3ffff < (VVar23 - address) + 0x20000);
      }
      break;
    case (Mips_relobj<32,_false> *)0xb:
    case (Mips_relobj<32,_false> *)0x67:
    case (Mips_relobj<32,_false> *)0x8e:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_b:
      if (gsym == (Sized_symbol<32> *)0x0) {
LAB_002c467a:
                    /* WARNING: Subroutine does not return */
        gold::do_gold_unreachable("../../gold/mips.cc",0x2f3d,"relocate");
      }
      pMVar60 = (Mips_relobj<32,_false> *)target->got_;
      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
        pp_Var43 = (_List_node_base **)this_00;
        local_e4 = Mips_output_data_got<32,_false>::got_offset
                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,
                              this_00);
        pMVar60 = (Mips_relobj<32,_false> *)target->got_;
        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
          pp_Var56 = (_List_node_base **)(ulong)local_e4;
          uVar39 = Mips_output_data_got<32,_false>::gp_offset
                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);
          if (this->calculate_only_ != false) goto LAB_002c2940;
          uVar40 = *(uint *)view;
          pp_Var56 = (_List_node_base **)(ulong)uVar40;
          uVar41 = uVar40 ^ uVar39;
          uVar40 = uVar41 & 0xffff ^ uVar40;
          goto LAB_002c27a6;
        }
        goto LAB_002c4735;
      }
      goto LAB_002c473a;
    case (Mips_relobj<32,_false> *)0xc:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_c:
      if (target->gp_ == (Sized_symbol<32> *)0x0) {
        VVar57 = 0;
      }
      else {
        VVar57 = target->gp_->value_;
        if (((target->got_ != (Mips_output_data_got<32,_false> *)0x0) &&
            (target->got_->primary_got_ != (Mips_got_info<32,_false> *)0x0)) &&
           (this_00->got_info_ != (Mips_got_info<32,_false> *)0x0)) {
          VVar57 = VVar57 + this_00->got_info_->offset_;
        }
      }
      VVar23 = local_cc;
      if ((char)local_b8 != '\0') {
        VVar23 = *(Value *)view;
      }
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);
      pp_Var56 = (_List_node_base **)(ulong)this_00->gp_;
      uVar39 = VVar23 + (this_00->gp_ - VVar57);
      goto joined_r0x002c21d2;
    case (Mips_relobj<32,_false> *)0x12:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_12:
      pp_Var56 = (_List_node_base **)0x12;
      pp_Var43 = (_List_node_base **)target;
      bVar67 = should_apply_static_reloc
                         ((Relocate *)gsym,(Mips_symbol<32> *)0x12,(uint)output_section,
                          (Output_section *)target,target_00);
      if (bVar67) {
        calculate_only = this->calculate_only_;
        VVar23 = local_cc;
        if ((char)local_b8 != '\0') {
          VVar23 = *(Value *)view;
        }
        goto LAB_002c2f02;
      }
      break;
    case (Mips_relobj<32,_false> *)0x13:
    case (Mips_relobj<32,_false> *)0x91:
    case (Mips_relobj<32,_false> *)0xf9:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_13:
      pMVar60 = (Mips_relobj<32,_false> *)target->got_;
      if (gsym != (Sized_symbol<32> *)0x0) {
        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
          pp_Var43 = (_List_node_base **)this_00;
          local_e4 = Mips_output_data_got<32,_false>::got_offset
                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,
                                this_00);
          goto LAB_002c252a;
        }
LAB_002c4721:
        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
LAB_002c4726:
        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
LAB_002c472b:
        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
        goto LAB_002c4730;
      }
      if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {
        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);
        goto LAB_002c4792;
      }
      pp_Var43 = (_List_node_base **)(long)(int)local_cc;
      local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                   super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,0);
LAB_002c252a:
      pMVar60 = (Mips_relobj<32,_false> *)target->got_;
      if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {
        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);
        goto LAB_002c4721;
      }
      pp_Var56 = (_List_node_base **)(ulong)local_e4;
      uVar39 = Mips_output_data_got<32,_false>::gp_offset
                         ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);
      if (lo16_reloc != 0xf9) {
        if (this->calculate_only_ == false) {
          uVar40 = *(uint *)view;
          pp_Var43 = (_List_node_base **)(ulong)uVar40;
          uVar40 = (uVar39 ^ uVar40) & 0xffff ^ uVar40;
          goto LAB_002c2590;
        }
        goto LAB_002c1f30;
      }
      if (this->calculate_only_ == false) goto LAB_002c1fd0;
      goto LAB_002c1fd4;
    case (Mips_relobj<32,_false> *)0x14:
    case (Mips_relobj<32,_false> *)0x92:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_14:
      uVar40 = *(uint *)view;
      uVar39 = uVar40 & 0xffff;
      if ((char)local_b8 == '\0') {
        uVar39 = local_cc;
      }
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar39);
      local_98 = (Mips_relobj<32,_false> *)((ulong)(ushort)(VVar23 + 0x8000 >> 0x10) << 0x10);
      pMVar49 = (Mips_relobj<32,_false> *)target->got_;
      if (pMVar49 == (Mips_relobj<32,_false> *)0x0) goto LAB_002c4726;
      if ((pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
          local_got_offsets_._M_h._M_rehash_policy._M_next_resize == 0) {
        pMVar60 = *(Mips_relobj<32,_false> **)
                   &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                    local_got_offsets_._M_h._M_rehash_policy;
      }
      else {
        pMVar60 = (Mips_relobj<32,_false> *)this_00->got_info_;
      }
      if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {
LAB_002c4761:
        Mips_output_data_got<32,_false>::get_got_page_offset
                  ((Mips_output_data_got<32,_false> *)pMVar60,(Mips_address)local_98,pMVar49);
LAB_002c4766:
        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
        pp_Var56 = (_List_node_base **)local_98;
        goto LAB_002c476b;
      }
      uVar39 = Mips_got_info<32,_false>::get_got_page_offset
                         ((Mips_got_info<32,_false> *)pMVar60,(Mips_address)local_98,
                          (Mips_output_data_got<32,_false> *)pMVar49);
      pMVar60 = (Mips_relobj<32,_false> *)target->got_;
      if (pMVar60 == (Mips_relobj<32,_false> *)0x0) goto LAB_002c475c;
      pp_Var56 = (_List_node_base **)(ulong)uVar39;
      uVar39 = Mips_output_data_got<32,_false>::gp_offset
                         ((Mips_output_data_got<32,_false> *)pMVar60,uVar39,this_00);
      if ((bool)calculate_only != false) goto LAB_002c1f30;
      uVar40 = (uVar40 ^ uVar39) & 0xffff ^ uVar40;
      goto LAB_002c2590;
    case (Mips_relobj<32,_false> *)0x15:
    case (Mips_relobj<32,_false> *)0x93:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_15:
      uVar39 = *(uint *)view;
      local_b0 = uVar39 & 0xffff;
      if ((char)local_b8 == '\0') {
        local_b0 = local_cc;
      }
      if (local_ce != false) {
        local_98 = this_00;
        pMVar58 = (Mips_got_info<32,_false> *)psymval;
        VVar23 = gold::Symbol_value<32>::value<false>
                           (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
        uVar40 = VVar23 + 0x8000 >> 0x10;
        pMVar49 = (Mips_relobj<32,_false> *)target->got_;
        if (pMVar49 == (Mips_relobj<32,_false> *)0x0) {
          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar58);
          goto LAB_002c463a;
        }
        if ((pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
            local_got_offsets_._M_h._M_rehash_policy._M_next_resize == 0) {
          pMVar58 = *(Mips_got_info<32,_false> **)
                     &(pMVar49->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                      local_got_offsets_._M_h._M_rehash_policy;
        }
        else {
          pMVar58 = this_00->got_info_;
        }
        if (pMVar58 == (Mips_got_info<32,_false> *)0x0) goto LAB_002c463f;
        Mips_got_info<32,_false>::get_got_page_offset
                  (pMVar58,uVar40 * 0x10000,(Mips_output_data_got<32,_false> *)pMVar49);
        pp_Var56 = (_List_node_base **)this_00;
        local_b0 = gold::Symbol_value<32>::value<false>
                             (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
        local_b0 = local_b0 + uVar40 * -0x10000;
      }
      if ((bool)calculate_only == false) {
        *(uint *)view = (uVar39 ^ local_b0) & 0xffff ^ uVar39;
        SVar26 = (Status)(0xffff < local_b0 + 0x8000);
      }
      else {
        SVar26 = STATUS_OKAY;
        this->calculated_value_ = local_b0;
      }
      break;
    case (Mips_relobj<32,_false> *)0x16:
    case (Mips_relobj<32,_false> *)0x1e:
    case (Mips_relobj<32,_false> *)0x94:
    case (Mips_relobj<32,_false> *)0x99:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_16:
      pMVar60 = (Mips_relobj<32,_false> *)target->got_;
      if (gsym != (Sized_symbol<32> *)0x0) {
        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
          pp_Var43 = (_List_node_base **)this_00;
          local_e4 = Mips_output_data_got<32,_false>::got_offset
                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,
                                this_00);
          goto LAB_002c2378;
        }
LAB_002c4730:
        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
LAB_002c4735:
        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
LAB_002c473a:
        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
LAB_002c473f:
                    /* WARNING: Subroutine does not return */
        gold::do_gold_unreachable("../../gold/mips.cc",0x2e46,"relocate");
      }
      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
        pp_Var43 = (_List_node_base **)(long)(int)local_cc;
        local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,0);
LAB_002c2378:
        pMVar60 = (Mips_relobj<32,_false> *)target->got_;
        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
          pp_Var56 = (_List_node_base **)(ulong)local_e4;
          iVar25 = Mips_output_data_got<32,_false>::gp_offset
                             ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);
          uVar39 = iVar25 + 0x8000U >> 0x10;
          if (this->calculate_only_ != false) goto LAB_002c2940;
          SVar26 = STATUS_OKAY;
          *(short *)view = (short)(iVar25 + 0x8000U >> 0x10);
          goto LAB_002c2945;
        }
        goto LAB_002c472b;
      }
      goto LAB_002c46d8;
    case (Mips_relobj<32,_false> *)0x17:
    case (Mips_relobj<32,_false> *)0x1f:
    case (Mips_relobj<32,_false> *)0x95:
    case (Mips_relobj<32,_false> *)0x9a:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_17:
      pMVar60 = (Mips_relobj<32,_false> *)target->got_;
      if (gsym != (Sized_symbol<32> *)0x0) {
        if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
          pp_Var43 = (_List_node_base **)this_00;
          local_98 = (Mips_relobj<32,_false> *)gsym;
          local_e4 = Mips_output_data_got<32,_false>::got_offset
                               ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,0,
                                this_00);
LAB_002c22ef:
          pMVar60 = (Mips_relobj<32,_false> *)target->got_;
          if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
            pp_Var56 = (_List_node_base **)(ulong)local_e4;
            uVar39 = Mips_output_data_got<32,_false>::gp_offset
                               ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);
            if (this->calculate_only_ != false) goto LAB_002c2940;
            SVar26 = STATUS_OKAY;
            *(uint *)view = (uVar39 ^ *(uint *)view) & 0xffff ^ *(uint *)view;
            goto LAB_002c2945;
          }
          goto LAB_002c4766;
        }
LAB_002c476b:
        uVar22 = SUB81(target_00,0);
        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
        pSVar48 = extraout_RDX_03;
        goto LAB_002c4770;
      }
      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
        pp_Var43 = (_List_node_base **)(long)(int)local_cc;
        local_98 = (Mips_relobj<32,_false> *)(ulong)_Var51;
        local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,local_98,0);
        goto LAB_002c22ef;
      }
LAB_002c4792:
      Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
LAB_002c4797:
      Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
LAB_002c479c:
      Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
LAB_002c47a1:
      Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
LAB_002c47a6:
      Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
                    /* catch() { ... } // from try @ 002c1a5e with catch @ 002c47ab */
      uVar22 = (anonymous_namespace)::Target_mips<32,false>::Relocate::relocate
                         ((Relocate_info *)pMVar60,lo16_reloc,extraout_RDX_04,
                          (Output_section *)pp_Var43,(ulong)target_00,puVar63,
                          (Sized_symbol *)in_stack_fffffffffffffed0,
                          (Symbol_value *)
                          CONCAT44(in_stack_fffffffffffffedc,in_stack_fffffffffffffed8),
                          (uchar *)in_stack_fffffffffffffee0,(uint)in_stack_fffffffffffffee8,
                          (ulong)output_section);
      return (bool)uVar22;
    case (Mips_relobj<32,_false> *)0x18:
    case (Mips_relobj<32,_false> *)0x96:
      local_b8 = (_Bit_type *)0x0;
LAB_002c2efa:
      pp_Var43 = (_List_node_base **)puVar44;
      VVar23 = -local_b0;
LAB_002c2f02:
      pp_Var56 = (_List_node_base **)this_00;
      uVar39 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);
      if (calculate_only != '\0') goto LAB_002c1f30;
      SVar26 = STATUS_OKAY;
      *(ulong *)view = (ulong)uVar39;
      break;
    case (Mips_relobj<32,_false> *)0x1c:
    case (Mips_relobj<32,_false> *)0x97:
      local_b8 = (_Bit_type *)0x0;
LAB_002c1ed8:
      local_cc = local_b0;
      uVar40 = *(uint *)view;
      if ((char)local_b8 != '\0') {
        local_b0 = (uVar40 & 0xffff) - 0x10000;
        if ((uVar40 & 0x8000) == 0) {
          local_b0 = uVar40 & 0xffff;
        }
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      pp_Var43 = (_List_node_base **)0x80008000;
      uVar39 = (uint)((ulong)VVar23 + 0x80008000 >> 0x20);
      goto joined_r0x002c1f7e;
    case (Mips_relobj<32,_false> *)0x1d:
    case (Mips_relobj<32,_false> *)0x98:
      local_b8 = (_Bit_type *)0x0;
LAB_002c2f32:
      local_cc = local_b0;
      uVar39 = *(uint *)view;
      pp_Var43 = (_List_node_base **)puVar44;
      if ((char)local_b8 != '\0') {
        uVar40 = uVar39 & 0xffff;
        pp_Var43 = (_List_node_base **)(ulong)uVar40;
        local_b0 = uVar40 - 0x10000;
        if ((uVar39 & 0x8000) == 0) {
          local_b0 = uVar40;
        }
      }
      pp_Var56 = (_List_node_base **)this_00;
      gold::Symbol_value<32>::value<false>(psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0)
      ;
      if ((bool)calculate_only != false) {
        SVar26 = STATUS_OKAY;
        this->calculated_value_ = 0;
        break;
      }
      uVar39 = uVar39 & 0xffff0000;
      goto LAB_002c1fd0;
    case (Mips_relobj<32,_false> *)0x25:
    case (Mips_relobj<32,_false> *)0x9c:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_25:
      if (gsym != (Sized_symbol<32> *)0x0) {
        bVar67 = (gsym->super_Symbol).dynsym_index_ != 0;
        pp_Var56 = (_List_node_base **)(ulong)bVar67;
        bVar67 = symbol_refs_local(&gsym->super_Symbol,bVar67,true);
        if (!bVar67) break;
        calculate_only = this->calculate_only_;
      }
      VVar23 = 0;
      if ((char)local_b8 == '\0') {
        VVar23 = local_cc;
      }
      uVar39 = *(uint *)view;
      uVar40 = uVar39;
      if (((lo16_reloc == 0x25) && (local_cf != 1)) &&
         ((uVar39 == 0x3200008 || (uVar39 == 0x320f809)))) {
        pp_Var56 = (_List_node_base **)this_00;
        VVar23 = gold::Symbol_value<32>::value<false>
                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);
        if ((VVar23 - address) + 0x1fffc < 0x40000) {
          uVar41 = (VVar23 - address) - 4 >> 2 & 0xffff;
          uVar40 = uVar41 | 0x10000000;
          if (uVar39 != 0x3200008) {
            uVar40 = uVar41 | 0x4110000;
          }
        }
      }
      if (calculate_only == '\0') {
        *(uint *)view = uVar40;
        SVar26 = STATUS_OKAY;
      }
      else {
        this->calculated_value_ = uVar40;
        SVar26 = STATUS_OKAY;
      }
      break;
    case (Mips_relobj<32,_false> *)0x27:
    case (Mips_relobj<32,_false> *)0x29:
      goto switchD_002c14fa_caseD_27;
    case (Mips_relobj<32,_false> *)0x2a:
    case (Mips_relobj<32,_false> *)0x6a:
    case (Mips_relobj<32,_false> *)0xa2:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_2a:
      pMVar60 = (Mips_relobj<32,_false> *)target->got_;
      if (gsym == (Sized_symbol<32> *)0x0) {
        if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {
          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);
          goto LAB_002c467a;
        }
        puVar44 = (uint *)(long)(int)local_cc;
        local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,2);
      }
      else {
        if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {
          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);
LAB_002c475c:
          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar60);
          pMVar49 = extraout_RDX_02;
          goto LAB_002c4761;
        }
        puVar44 = (uint *)this_00;
        local_e4 = Mips_output_data_got<32,_false>::got_offset
                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,2,
                              this_00);
      }
      pMVar60 = (Mips_relobj<32,_false> *)target->got_;
      pp_Var43 = (_List_node_base **)puVar44;
      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) {
LAB_002c2030:
        pp_Var56 = (_List_node_base **)(ulong)local_e4;
        uVar39 = Mips_output_data_got<32,_false>::gp_offset
                           ((Mips_output_data_got<32,_false> *)pMVar60,local_e4,this_00);
        goto LAB_002c211b;
      }
      Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);
switchD_002c14fa_caseD_27:
      local_b8 = (_Bit_type *)0x0;
      pp_Var43 = (_List_node_base **)puVar44;
switchD_002c18c9_caseD_27:
      VVar23 = local_cc;
      if ((char)local_b8 != '\0') {
        VVar23 = *(Value *)view;
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);
      uVar39 = VVar23 - 0x8000;
joined_r0x002c21d2:
      if ((bool)calculate_only == false) {
LAB_002c1fd0:
        pRVar52 = (Relocate *)view;
LAB_002c1fd4:
        pRVar52->calculated_value_ = uVar39;
LAB_002c1fd6:
        SVar26 = STATUS_OKAY;
      }
      else {
LAB_002c1f30:
        SVar26 = STATUS_OKAY;
        this->calculated_value_ = uVar39;
      }
      break;
    case (Mips_relobj<32,_false> *)0x2b:
    case (Mips_relobj<32,_false> *)0x6b:
    case (Mips_relobj<32,_false> *)0xa3:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_2b:
      pMVar58 = (Mips_got_info<32,_false> *)target->got_;
      if (pMVar58 == (Mips_got_info<32,_false> *)0x0) {
LAB_002c463a:
        Target_mips<32,_false>::got_section((Target_mips<32,_false> *)pMVar58);
        pMVar49 = extraout_RDX_01;
LAB_002c463f:
        Mips_output_data_got<32,_false>::get_got_page_offset
                  ((Mips_output_data_got<32,_false> *)pMVar58,(Mips_address)local_98,pMVar49);
        goto LAB_002c4644;
      }
      if ((Mips_got_info<32,_false> *)(pMVar58->got_page_offsets_)._M_h._M_bucket_count ==
          (Mips_got_info<32,_false> *)0x0) {
        pMVar29 = (Mips_got_info<32,_false> *)(pMVar58->got_page_offsets_)._M_h._M_buckets;
      }
      else {
        pMVar29 = this_00->got_info_;
      }
      if (pMVar29 == (Mips_got_info<32,_false> *)0x0) {
                    /* WARNING: Subroutine does not return */
        gold::do_gold_unreachable("../../gold/mips.cc",0x86a,"tls_ldm_offset");
      }
      local_e4 = pMVar29->tls_ldm_offset_;
      pp_Var56 = (_List_node_base **)(ulong)local_e4;
      uVar39 = Mips_output_data_got<32,_false>::gp_offset
                         ((Mips_output_data_got<32,_false> *)pMVar58,local_e4,this_00);
LAB_002c211b:
      if (this->calculate_only_ != false) goto LAB_002c1fd4;
      uVar40 = *(uint *)view;
      pp_Var56 = (_List_node_base **)(ulong)uVar40;
      pp_Var43 = (_List_node_base **)(ulong)(uVar40 ^ uVar39);
      uVar40 = (uVar40 ^ uVar39) & 0xffff ^ uVar40;
LAB_002c2590:
      *(uint *)view = uVar40;
      SVar26 = (Status)(0xffff < uVar39 + 0x8000);
      break;
    case (Mips_relobj<32,_false> *)0x2c:
    case (Mips_relobj<32,_false> *)0x6c:
    case (Mips_relobj<32,_false> *)0xa4:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_2c:
      uVar40 = *(uint *)view;
      uVar39 = uVar40 & 0xffff;
      if ((char)local_b8 == '\0') {
        uVar39 = local_cc;
      }
      pp_Var56 = (_List_node_base **)this_00;
      uVar39 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar39);
      goto LAB_002c1f79;
    case (Mips_relobj<32,_false> *)0x2d:
    case (Mips_relobj<32,_false> *)0x6d:
    case (Mips_relobj<32,_false> *)0xa5:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_2d:
      uVar40 = *(uint *)view;
      uVar39 = uVar40 & 0xffff;
      if ((char)local_b8 == '\0') {
        uVar39 = local_cc;
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar39);
      uVar39 = VVar23 - 0x8000;
      goto joined_r0x002c1eba;
    case (Mips_relobj<32,_false> *)0x2e:
    case (Mips_relobj<32,_false> *)0x6e:
    case (Mips_relobj<32,_false> *)0xa6:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_2e:
      pMVar60 = (Mips_relobj<32,_false> *)target->got_;
      if (gsym == (Sized_symbol<32> *)0x0) {
        if (pMVar60 == (Mips_relobj<32,_false> *)0x0) {
          Target_mips<32,_false>::got_section((Target_mips<32,_false> *)0x0);
          target = (Target_mips<32,_false> *)local_98;
          goto LAB_002c4670;
        }
        pp_Var43 = (_List_node_base **)(long)(int)local_cc;
        lo16_reloc = _Var51;
        local_e4 = (*(this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                     super_Relobj.super_Object._vptr_Object[0x2c])(this_00,(ulong)_Var51,1);
      }
      else {
        if (pMVar60 == (Mips_relobj<32,_false> *)0x0) goto LAB_002c47a6;
        pp_Var43 = (_List_node_base **)this_00;
        pSVar33 = gsym;
        local_e4 = Mips_output_data_got<32,_false>::got_offset
                             ((Mips_output_data_got<32,_false> *)pMVar60,&gsym->super_Symbol,1,
                              this_00);
        lo16_reloc = (_Rb_tree_color)pSVar33;
      }
      pMVar60 = (Mips_relobj<32,_false> *)target->got_;
      if (pMVar60 != (Mips_relobj<32,_false> *)0x0) goto LAB_002c2030;
      goto LAB_002c47a1;
    case (Mips_relobj<32,_false> *)0x2f:
    case (Mips_relobj<32,_false> *)0x30:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_2f:
      VVar23 = local_cc;
      if ((char)local_b8 != '\0') {
        VVar23 = *(Value *)view;
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);
      uVar39 = VVar23 - 0x7000;
      goto joined_r0x002c327b;
    case (Mips_relobj<32,_false> *)0x31:
    case (Mips_relobj<32,_false> *)0x6f:
    case (Mips_relobj<32,_false> *)0xa9:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_31:
      uVar40 = *(uint *)view;
      uVar39 = uVar40 & 0xffff;
      if ((char)local_b8 == '\0') {
        uVar39 = local_cc;
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar39);
      uVar39 = VVar23 + 0x1000;
LAB_002c1f79:
      uVar39 = uVar39 >> 0x10;
joined_r0x002c1f7e:
      if ((bool)calculate_only == false) {
        SVar26 = STATUS_OKAY;
        *(uint *)view = uVar39 | uVar40 & 0xffff0000;
        break;
      }
      goto LAB_002c1f30;
    case (Mips_relobj<32,_false> *)0x32:
    case (Mips_relobj<32,_false> *)0x70:
    case (Mips_relobj<32,_false> *)0xaa:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_32:
      uVar40 = *(uint *)view;
      uVar39 = uVar40 & 0xffff;
      if ((char)local_b8 == '\0') {
        uVar39 = local_cc;
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,uVar39);
      uVar39 = VVar23 - 0x7000;
joined_r0x002c1eba:
      if ((bool)calculate_only == false) {
LAB_002c1ebf:
        SVar26 = STATUS_OKAY;
        *(uint *)view = (uVar39 ^ uVar40) & 0xffff ^ uVar40;
        break;
      }
      goto LAB_002c1f30;
    case (Mips_relobj<32,_false> *)0x3c:
      local_b8 = (_Bit_type *)0x0;
LAB_002c2f96:
      local_cc = local_b0;
      uVar40 = *(uint *)view;
      pp_Var43 = (_List_node_base **)puVar44;
      if ((char)local_b8 != '\0') {
        uVar39 = uVar40 * 4 & 0x7ffffc;
        pp_Var43 = (_List_node_base **)(ulong)uVar39;
        local_b0 = uVar39 - 0x800000;
        if ((uVar40 * 4 & 0x400000) == 0) {
          local_b0 = uVar39;
        }
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      uVar39 = VVar23 - address >> 2;
      if ((bool)calculate_only != false) goto LAB_002c1f30;
      *(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0x1fffff;
      pp_Var56 = (_List_node_base **)this_00;
      VVar24 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      SVar26 = STATUS_PCREL_UNALIGNED;
      if ((VVar24 & 3) == 0) {
        SVar26 = (Status)(0x7fffff < (VVar23 - address) + 0x400000);
      }
      break;
    case (Mips_relobj<32,_false> *)0x3d:
      local_b8 = (_Bit_type *)0x0;
LAB_002c304d:
      local_cc = local_b0;
      uVar40 = *(uint *)view;
      if ((char)local_b8 != '\0') {
        uVar39 = uVar40 * 4 & 0xffffffc;
        local_b0 = uVar39 + 0xf0000000;
        if ((uVar40 * 4 & 0x8000000) == 0) {
          local_b0 = uVar39;
        }
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      uVar39 = VVar23 - address >> 2;
      if ((bool)calculate_only != false) goto LAB_002c1f30;
      *(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0x3ffffff;
      pp_Var56 = (_List_node_base **)this_00;
      VVar24 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      SVar26 = STATUS_PCREL_UNALIGNED;
      if ((VVar24 & 3) == 0) {
        SVar26 = (Status)(0xfffffff < (VVar23 - address) + 0x8000000);
      }
      break;
    case (Mips_relobj<32,_false> *)0x3e:
      local_b8 = (_Bit_type *)0x0;
LAB_002c3104:
      local_cc = local_b0;
      uVar40 = *(uint *)view;
      if ((char)local_b8 != '\0') {
        uVar39 = uVar40 * 8 & 0x1ffff8;
        local_b0 = uVar39 - 0x200000;
        if ((uVar40 * 8 & 0x100000) == 0) {
          local_b0 = uVar39;
        }
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      uVar41 = VVar23 - (address & 0xfffffff8);
      uVar39 = uVar41 >> 3;
      if ((bool)calculate_only != false) goto LAB_002c1f30;
      *(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0x3ffff;
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      uVar39 = VVar23 & 7;
joined_r0x002c324e:
      SVar26 = STATUS_PCREL_UNALIGNED;
      if (uVar39 == 0) {
        SVar26 = (Status)(0x1fffff < uVar41 + 0x100000);
      }
      break;
    case (Mips_relobj<32,_false> *)0x3f:
      local_b8 = (_Bit_type *)0x0;
LAB_002c31c0:
      local_cc = local_b0;
      uVar40 = *(uint *)view;
      pp_Var43 = (_List_node_base **)puVar44;
      if ((char)local_b8 != '\0') {
        uVar39 = uVar40 * 4 & 0x1ffffc;
        pp_Var43 = (_List_node_base **)(ulong)uVar39;
        local_b0 = uVar39 - 0x200000;
        if ((uVar40 * 4 & 0x100000) == 0) {
          local_b0 = uVar39;
        }
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      uVar41 = VVar23 - address;
      uVar39 = uVar41 >> 2;
      if ((bool)calculate_only == false) {
        *(uint *)view = uVar40 ^ (uVar39 ^ uVar40) & 0x7ffff;
        pp_Var56 = (_List_node_base **)this_00;
        VVar23 = gold::Symbol_value<32>::value<false>
                           (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
        uVar39 = VVar23 & 3;
        goto joined_r0x002c324e;
      }
      goto LAB_002c1f30;
    case (Mips_relobj<32,_false> *)0x40:
      local_b8 = (_Bit_type *)0x0;
switchD_002c18c9_caseD_40:
      if (rel_type == 4) {
        uVar39 = *(uint *)view;
        VVar23 = uVar39 << 0x10;
        if ((char)local_b8 == '\0') {
          VVar23 = local_cc;
        }
        pp_Var56 = (_List_node_base **)this_00;
        VVar23 = gold::Symbol_value<32>::value<false>
                           (psymval,(Sized_relobj_file<32,_false> *)this_00,VVar23);
        uVar40 = (VVar23 - address) + 0x8000 >> 0x10;
        if ((bool)calculate_only != false) goto LAB_002c3c10;
        SVar26 = STATUS_OKAY;
        *(uint *)view = uVar39 & 0xffff0000 | uVar40;
      }
      else {
        if (rel_type != 9) goto LAB_002c4653;
        p_Var30 = (_List_node_base *)operator_new(0x40);
        *(undefined1 *)((long)&p_Var30[3]._M_prev + 4) = 0;
        SVar26 = STATUS_OKAY;
        *(undefined4 *)((long)&p_Var30[2]._M_prev + 4) = 0;
        pp_Var56 = &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs;
        p_Var30[1]._M_next = (_List_node_base *)view;
        p_Var30[1]._M_prev = (_List_node_base *)this_00;
        p_Var30[2]._M_next = (_List_node_base *)psymval;
        *(Value *)&p_Var30[2]._M_prev = local_cc;
        *(_Rb_tree_color *)&p_Var30[3]._M_next = _Var51;
        *(char *)((long)&p_Var30[3]._M_next + 4) = (char)local_b8;
        *(Mips_address *)&p_Var30[3]._M_prev = address;
        std::__detail::_List_node_base::_M_hook
                  (p_Var30,(_List_node_base *)
                           &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs)
        ;
        _DAT_0067dab0 = _DAT_0067dab0 + 1;
      }
      break;
    case (Mips_relobj<32,_false> *)0x41:
      local_b8 = (_Bit_type *)0x0;
LAB_002c330f:
      local_cc = local_b0;
      uVar40 = *(uint *)view;
      pp_Var43 = (_List_node_base **)puVar44;
      if ((char)local_b8 != '\0') {
        pp_Var43 = (_List_node_base **)((ulong)uVar40 & 0xffff);
        local_b0 = (Value)pp_Var43 - 0x10000;
        if ((uVar40 & 0x8000) == 0) {
          local_b0 = (Value)pp_Var43;
        }
      }
      if ((rel_type == 9) &&
         (local_98 = (Mips_relobj<32,_false> *)
                     (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs,
         (anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs !=
         (_List_node_base *)&(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs
         )) {
        do {
          pp_Var43 = (_List_node_base **)(ulong)_Var51;
          if (_Var51 == *(_Rb_tree_color *)&((_List_node_base *)((long)local_98 + 0x30))->_M_next) {
            in_stack_fffffffffffffee8 =
                 (Mips_relobj<32,_false> *)((_List_node_base *)((long)local_98 + 0x10))->_M_next;
            VVar23 = *(Value *)&((_List_node_base *)((long)local_98 + 0x20))->_M_prev;
            in_stack_fffffffffffffef8 =
                 *(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).
                           super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object;
            if (*(char *)((long)&((_List_node_base *)((long)local_98 + 0x30))->_M_next + 4) != '\0')
            {
              VVar23 = local_b0 + in_stack_fffffffffffffef8 * 0x10000;
            }
            iVar25 = *(int *)&((_List_node_base *)((long)local_98 + 0x30))->_M_prev;
            VVar23 = gold::Symbol_value<32>::value<false>
                               ((Symbol_value<32> *)
                                ((_List_node_base *)((long)local_98 + 0x20))->_M_next,
                                (Sized_relobj_file<32,_false> *)
                                ((_List_node_base *)((long)local_98 + 0x10))->_M_prev,VVar23);
            uVar39 = (0x8000 - iVar25) + VVar23 >> 0x10;
            if ((bool)calculate_only == false) {
              *(uint *)&(in_stack_fffffffffffffee8->super_Sized_relobj_file<32,_false>).
                        super_Sized_relobj<32,_false>.super_Relobj.super_Object._vptr_Object =
                   uVar39 | in_stack_fffffffffffffef8 & 0xffff0000;
            }
            else {
              this->calculated_value_ = uVar39;
            }
            p_Var30 = *(_List_node_base **)&local_98->super_Sized_relobj_file<32,_false>;
            _DAT_0067dab0 = _DAT_0067dab0 + -1;
            std::__detail::_List_node_base::_M_unhook((_List_node_base *)local_98);
            operator_delete(local_98);
            local_98 = (Mips_relobj<32,_false> *)p_Var30;
          }
          else {
            local_98 = *(Mips_relobj<32,_false> **)&local_98->super_Sized_relobj_file<32,_false>;
          }
        } while (local_98 !=
                 (Mips_relobj<32,_false> *)
                 &(anonymous_namespace)::Mips_relocate_functions<32,false>::pchi16_relocs);
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      uVar39 = VVar23 - address;
      if ((bool)calculate_only != false) goto LAB_002c1f30;
      SVar26 = STATUS_OKAY;
      *(uint *)view = (uVar39 ^ uVar40) & 0xffff ^ uVar40;
      break;
    case (Mips_relobj<32,_false> *)0x8b:
      local_b8 = (_Bit_type *)0x0;
LAB_002c3385:
      local_cc = local_b0;
      uVar39 = *(uint *)view;
      if ((char)local_b8 != '\0') {
        uVar40 = uVar39 * 2 & 0xff;
        local_b0 = uVar40 - 0x100;
        if ((uVar39 * 2 & 0x80) == 0) {
          local_b0 = uVar40;
        }
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      uVar40 = VVar23 - address >> 1;
      if ((bool)calculate_only == false) {
        *(uint *)view = (uVar40 ^ uVar39) & 0x7f ^ uVar39;
        SVar26 = (Status)(0xff < (VVar23 - address) + 0x80);
      }
      else {
LAB_002c3c10:
        SVar26 = STATUS_OKAY;
        this->calculated_value_ = uVar40;
      }
      break;
    case (Mips_relobj<32,_false> *)0x8c:
      local_b8 = (_Bit_type *)0x0;
LAB_002c328d:
      local_cc = local_b0;
      uVar39 = *(uint *)view;
      if ((char)local_b8 != '\0') {
        uVar40 = uVar39 * 2 & 0x7fe;
        local_b0 = uVar40 - 0x800;
        if ((uVar39 * 2 & 0x400) == 0) {
          local_b0 = uVar40;
        }
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      uVar40 = VVar23 - address >> 1;
      if ((bool)calculate_only != false) goto LAB_002c3c10;
      *(uint *)view = (uVar40 ^ uVar39) & 0x3ff ^ uVar39;
      SVar26 = (Status)(0x7ff < (VVar23 - address) + 0x400);
      break;
    case (Mips_relobj<32,_false> *)0x8d:
      local_b8 = (_Bit_type *)0x0;
LAB_002c33fc:
      local_cc = local_b0;
      uVar39 = *(uint *)view;
      if ((char)local_b8 != '\0') {
        uVar40 = uVar39 * 2 & 0x1fffe;
        local_b0 = uVar40 - 0x20000;
        if ((uVar39 * 2 & 0x10000) == 0) {
          local_b0 = uVar40;
        }
      }
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      uVar40 = VVar23 - address >> 1;
      if ((bool)calculate_only != false) goto LAB_002c3c10;
      *(uint *)view = (uVar40 ^ uVar39) & 0xffff ^ uVar39;
      SVar26 = (Status)(0x1ffff < (VVar23 - address) + 0x10000);
      break;
    case (Mips_relobj<32,_false> *)0xf8:
      local_b8 = (_Bit_type *)0x0;
LAB_002c3260:
      pp_Var56 = (_List_node_base **)this_00;
      VVar23 = gold::Symbol_value<32>::value<false>
                         (psymval,(Sized_relobj_file<32,_false> *)this_00,local_b0);
      uVar39 = VVar23 - address;
      pp_Var43 = (_List_node_base **)puVar44;
joined_r0x002c327b:
      if ((bool)calculate_only == false) goto LAB_002c1fd0;
      goto LAB_002c1f30;
    }
LAB_002c1e60:
    lo16_reloc = (_Rb_tree_color)pp_Var56;
    unaff_R13 = (Mips_symbol<64> *)
                ((long)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_ + 4);
    if (local_d8 == unaff_R13) break;
    lo16_reloc = *(_Rb_tree_color *)&(unaff_R13->super_Sized_symbol<64>).super_Symbol.name_;
    pMVar28 = (Mips_symbol<64> *)(ulong)lo16_reloc;
  }
  local_c8 = (Mips_relobj<32,_false> *)&symval;
  uVar39 = uVar65 - 0x85;
  if (local_f0 < 0xd) {
    lo16_reloc = *(_Rb_tree_color *)view;
    uVar38 = (ushort)(lo16_reloc >> 0x10);
    if (uVar39 < 0x29) {
      if ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) == 0) {
LAB_002c1c8c:
        uVar38 = (ushort)lo16_reloc & 0x7e0 | uVar38 & 0xf800 | (ushort)(lo16_reloc >> 0xb) & 0x1f;
        lo16_reloc = lo16_reloc & 0x1f | lo16_reloc >> 0xb & 0xffffffe0;
      }
    }
    else if (((uVar65 == 0x85 || uVar65 == 100) || uVar65 == 4) || (uVar65 != 100)) {
      if (uVar65 != 100) goto LAB_002c1c8c;
      uVar38 = uVar38 & 0xfc00 | (ushort)(lo16_reloc >> 0xb) & 0x3e0 | uVar38 >> 5 & 0x1f;
    }
LAB_002c19bf:
    *(short *)(view + 2) = (short)lo16_reloc;
    *(ushort *)view = uVar38;
  }
  else if (((uVar39 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar39 & 0x3f) & 1) != 0)) &&
          (1 < uVar65 - 0x8b)) {
    lo16_reloc = *(_Rb_tree_color *)view;
    uVar38 = (ushort)(lo16_reloc >> 0x10);
    goto LAB_002c19bf;
  }
  if (SVar26 == STATUS_OVERFLOW) {
    if (gsym == (Sized_symbol<32> *)0x0) {
      pcVar16 = (this_00->super_Sized_relobj_file<32,_false>).super_Sized_relobj<32,_false>.
                super_Relobj.super_Object.name_._M_dataplus._M_p;
      lo16_reloc = 0x2c3cf7;
      pcVar61 = (char *)gettext("relocation overflow: %u against local symbol %u in %s");
      gold::gold_error_at_location<32,_false>
                (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,(ulong)_Var51,pcVar16);
    }
    else {
      bVar21 = (gsym->super_Symbol).field_0x3a;
      if ((bVar21 & 7) == 0) {
        uVar39 = (gsym->super_Symbol).u2_.shndx;
        if (((gsym->super_Symbol).field_0x3b & 0x20) == 0) {
          bVar67 = gold::Symbol::is_common_shndx(uVar39);
          bVar67 = !bVar67;
        }
        else {
          bVar67 = uVar39 != 0;
        }
      }
      else {
        bVar67 = (bVar21 & 7) != 4;
      }
      if ((bVar67) && (((gsym->super_Symbol).field_0x3a & 7) == 0)) {
        uVar11 = ((gsym->super_Symbol).u1_.output_data)->address_;
        gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);
        _Var19._M_p = local_58._M_dataplus._M_p;
        pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\' defined in %s");
                    /* try { // try from 002c1a5e to 002c1a62 has its CatchHandler @ 002c47ab */
        gold::gold_error_at_location<32,_false>
                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p,uVar11);
        lo16_reloc = (_Rb_tree_color)relnum;
        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;
      }
      else {
        gold::Symbol::demangled_name(&local_58,&gsym->super_Symbol);
        _Var19._M_p = local_58._M_dataplus._M_p;
        pcVar61 = (char *)gettext("relocation overflow: %u against \'%s\'");
                    /* try { // try from 002c2bde to 002c2be2 has its CatchHandler @ 002c47b3 */
        gold::gold_error_at_location<32,_false>
                  (relinfo,relnum,(ulong)uVar7,pcVar61,(ulong)uVar65,_Var19._M_p);
        lo16_reloc = (_Rb_tree_color)relnum;
        if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
             *)local_58._M_dataplus._M_p == &local_58.field_2) goto LAB_002c193c;
      }
      operator_delete(local_58._M_dataplus._M_p);
    }
  }
  else if (SVar26 != STATUS_OKAY) {
    if (SVar26 == STATUS_BAD_RELOC) {
      pcVar61 = "unexpected opcode while processing relocation";
    }
    else {
      if (SVar26 != STATUS_PCREL_UNALIGNED) {
                    /* WARNING: Subroutine does not return */
        gold::do_gold_unreachable("../../gold/mips.cc",0x3035,"relocate");
      }
      pcVar61 = "unaligned PC-relative relocation";
    }
    pcVar61 = (char *)gettext(pcVar61);
    gold::gold_error_at_location<32,_false>(relinfo,relnum,(ulong)uVar7,pcVar61);
    lo16_reloc = (_Rb_tree_color)relnum;
  }
LAB_002c193c:
  gold::Symbol_value<32>::~Symbol_value((Symbol_value<32> *)local_c8,lo16_reloc);
  return true;
}


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

/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

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

{
  byte bVar1;
  ushort uVar2;
  int iVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  long *plVar6;
  int *piVar7;
  ulong uVar8;
  uint *puVar9;
  undefined8 *puVar10;
  char cVar11;
  undefined1 *puVar12;
  byte bVar13;
  byte bVar14;
  char cVar15;
  char cVar16;
  uint uVar17;
  uint uVar18;
  undefined4 uVar19;
  uint uVar20;
  int iVar21;
  undefined8 uVar22;
  undefined8 uVar23;
  ulong uVar24;
  long lVar25;
  long *plVar26;
  long *plVar27;
  long *plVar28;
  long *plVar29;
  ushort uVar30;
  long lVar31;
  int extraout_EDX;
  ulong uVar32;
  uint uVar33;
  ulong *puVar34;
  int iVar35;
  uint uVar36;
  byte *pbVar37;
  byte *pbVar38;
  char *pcVar39;
  long *plVar40;
  undefined8 uVar41;
  byte bVar42;
  uint *unaff_R13;
  ulong uVar43;
  uint uVar44;
  bool bVar45;
  bool bVar46;
  byte bVar47;
  bool bVar48;
  bool bVar49;
  sbyte local_118;
  uint local_108;
  undefined8 *local_100;
  uint local_f0;
  byte local_e8;
  uint local_e4;
  uint *local_d8;
  byte local_cf;
  byte local_ce;
  bool local_cd;
  uint local_cc;
  undefined8 *local_c8;
  int local_bc;
  ulong local_b8;
  uint local_b0;
  undefined8 *local_98;
  uint local_84;
  undefined4 uStack_80;
  undefined4 uStack_7c;
  undefined8 local_78;
  undefined4 local_70;
  uint local_68;
  undefined1 *local_58 [2];
  undefined1 auStack_48 [24];
  
  bVar42 = 0;
  uVar18 = param_7[1];
  uVar32 = (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x14) /
           (ulong)*(uint *)(*(long *)(param_2 + 0x20) + 0x24);
  iVar3 = *param_7;
  uVar44 = uVar18 & 0xff;
  uVar33 = uVar18 >> 8;
  if (param_3 == 4) {
    cVar11 = '\0';
    local_cc = param_7[2];
    local_bc = -1;
    if (param_6 + 1U < uVar32) {
      local_bc = param_7[3];
      cVar11 = (char)param_7[4];
    }
  }
  else if (param_6 + 1U < uVar32) {
    local_cc = 0;
    local_bc = param_7[2];
    cVar11 = (char)param_7[3];
  }
  else {
    cVar11 = '\0';
    local_bc = -1;
    local_cc = 0;
  }
  local_70 = 0x80000000;
  local_68 = 0;
  plVar6 = *(long **)(param_2 + 0x10);
  local_78 = 0xffffffff00000000;
  if (param_8 == (undefined8 *)0x0) {
    if (((ulong)*(uint *)(plVar6 + 0x48) + (plVar6[0x47] - plVar6[0x45]) * 8) -
        (ulong)*(uint *)(plVar6 + 0x46) <= (ulong)uVar33) {
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/mips.cc",0x65f,"local_symbol_is_mips16");
    }
    local_e8 = (byte)(uVar18 >> 8);
    uVar24 = 1L << (local_e8 & 0x3f);
    uVar32 = *(ulong *)(plVar6[0x45] + (ulong)(uVar18 >> 0xe) * 8);
    local_b8 = plVar6[0x4c];
    uVar43 = uVar24 & uVar32;
    bVar47 = uVar43 != 0;
    if (((ulong)*(uint *)(plVar6 + 0x4d) + (local_b8 - plVar6[0x4a]) * 8) -
        (ulong)*(uint *)(plVar6 + 0x4b) <= (ulong)uVar33) {
LAB_002c45d2:
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/mips.cc",0x668,"local_symbol_is_micromips");
    }
    uVar8 = *(ulong *)(plVar6[0x4a] + (ulong)(uVar18 >> 0xe) * 8);
    bVar14 = (uVar24 & uVar8) != 0;
    local_cd = ((uVar32 | uVar8) & uVar24) != 0;
    if (local_cd) {
                    /* try { // try from 002c2e1b to 002c47aa has its CatchHandler @ 002c47bb */
      local_68 = FUN_001a5ac0(param_9,plVar6,1);
      param_9 = &local_78;
    }
    if (uVar44 == 100) {
      plVar27 = (long *)plVar6[0x69];
      plVar40 = plVar6 + 0x68;
      plVar29 = plVar27;
      plVar28 = plVar40;
      if (plVar27 == (long *)0x0) goto LAB_002c1c10;
      do {
        if (*(uint *)(plVar29 + 4) < uVar33) {
          plVar26 = (long *)plVar29[3];
        }
        else {
          plVar26 = (long *)plVar29[2];
          plVar28 = plVar29;
        }
        plVar29 = plVar26;
      } while (plVar26 != (long *)0x0);
      if (((plVar40 == plVar28) || (uVar33 < *(uint *)(plVar28 + 4))) || (plVar28[5] == 0))
      goto LAB_002c1c10;
      plVar29 = plVar40;
      if (uVar43 != 0) {
        bVar47 = true;
        goto LAB_002c1c10;
      }
      do {
        plVar28 = plVar27;
        if (*(uint *)(plVar28 + 4) < uVar33) {
          plVar27 = (long *)plVar28[3];
          plVar28 = plVar29;
        }
        else {
          plVar27 = (long *)plVar28[2];
        }
        plVar29 = plVar28;
      } while (plVar27 != (long *)0x0);
      lVar31 = 0;
      if ((plVar40 != plVar28) && (*(uint *)(plVar28 + 4) <= uVar33)) {
        lVar31 = plVar28[5];
      }
      bVar47 = 0;
      cVar15 = '\0';
      goto LAB_002c1d90;
    }
    plVar40 = (long *)plVar6[99];
    plVar27 = plVar6 + 0x62;
    if ((long *)plVar6[99] != (long *)0x0) {
      do {
        while (plVar29 = plVar40, *(uint *)(plVar29 + 4) < uVar33) {
          plVar28 = plVar29 + 3;
          plVar40 = (long *)*plVar28;
          plVar29 = plVar27;
          if ((long *)*plVar28 == (long *)0x0) goto LAB_002c2b6a;
        }
        plVar40 = (long *)plVar29[2];
        plVar27 = plVar29;
      } while ((long *)plVar29[2] != (long *)0x0);
LAB_002c2b6a:
      if (((plVar6 + 0x62 == plVar29) || (uVar33 < *(uint *)(plVar29 + 4))) ||
         (cVar15 = '\0', plVar29[5] == 0)) goto LAB_002c1c10;
      goto LAB_002c15fe;
    }
LAB_002c1c10:
    cVar15 = '\0';
LAB_002c1c17:
    bVar45 = uVar44 == 100;
LAB_002c13a0:
    bVar42 = bVar14 & bVar45;
    bVar48 = (bool)bVar42;
    if ((bool)bVar42 == false) {
LAB_002c13ac:
      bVar48 = bVar45;
      if ((uVar18 & 0xf7) == 0x85) {
LAB_002c1870:
        bVar42 = bVar14;
        if (bVar47 != 0) goto LAB_002c187c;
      }
      else {
LAB_002c13c4:
        if (uVar44 - 0x8b < 2) goto LAB_002c1870;
      }
    }
    else {
LAB_002c187c:
      uVar22 = gettext("MIPS16 and microMIPS functions cannot call each other");
      FUN_0034a750(uVar22);
      bVar14 = bVar42;
    }
LAB_002c13d7:
    if (param_8 != (undefined8 *)0x0) goto LAB_002c16b8;
    local_cf = (bVar47 ^ 1) & bVar48;
    local_ce = local_cf;
    if (local_cf != 0) goto LAB_002c1402;
    local_cf = (bVar14 ^ 1) & uVar44 == 0x85;
    if (local_cf == 0) goto LAB_002c1bcf;
    local_84 = 0x85;
    uStack_80 = 0;
    uStack_7c = 0;
    local_f0 = 0x21;
    local_b8 = (ulong)(param_3 == 9);
    local_ce = local_cf;
LAB_002c1d4a:
    if (1 < local_84 - 0x8b) {
      uVar17 = (uint)(ushort)*param_10;
      uVar18 = (uint)*(ushort *)((long)param_10 + 2);
LAB_002c1462:
      uVar18 = uVar17 << 0x10 | uVar18;
LAB_002c1467:
      *(uint *)param_10 = uVar18;
    }
  }
  else {
    bVar14 = *(byte *)((long)param_8 + 0x39) >> 2;
    bVar47 = (bVar14 & 0x3c) == 0x3c;
    bVar14 = (bVar14 & 0x30) == 0x20;
    local_cd = (bool)bVar47 || (bool)bVar14;
    if (((bool)bVar47 || (bool)bVar14) && (iVar35 = FUN_001a5ac0(param_9,plVar6,0), iVar35 != 0)) {
      local_68 = FUN_001a5ac0(param_9,plVar6,0);
      local_68 = local_68 | 1;
      param_9 = &local_78;
    }
    else {
      local_cd = false;
    }
    local_c8 = &local_78;
    iVar35 = 0;
    if (uVar44 - 1 < 0xf9) {
      iVar35 = (int)(char)(&DAT_0055e3e0)[uVar44 - 1];
    }
                    /* try { // try from 002c11cb to 002c1a28 has its CatchHandler @ 002c47bb */
    cVar15 = FUN_00228fa0(param_8,iVar35);
    if (cVar15 == '\0') {
      bVar45 = false;
      bVar48 = *(char *)((long)param_8 + 0x65) == '\0';
      if (!bVar48) {
LAB_002c11e1:
        lVar31 = *(long *)(param_4 + 0xb8);
        if (lVar31 == 0) {
          FUN_002908e0();
LAB_002c4653:
                    /* WARNING: Subroutine does not return */
          FUN_00352af0("../../gold/mips.cc",0x2eda,"relocate");
        }
        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_00291e90();
        }
        bVar45 = CARRY4(*(uint *)((long)param_8 + 0x54),*(uint *)(lVar31 + 8));
        uVar17 = *(uint *)((long)param_8 + 0x54) + *(uint *)(lVar31 + 8);
        bVar48 = uVar17 == 0;
        bVar13 = bVar47;
        goto LAB_002c1209;
      }
    }
    else {
      if (*(char *)((long)param_8 + 0x65) != '\0') goto LAB_002c11e1;
      lVar31 = *(long *)(param_4 + 0x30);
      if (*(int *)(param_8 + 0xd) == -1) {
        if (lVar31 == 0) {
          FUN_00290920();
          goto LAB_002c45d2;
        }
        if (*(int *)((long)param_8 + 0x6c) == -1) {
                    /* WARNING: Subroutine does not return */
          FUN_00352af0("../../gold/mips.cc",0x9ed,"comp_entry_address");
        }
        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {
LAB_002c45b0:
                    /* WARNING: Subroutine does not return */
          FUN_00291e90();
        }
        bVar1 = *(byte *)(param_4 + 0x14);
        uVar17 = *(int *)((long)param_8 + 0x6c) + 1 +
                 *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);
        if (bVar1 == 0) {
          FUN_00290d40();
          goto LAB_002c45b0;
        }
        local_b8 = (ulong)*(uint *)(param_4 + 0x10);
        bVar45 = false;
        bVar48 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;
        bVar13 = bVar1;
        if (!bVar48) {
          bVar13 = bVar47;
          bVar14 = bVar1;
        }
      }
      else {
        if (lVar31 == 0) {
LAB_002c4644:
          FUN_00290920();
LAB_002c4649:
                    /* WARNING: Subroutine does not return */
          FUN_00291e90();
        }
        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c4649;
        uVar17 = *(int *)(param_8 + 0xd) + *(int *)(lVar31 + 8) + *(int *)(lVar31 + 0x68);
        bVar45 = false;
        bVar48 = true;
        bVar13 = 0;
        bVar14 = 0;
      }
LAB_002c1209:
      bVar47 = bVar13;
      local_68 = uVar17;
      param_9 = local_c8;
    }
    lVar31 = 9;
    pbVar37 = (byte *)*param_8;
    pbVar38 = (byte *)"_gp_disp";
    do {
      if (lVar31 == 0) break;
      lVar31 = lVar31 + -1;
      bVar45 = *pbVar37 < *pbVar38;
      bVar48 = *pbVar37 == *pbVar38;
      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;
      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;
    } while (bVar48);
    lVar31 = 0xf;
    bVar48 = !bVar45 && !bVar48;
    bVar46 = bVar48 < bVar45;
    bVar49 = bVar48 == bVar45;
    pbVar37 = (byte *)*param_8;
    pbVar38 = (byte *)"__gnu_local_gp";
    do {
      if (lVar31 == 0) break;
      lVar31 = lVar31 + -1;
      bVar46 = *pbVar37 < *pbVar38;
      bVar49 = *pbVar37 == *pbVar38;
      pbVar37 = pbVar37 + (ulong)bVar42 * -2 + 1;
      pbVar38 = pbVar38 + (ulong)bVar42 * -2 + 1;
    } while (bVar49);
    if (bVar48 != bVar45) {
      if ((!bVar46 && !bVar49) == bVar46) {
LAB_002c1750:
        if (*(long *)(param_4 + 0x28) == 0) {
          local_68 = 0;
        }
        else {
          local_68 = *(uint *)(*(long *)(param_4 + 0x28) + 0x40);
          if (((*(long *)(param_4 + 0x20) != 0) &&
              (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {
            local_68 = local_68 + *(int *)(plVar6[0x6e] + 0x10c);
          }
        }
        param_9 = local_c8;
      }
LAB_002c15d8:
      cVar15 = '\0';
      if (uVar44 != 100) goto LAB_002c15e9;
LAB_002c12e3:
      lVar25 = param_8[0xf];
      if (lVar25 == 0) {
        if ((param_8[0x10] == 0) || ((*(int *)((long)param_8 + 0x24) == -1 && (bVar47 != 0))))
        goto LAB_002c1304;
        lVar31 = param_8[0x10];
LAB_002c1d90:
        local_c8 = &local_78;
        local_68 = FUN_00298370(lVar31,lVar31 + 8);
        param_9 = local_c8;
        bVar45 = true;
        local_cd = true;
        goto LAB_002c13a0;
      }
      if ((*(int *)((long)param_8 + 0x24) != -1) || (bVar47 == 0)) {
        lVar31 = lVar25;
        if ((param_8[0x10] != 0) && (1 < *(uint *)(plVar6 + 7))) {
          uVar32 = ((ulong)*(uint *)(plVar6 + 0x7c) + (plVar6[0x7b] - plVar6[0x79]) * 8) -
                   (ulong)*(uint *)(plVar6 + 0x7a);
          if (1 < uVar32) {
            uVar24 = 1;
            do {
              lVar31 = param_8[0x10];
              if (((*(ulong *)(plVar6[0x79] + (uVar24 >> 6) * 8) & 1L << ((byte)uVar24 & 0x3f)) != 0
                  ) || (lVar31 = lVar25, uVar24 == (ulong)(*(uint *)(plVar6 + 7) - 2) + 1))
              goto LAB_002c1d90;
              uVar24 = uVar24 + 1;
            } while (uVar24 != uVar32);
          }
                    /* WARNING: Subroutine does not return */
          FUN_00352af0("../../gold/mips.cc",0x723,"is_mips16_call_fp_stub_section");
        }
        goto LAB_002c1d90;
      }
LAB_002c1304:
      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;
      bVar45 = true;
LAB_002c1320:
      local_c8 = &local_78;
      if (((*(int *)((long)param_8 + 0x24) != -1) && (*(int *)((long)param_8 + 0x6c) != -1)) &&
         (*(int *)(param_8 + 0xd) != -1)) {
        lVar31 = *(long *)(param_4 + 0x30);
        if (lVar31 == 0) {
          FUN_00290920();
LAB_002c46ec:
                    /* WARNING: Subroutine does not return */
          FUN_00352af0("../../gold/mips.cc",0x2e88,"relocate");
        }
        if ((*(byte *)(lVar31 + 0x20) & 1) == 0) goto LAB_002c46e2;
        local_68 = *(int *)((long)param_8 + 0x6c) + 1 +
                   *(int *)(lVar31 + 0x68) + *(int *)(lVar31 + 0x60) + *(int *)(lVar31 + 8);
        if (*(char *)(param_4 + 0x14) == '\0') {
LAB_002c46dd:
          FUN_00290d40();
LAB_002c46e2:
                    /* WARNING: Subroutine does not return */
          FUN_00291e90();
        }
        param_9 = local_c8;
        bVar47 = (*(uint *)(param_4 + 0x10) & 0x2000000) == 0;
        bVar14 = !(bool)bVar47;
      }
      goto LAB_002c13a0;
    }
    local_b8 = (ulong)*(byte *)((long)plVar6 + 0x36c);
    bVar42 = *(byte *)((long)plVar6 + 0x36c) >> 1 & 1 ^ 1;
    if ((!bVar46 && !bVar49) == bVar46) {
      if (bVar42 == 0) goto LAB_002c1750;
    }
    else if (bVar42 == 0) goto LAB_002c15d8;
    if ((((1 < uVar44 - 0x68) && (1 < uVar44 - 5)) && (1 < uVar44 - 0x86)) && (1 < uVar44 - 0x40)) {
      uVar22 = gettext(
                      "relocations against _gp_disp are permitted only with R_MIPS_HI16 and R_MIPS_LO16 relocations."
                      );
      FUN_0034ad90(param_2,param_6,iVar3,uVar22);
    }
    cVar15 = '\x01';
    if (uVar44 == 100) goto LAB_002c12e3;
LAB_002c15e9:
    if (param_8[0xe] == 0) {
LAB_002c17b9:
      if (*(int *)((long)param_8 + 0x4c) == -1) {
LAB_002c1848:
        bVar45 = uVar44 == 100;
        if (uVar44 == 0x85 || bVar45) goto LAB_002c1320;
        bVar45 = false;
        goto LAB_002c13ac;
      }
LAB_002c17c6:
      local_c8 = &local_78;
      if (((*(byte *)((long)plVar6 + 0x36c) & 1) != 0) ||
         (cVar16 = FUN_00290610(uVar44,bVar47), cVar16 == '\0')) goto LAB_002c1848;
      lVar31 = *(long *)(param_4 + 0x98);
      if (lVar31 == 0) {
        FUN_00290900();
        goto LAB_002c46aa;
      }
      if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {
                    /* WARNING: Subroutine does not return */
        FUN_00291e90();
      }
      param_9 = local_c8;
      local_68 = extraout_EDX + *(int *)(lVar31 + 8) +
                 (uint)((*(byte *)((long)param_8 + 0x39) >> 2 & 0x30) == 0x20);
      bVar42 = bVar14 & uVar44 == 100;
      bVar48 = (bool)bVar42;
      bVar45 = uVar44 == 100;
      if ((bool)bVar42 == false) goto LAB_002c13ac;
      goto LAB_002c187c;
    }
    if ((uVar44 == 0x67) && (*(char *)(param_8 + 9) == '\0')) {
      if (*(int *)((long)param_8 + 0x4c) != -1) goto LAB_002c17c6;
      bVar45 = false;
      goto LAB_002c13ac;
    }
LAB_002c15fe:
    local_c8 = &local_78;
    uVar17 = *(uint *)(param_2 + 0x30);
    unaff_R13 = (uint *)(ulong)uVar17;
    cVar16 = FUN_002972f0(plVar6,unaff_R13);
    if ((cVar16 != '\0') || (uVar17 == *(uint *)(plVar6 + 0x7e))) {
      if (param_8 == (undefined8 *)0x0) goto LAB_002c1c17;
      goto LAB_002c17b9;
    }
    if (param_8 == (undefined8 *)0x0) {
      plVar40 = (long *)plVar6[99];
      plVar27 = plVar6 + 0x62;
      if (plVar40 != (long *)0x0) {
        do {
          plVar29 = plVar40;
          if (*(uint *)(plVar29 + 4) < uVar33) {
            plVar40 = (long *)plVar29[3];
            plVar29 = plVar27;
          }
          else {
            plVar40 = (long *)plVar29[2];
          }
          plVar27 = plVar29;
        } while (plVar40 != (long *)0x0);
        plVar40 = (long *)0x0;
        if ((plVar6 + 0x62 != plVar29) && (*(uint *)(plVar29 + 4) <= uVar33)) {
          plVar40 = (long *)plVar29[5];
        }
      }
LAB_002c3d91:
      local_68 = FUN_00298370(plVar40,plVar40 + 1);
      bVar48 = uVar44 == 100;
      bVar47 = 0;
      if ((uVar18 & 0xf7) != 0x85) {
        local_cd = true;
        param_9 = local_c8;
        goto LAB_002c13c4;
      }
      param_9 = local_c8;
      local_cd = true;
      goto LAB_002c13d7;
    }
    if (*(char *)(param_8 + 9) == '\0') {
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/mips.cc",0x2d5f,"relocate");
    }
    if (*(int *)((long)param_8 + 0x4c) == -1) {
      plVar40 = (long *)param_8[0xe];
      goto LAB_002c3d91;
    }
    lVar31 = *(long *)(param_4 + 0x98);
    if (lVar31 == 0) {
      FUN_00290900();
LAB_002c46d8:
      FUN_00290940();
      goto LAB_002c46dd;
    }
    local_cd = (bool)(*(byte *)(lVar31 + 0x20) & 1);
    if ((*(byte *)(lVar31 + 0x20) & 1) == 0) {
LAB_002c4670:
                    /* WARNING: Subroutine does not return */
      FUN_00291e90();
    }
    bVar48 = uVar44 == 100;
    local_68 = *(int *)((long)param_8 + 0x4c) + *(int *)(lVar31 + 8);
    bVar47 = 0;
    if ((uVar18 & 0xf7) != 0x85) {
      param_9 = local_c8;
      goto LAB_002c13c4;
    }
    param_9 = local_c8;
LAB_002c16b8:
    cVar16 = FUN_002e7200(param_8);
    if (cVar16 == '\0') {
      local_cf = (bVar47 ^ 1) & bVar48;
      if ((local_cf == 0) && (local_cf = (bVar14 ^ 1) & uVar44 == 0x85, local_cf == 0)) {
LAB_002c1bcf:
        local_cf = uVar44 == 4 || uVar44 == 0x25;
        if (uVar44 == 4 || uVar44 == 0x25) {
          local_cf = bVar14 | bVar47;
        }
        if (param_8 == (undefined8 *)0x0) {
          local_ce = 1;
          goto LAB_002c1402;
        }
      }
    }
    else {
      local_cf = 0;
    }
    if (*(char *)((long)param_8 + 100) != '\0') {
      local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);
      if ((local_ce == 0) &&
         (local_ce = uVar44 == 0x92 || uVar44 == 0x14, uVar44 == 0x92 || uVar44 == 0x14))
      goto LAB_002c1ab9;
LAB_002c1402:
      local_f0 = uVar44 - 100;
      uVar32 = (ulong)(uVar44 - 0x85);
      local_b8 = (ulong)(param_3 == 9);
      uStack_80 = 0;
      uStack_7c = 0;
      if (0xc < local_f0) goto LAB_002c1b2f;
      uVar30 = (ushort)*param_10;
      uVar17 = (uint)uVar30;
      uVar2 = *(ushort *)((long)param_10 + 2);
      uVar18 = (uint)uVar2;
      local_84 = uVar44;
      if (uVar44 - 0x85 < 0x29) {
        if ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) == 0) goto LAB_002c1c3c;
        goto LAB_002c1462;
      }
      if (uVar44 == 100) {
        local_f0 = 0;
        uVar18 = (uint)uVar2;
        goto LAB_002c1462;
      }
LAB_002c1c3c:
      uVar18 = (uint)(uVar30 & 0x7e0) | uVar2 & 0x1f |
               (uVar30 & 0xf800) << 0x10 | (uVar2 & 0xffe0) << 0xb |
               (uint)(((ulong)uVar30 & 0x1f) << 0xb);
      goto LAB_002c1467;
    }
                    /* try { // try from 002c1a85 to 002c2bae has its CatchHandler @ 002c47bb */
    local_ce = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,0);
    if ((local_ce != 0) ||
       (local_ce = uVar44 == 0x14 || uVar44 == 0x92, uVar44 != 0x14 && uVar44 != 0x92))
    goto LAB_002c1402;
LAB_002c1ab9:
    if (uVar44 - 0x85 < 0x29) {
      uVar24 = 1L << ((byte)(uVar44 - 0x85) & 0x3f) & 0x1b3e1fff3ff;
      uVar32 = (ulong)((-(uint)(uVar24 == 0) & 0xffffff82) + 0xc);
      local_f0 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x2d;
      uVar44 = (-(uint)(uVar24 == 0) & 0xffffff82) + 0x91;
    }
    else {
      uVar32 = 0xffffff8e;
      uVar44 = 0x13;
      local_f0 = 0xffffffaf;
    }
    uStack_80 = 0;
    uStack_7c = 0;
    local_ce = 0;
    local_b8 = (ulong)(param_3 == 9);
LAB_002c1b2f:
    local_84 = uVar44;
    if (((uint)uVar32 < 0x29) && ((0x1b3e1fff3ffU >> (uVar32 & 0x3f) & 1) != 0)) goto LAB_002c1d4a;
  }
  uStack_80 = 0;
  uStack_7c = 0;
  unaff_R13 = &local_84;
  uVar17 = 0;
  local_e4 = 0;
  local_d8 = (uint *)&local_78;
  uVar44 = local_84;
  uVar18 = local_84;
  while (local_c8 = &local_78, uVar18 != 0) {
    bVar45 = local_bc == iVar3;
    bVar48 = cVar11 != '\0';
    bVar14 = bVar45 && bVar48;
    puVar34 = param_1;
    if (*(char *)((long)param_1 + 4) == '\0') {
      *(byte *)((long)param_1 + 4) = bVar14;
      switch(uVar18) {
      default:
        goto switchD_002c18c9_caseD_0;
      case 1:
        uVar30 = (ushort)*param_10;
        if ((char)local_b8 == '\0') {
LAB_002c46aa:
          local_b0 = local_cc;
        }
        else {
          local_b0 = (uint)uVar30;
          if ((short)uVar30 < 0) {
            local_b0 = uVar30 - 0x10000;
          }
        }
        goto LAB_002c359b;
      case 2:
        goto switchD_002c18c9_caseD_2;
      case 3:
        goto switchD_002c14fa_caseD_3;
      case 4:
      case 100:
      case 0x85:
        bVar42 = (!bVar45 || !bVar48) & local_cf;
        local_b0 = local_cc;
        uVar17 = (uint)*param_10;
        if ((char)local_b8 == '\0') {
LAB_002c38d3:
          if (bVar42 == 0) {
LAB_002c38db:
            bVar46 = param_8 == (undefined8 *)0x0;
            if ((local_cf == 1) || (uVar18 != 0x85)) goto LAB_002c34d9;
            if (bVar46) {
              local_118 = 1;
              uVar36 = 0xf8000000;
              goto LAB_002c34f1;
            }
            local_118 = 1;
            uVar36 = local_b0 & 0x7ffffff;
            if ((local_b0 & 0x4000000) != 0) {
              uVar36 = (local_b0 & 0x7ffffff) + 0xf8000000;
            }
            goto LAB_002c3505;
          }
LAB_002c40ff:
          bVar42 = FUN_001a5ac0(param_9,plVar6,0);
          if ((bool)(bVar42 & 3) == (uVar18 == 4)) goto LAB_002c38db;
          uVar22 = gettext("JALX to a non-word-aligned address");
          FUN_0034a800(uVar22);
LAB_002c413e:
          uVar17 = 2;
        }
        else {
          if (uVar18 == 0x85) {
            local_b0 = uVar17 * 2 & 0x7fffffe;
            goto LAB_002c38d3;
          }
          local_b0 = (uVar17 & 0x3ffffff) << 2;
          if (bVar42 != 0) {
            local_b8 = (ulong)bVar42;
            goto LAB_002c40ff;
          }
LAB_002c34d9:
          bVar46 = param_8 == (undefined8 *)0x0;
          if (bVar46) {
            local_118 = 2;
            uVar36 = 0xf0000000;
LAB_002c34f1:
            bVar46 = true;
            uVar36 = param_11 + 4 & uVar36 | local_b0;
          }
          else {
            local_118 = 2;
            uVar36 = local_b0 & 0xfffffff;
            if ((local_b0 & 0x8000000) != 0) {
              uVar36 = (local_b0 & 0xfffffff) + 0xf0000000;
            }
          }
LAB_002c3505:
          uVar36 = FUN_001a5ac0(param_9,plVar6,uVar36);
          if ((((!bVar45 || !bVar48) && (!bVar46)) &&
              (cVar16 = FUN_002e7200(param_8), cVar16 == '\0')) &&
             ((uVar36 >> local_118) >> 0x1a != param_11 + 4 >> (local_118 + 0x1aU & 0x1f))) {
LAB_002c3567:
            uVar17 = 1;
            goto LAB_002c1e60;
          }
          uVar36 = uVar17 ^ (uVar36 >> local_118 ^ uVar17) & 0x3ffffff;
          if (local_cf != 0) {
            uVar17 = uVar17 >> 0x1a;
            if (uVar18 == 100) {
              iVar35 = 7;
              bVar46 = uVar17 - 6 < 2;
            }
            else if (uVar18 == 0x85) {
              iVar35 = 0x3c;
              bVar46 = uVar17 - 0x3c < 2;
            }
            else {
              bVar46 = uVar17 == 3 || uVar17 == 0x1d;
              iVar35 = 0x1d;
            }
            if ((!bVar45 || !bVar48) && (!bVar46)) {
              uVar22 = gettext(
                              "Unsupported jump between ISA modes; consider recompiling with interlinking enabled."
                              );
              FUN_0034a750(uVar22);
              goto LAB_002c413e;
            }
            uVar36 = uVar36 & 0x3ffffff | iVar35 << 0x1a;
          }
          if (*(long *)(PTR_DAT_0067cb08 + 0x10) == 0) {
LAB_002c4770:
                    /* WARNING: Subroutine does not return */
            FUN_002932f0();
          }
          if (bVar45 && bVar48) {
            uVar17 = 0;
            *(uint *)param_1 = uVar36;
          }
          else {
            uVar17 = 0;
            *(uint *)param_10 = uVar36;
          }
        }
        goto LAB_002c1e60;
      case 5:
      case 0x68:
      case 0x86:
        goto switchD_002c18c9_caseD_5;
      case 6:
      case 0x69:
      case 0x87:
      case 0x9d:
        local_b0 = local_cc;
        local_108 = (uint)*param_10;
        if ((char)local_b8 != '\0') {
          local_b0 = (local_108 & 0xffff) - 0x10000;
          if ((local_108 & 0x8000) == 0) {
            local_b0 = local_108 & 0xffff;
          }
        }
        goto LAB_002c3615;
      case 7:
      case 8:
      case 0x65:
      case 0x88:
      case 0x89:
      case 0xac:
        local_b0 = local_cc;
        lVar31 = *(long *)(param_4 + 0x28);
        if (lVar31 != 0) goto LAB_002c370d;
        iVar35 = 0;
LAB_002c3751:
        uVar17 = (uint)*param_10;
        local_cc = local_b0;
        if ((char)local_b8 != '\0') {
          if (uVar18 == 0xac) {
            local_b0 = uVar17 * 4 & 0x1fc;
          }
          else {
            local_b0 = (uVar17 & 0xffff) - 0x10000;
            if ((uVar17 & 0x8000) == 0) {
              local_b0 = uVar17 & 0xffff;
            }
          }
        }
        goto LAB_002c378b;
      case 9:
      case 0x66:
      case 0x8a:
        goto switchD_002c18c9_caseD_9;
      case 10:
        local_b0 = local_cc;
        goto LAB_002c2e45;
      case 0xb:
      case 0x67:
      case 0x8e:
        goto switchD_002c18c9_caseD_b;
      case 0xc:
        goto switchD_002c18c9_caseD_c;
      case 0x12:
        goto switchD_002c18c9_caseD_12;
      case 0x13:
      case 0x91:
      case 0xf9:
        goto switchD_002c18c9_caseD_13;
      case 0x14:
      case 0x92:
        goto switchD_002c18c9_caseD_14;
      case 0x15:
      case 0x93:
        goto switchD_002c18c9_caseD_15;
      case 0x16:
      case 0x1e:
      case 0x94:
      case 0x99:
        goto switchD_002c18c9_caseD_16;
      case 0x17:
      case 0x1f:
      case 0x95:
      case 0x9a:
        goto switchD_002c18c9_caseD_17;
      case 0x18:
      case 0x96:
        local_b0 = local_cc;
        if ((char)local_b8 != '\0') {
          local_b0 = (uint)*param_10;
        }
        goto LAB_002c2efa;
      case 0x1c:
      case 0x97:
        local_b0 = local_cc;
        goto LAB_002c1ed8;
      case 0x1d:
      case 0x98:
        local_b0 = local_cc;
        goto LAB_002c2f32;
      case 0x25:
      case 0x9c:
        goto switchD_002c18c9_caseD_25;
      case 0x27:
      case 0x29:
        goto switchD_002c18c9_caseD_27;
      case 0x2a:
      case 0x6a:
      case 0xa2:
        goto switchD_002c18c9_caseD_2a;
      case 0x2b:
      case 0x6b:
      case 0xa3:
        goto switchD_002c18c9_caseD_2b;
      case 0x2c:
      case 0x6c:
      case 0xa4:
        goto switchD_002c18c9_caseD_2c;
      case 0x2d:
      case 0x6d:
      case 0xa5:
        goto switchD_002c18c9_caseD_2d;
      case 0x2e:
      case 0x6e:
      case 0xa6:
        goto switchD_002c18c9_caseD_2e;
      case 0x2f:
      case 0x30:
        goto switchD_002c18c9_caseD_2f;
      case 0x31:
      case 0x6f:
      case 0xa9:
        goto switchD_002c18c9_caseD_31;
      case 0x32:
      case 0x70:
      case 0xaa:
        goto switchD_002c18c9_caseD_32;
      case 0x3c:
        local_b0 = local_cc;
        goto LAB_002c2f96;
      case 0x3d:
        local_b0 = local_cc;
        goto LAB_002c304d;
      case 0x3e:
        local_b0 = local_cc;
        goto LAB_002c3104;
      case 0x3f:
        local_b0 = local_cc;
        goto LAB_002c31c0;
      case 0x40:
        goto switchD_002c18c9_caseD_40;
      case 0x41:
        local_b0 = local_cc;
        goto LAB_002c330f;
      case 0x8b:
        local_b0 = local_cc;
        goto LAB_002c3385;
      case 0x8c:
        local_b0 = local_cc;
        goto LAB_002c328d;
      case 0x8d:
        local_b0 = local_cc;
        goto LAB_002c33fc;
      case 0xf8:
        local_b0 = local_cc;
        if ((char)local_b8 != '\0') {
          local_b0 = (uint)*param_10;
        }
        goto LAB_002c3260;
      }
    }
    local_cc = (uint)*param_1;
    *(byte *)((long)param_1 + 4) = bVar14;
    local_b0 = local_cc;
    switch(uVar18) {
    default:
      local_b8 = 0;
switchD_002c18c9_caseD_0:
      uVar22 = gettext("unsupported reloc %u");
      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar18);
      break;
    case 1:
      local_b8 = 0;
      local_b0 = local_cc;
LAB_002c359b:
      uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);
      if (bVar14 != 0) goto LAB_002c1f30;
      *(ushort *)param_10 = (ushort)uVar36;
      uVar17 = (uint)(0xffff < uVar36 + 0x8000);
      break;
    case 2:
      local_b8 = 0;
switchD_002c18c9_caseD_2:
      cVar16 = FUN_0029fae0(param_8,2,param_5,param_4);
      if (cVar16 != '\0') {
        cVar16 = *(char *)((long)param_1 + 4);
        uVar18 = local_cc;
        if ((char)local_b8 != '\0') {
          uVar18 = (uint)*param_10;
        }
        uVar18 = FUN_001a5ac0(param_9,plVar6,uVar18);
        if (cVar16 == '\0') {
          uVar17 = 0;
          *(uint *)param_10 = uVar18;
        }
        else {
          uVar17 = 0;
          *(uint *)param_1 = uVar18;
        }
      }
      if (((param_8 != (undefined8 *)0x0) &&
          ((bVar42 = *(byte *)((long)param_8 + 0x39) >> 2, (bVar42 & 0x3c) == 0x3c ||
           ((bVar42 & 0x30) == 0x20)))) && (*(int *)((long)param_8 + 0x5c) == 1)) {
        lVar31 = param_8[0xe];
        if (lVar31 != 0) {
          if (*(char *)(param_8 + 9) == '\0') goto LAB_002c473f;
          local_68 = FUN_00298370(lVar31,lVar31 + 8);
          param_9 = local_c8;
        }
        local_e4 = *(uint *)(param_8 + 0xc);
        puVar34 = *(ulong **)(param_4 + 0x20);
        if (puVar34 == (ulong *)0x0) {
          do {
            uVar18 = FUN_00290940();
LAB_002c2940:
            *(uint *)puVar34 = uVar18;
            uVar17 = 0;
LAB_002c2945:
            if (local_cd == false) goto LAB_002c1e60;
            puVar34 = *(ulong **)(param_4 + 0x20);
          } while (puVar34 == (ulong *)0x0);
          if (param_8 != (undefined8 *)0x0) goto LAB_002c2967;
        }
        else {
LAB_002c2967:
          if (*(char *)(param_8 + 0x11) != '\0') {
            uVar19 = FUN_001a5ac0(param_9,plVar6,0);
            if (*(int *)((long)param_8 + 0x5c) == 2) {
LAB_002c461d:
                    /* WARNING: Subroutine does not return */
              FUN_00352af0("../../gold/mips.cc",0x895,"get_primary_got_offset");
            }
            piVar7 = (int *)puVar34[0x1a];
            if (piVar7 == (int *)0x0) {
              iVar35 = ((int *)puVar34[0x19])[1] + *(int *)puVar34[0x19];
            }
            else {
              iVar35 = piVar7[1] + *piVar7;
            }
            if (*(int *)(param_8 + 4) == 0) {
              FUN_00290e30();
              goto LAB_002c461d;
            }
            *(undefined4 *)
             (puVar34[0x17] +
             (ulong)(((*(int *)(param_8 + 4) - (uint)puVar34[0x18]) + iVar35 + 2) * 0x20 >> 3)) =
                 uVar19;
            break;
          }
        }
        uVar19 = FUN_001a5ac0(param_9,plVar6,0);
        *(undefined4 *)(puVar34[0x17] + (ulong)local_e4) = uVar19;
      }
      break;
    case 3:
switchD_002c14fa_caseD_3:
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/mips.cc",0x2e62,"relocate");
    case 4:
    case 100:
    case 0x85:
      local_b8 = 0;
      bVar42 = (!bVar45 || !bVar48) & local_cf;
      uVar17 = (uint)*param_10;
      goto LAB_002c38d3;
    case 5:
    case 0x68:
    case 0x86:
      local_b8 = 0;
switchD_002c18c9_caseD_5:
      if (param_3 == 4) {
        uVar17 = FUN_002a95c0(param_10,plVar6,param_9,local_cc,param_11,cVar15,uVar18,
                              local_b8 & 0xff,0,param_4,bVar14,param_1);
      }
      else {
        if (param_3 != 9) goto LAB_002c46ec;
        lVar31 = FUN_0049cb70(0x40);
        uVar17 = 0;
        *(ulong **)(lVar31 + 0x10) = param_10;
        *(long **)(lVar31 + 0x18) = plVar6;
        *(undefined8 **)(lVar31 + 0x20) = param_9;
        *(uint *)(lVar31 + 0x28) = local_cc;
        *(uint *)(lVar31 + 0x2c) = uVar18;
        *(uint *)(lVar31 + 0x30) = uVar33;
        *(char *)(lVar31 + 0x34) = (char)local_b8;
        *(uint *)(lVar31 + 0x38) = param_11;
        *(char *)(lVar31 + 0x3c) = cVar15;
        FUN_004a11e0(lVar31,&DAT_0067dae0);
        _DAT_0067daf0 = _DAT_0067daf0 + 1;
      }
      break;
    case 6:
    case 0x69:
    case 0x87:
    case 0x9d:
      local_b8 = 0;
      local_108 = (uint)*param_10;
      local_b0 = local_cc;
LAB_002c3615:
      if (param_3 == 9) {
        local_100 = DAT_0067dae0;
        if ((undefined8 **)DAT_0067dae0 != &DAT_0067dae0) {
          do {
            if (uVar33 == *(uint *)(local_100 + 6)) {
              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);
              cVar16 = FUN_0028cc00(uVar19,uVar18);
              if (cVar16 == '\0') goto LAB_002c3ec8;
              uVar22 = local_100[2];
              uVar23 = local_100[4];
              uVar5 = *(undefined4 *)(local_100 + 5);
              uVar41 = local_100[3];
              uVar4 = *(undefined4 *)(local_100 + 7);
              FUN_00293aa0(uVar22,uVar19);
              uVar17 = FUN_002a95c0(uVar22,uVar41,uVar23,uVar5,uVar4);
              FUN_00293140(uVar22,uVar19,0);
              if (uVar17 == 1) goto LAB_002c1e60;
              puVar10 = (undefined8 *)*local_100;
              _DAT_0067daf0 = _DAT_0067daf0 + -1;
              FUN_004a1200(local_100);
              FUN_0049e340(local_100);
              local_100 = puVar10;
            }
            else {
LAB_002c3ec8:
              local_100 = (undefined8 *)*local_100;
            }
          } while ((undefined8 **)local_100 != &DAT_0067dae0);
        }
        local_100 = DAT_0067dac0;
        if ((undefined8 **)DAT_0067dac0 != &DAT_0067dac0) {
          do {
            if (uVar33 == *(uint *)(local_100 + 6)) {
              uVar19 = *(undefined4 *)((long)local_100 + 0x2c);
              cVar16 = FUN_0028cc00(uVar19,uVar18);
              if (cVar16 == '\0') goto LAB_002c41a8;
              uVar22 = local_100[2];
              uVar5 = *(undefined4 *)(local_100 + 5);
              uVar23 = local_100[3];
              uVar41 = local_100[4];
              uVar32 = (ulong)*(byte *)((long)local_100 + 0x34);
              FUN_00293aa0(uVar22,uVar19);
              uVar17 = FUN_002c0e50(uVar22,uVar23,uVar41,uVar5,uVar32 & 0xff,local_b0,param_4,bVar14
                                    ,param_1);
              FUN_00293140(uVar22,uVar19,0);
              if (uVar17 == 1) goto LAB_002c1e60;
              puVar10 = (undefined8 *)*local_100;
              _DAT_0067dad0 = _DAT_0067dad0 + -1;
              FUN_004a1200(local_100);
              FUN_0049e340(local_100);
              local_100 = puVar10;
            }
            else {
LAB_002c41a8:
              local_100 = (undefined8 *)*local_100;
            }
          } while ((undefined8 **)local_100 != &DAT_0067dac0);
        }
      }
      if (cVar15 == '\0') {
        uVar36 = FUN_001a5ac0(param_9,plVar6,local_b0);
      }
      else {
        lVar31 = *(long *)(param_4 + 0x28);
        if (uVar18 == 0x69) {
          if (lVar31 == 0) {
            iVar35 = 0;
          }
          else {
            iVar35 = *(int *)(lVar31 + 0x40);
            if (((*(long *)(param_4 + 0x20) != 0) &&
                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {
              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);
            }
          }
          iVar35 = iVar35 - (param_11 & 0xfffffffc);
        }
        else if ((uVar18 == 0x87) || (uVar18 == 0x9d)) {
          if (lVar31 == 0) {
            iVar35 = 0;
          }
          else {
            iVar35 = *(int *)(lVar31 + 0x40);
            if (((*(long *)(param_4 + 0x20) != 0) &&
                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {
              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);
            }
          }
          iVar35 = (iVar35 - param_11) + 3;
        }
        else {
          if (lVar31 == 0) {
            iVar35 = 0;
          }
          else {
            iVar35 = *(int *)(lVar31 + 0x40);
            if (((*(long *)(param_4 + 0x20) != 0) &&
                (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0)) && (plVar6[0x6e] != 0)) {
              iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);
            }
          }
          iVar35 = (iVar35 - param_11) + 4;
        }
        uVar36 = iVar35 + local_b0;
      }
      if ((bool)bVar14) goto LAB_002c1f30;
LAB_002c1ebf:
      uVar17 = 0;
      *(uint *)param_10 = (uVar36 ^ local_108) & 0xffff ^ local_108;
      break;
    case 7:
    case 8:
    case 0x65:
    case 0x88:
    case 0x89:
    case 0xac:
      lVar31 = *(long *)(param_4 + 0x28);
      if (lVar31 != 0) {
        local_b8 = 0;
LAB_002c370d:
        iVar35 = *(int *)(lVar31 + 0x40);
        local_b0 = local_cc;
        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))
           && (plVar6[0x6e] != 0)) {
          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);
        }
        goto LAB_002c3751;
      }
      local_b8 = 0;
      iVar35 = 0;
      uVar17 = (uint)*param_10;
      local_b0 = local_cc;
LAB_002c378b:
      iVar21 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar36 = iVar21 - iVar35;
      if (param_8 == (undefined8 *)0x0) {
        uVar36 = uVar36 + (int)plVar6[0x6d];
      }
      uVar20 = (uVar36 ^ uVar17) & 0xffff;
      if (uVar18 == 0xac) {
        uVar20 = (uVar36 ^ uVar17) & 0x7f;
      }
      if ((bool)bVar14) goto LAB_002c1f30;
      *(uint *)param_10 = uVar17 ^ uVar20;
      if (0xffff < uVar36 + 0x8000) {
        uVar22 = gettext(
                        "small-data section exceeds 64KB; lower small-data size limit (see option -G)"
                        );
        FUN_0034a750(uVar22);
        goto LAB_002c3567;
      }
      goto LAB_002c1fd6;
    case 9:
    case 0x66:
    case 0x8a:
      local_b8 = 0;
switchD_002c18c9_caseD_9:
      if (param_8 == (undefined8 *)0x0) {
        if (param_3 == 4) {
          uVar17 = FUN_002c0e50(param_10,plVar6,param_9,local_cc,local_b8 & 0xff,0,param_4,bVar14,
                                param_1);
          goto LAB_002c2945;
        }
        if (param_3 == 9) {
          lVar31 = FUN_0049cb70(0x40);
          *(undefined1 *)(lVar31 + 0x3c) = 0;
          uVar17 = 0;
          *(undefined4 *)(lVar31 + 0x38) = 0;
          *(ulong **)(lVar31 + 0x10) = param_10;
          *(long **)(lVar31 + 0x18) = plVar6;
          *(undefined8 **)(lVar31 + 0x20) = param_9;
          *(uint *)(lVar31 + 0x28) = local_cc;
          *(uint *)(lVar31 + 0x2c) = uVar18;
          *(uint *)(lVar31 + 0x30) = uVar33;
          *(char *)(lVar31 + 0x34) = (char)local_b8;
          FUN_004a11e0(lVar31,&DAT_0067dac0);
          _DAT_0067dad0 = _DAT_0067dad0 + 1;
          goto LAB_002c2945;
        }
                    /* WARNING: Subroutine does not return */
        FUN_00352af0("../../gold/mips.cc",0x2f66,"relocate");
      }
      if (*(long *)(param_4 + 0x20) != 0) {
        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);
        if (*(long *)(param_4 + 0x20) != 0) {
          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);
          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;
          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;
LAB_002c27a6:
          *(uint *)param_10 = uVar17;
          uVar17 = (uint)(0xffff < uVar18 + 0x8000);
          goto LAB_002c2945;
        }
        goto LAB_002c4797;
      }
      goto LAB_002c479c;
    case 10:
      local_b8 = 0;
LAB_002c2e45:
      local_cc = local_b0;
      uVar18 = (uint)*param_10;
      if ((char)local_b8 != '\0') {
        uVar17 = uVar18 * 4 & 0x3fffc;
        local_b0 = uVar17 - 0x40000;
        if ((uVar18 * 4 & 0x20000) == 0) {
          local_b0 = uVar17;
        }
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar36 = iVar35 - param_11 >> 2;
      if ((bool)bVar14) goto LAB_002c1f30;
      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0xffff;
      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar17 = 3;
      if ((uVar32 & 3) == 0) {
        uVar17 = (uint)(0x3ffff < (iVar35 - param_11) + 0x20000);
      }
      break;
    case 0xb:
    case 0x67:
    case 0x8e:
      local_b8 = 0;
switchD_002c18c9_caseD_b:
      if (param_8 == (undefined8 *)0x0) {
LAB_002c467a:
                    /* WARNING: Subroutine does not return */
        FUN_00352af0("../../gold/mips.cc",0x2f3d,"relocate");
      }
      if (*(long *)(param_4 + 0x20) != 0) {
        local_e4 = FUN_0029b9e0(*(long *)(param_4 + 0x20),param_8,0,plVar6);
        if (*(long *)(param_4 + 0x20) != 0) {
          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);
          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;
          uVar17 = ((uint)*param_10 ^ uVar18) & 0xffff ^ (uint)*param_10;
          goto LAB_002c27a6;
        }
        goto LAB_002c4735;
      }
      goto LAB_002c473a;
    case 0xc:
      local_b8 = 0;
switchD_002c18c9_caseD_c:
      if (*(long *)(param_4 + 0x28) == 0) {
        iVar35 = 0;
      }
      else {
        iVar35 = *(int *)(*(long *)(param_4 + 0x28) + 0x40);
        if (((*(long *)(param_4 + 0x20) != 0) && (*(long *)(*(long *)(param_4 + 0x20) + 0xd0) != 0))
           && (plVar6[0x6e] != 0)) {
          iVar35 = iVar35 + *(int *)(plVar6[0x6e] + 0x10c);
        }
      }
      uVar18 = local_cc;
      if ((char)local_b8 != '\0') {
        uVar18 = (uint)*param_10;
      }
      iVar21 = FUN_001a5ac0(param_9,plVar6,uVar18);
      uVar36 = iVar21 + ((int)plVar6[0x6d] - iVar35);
      goto joined_r0x002c327b;
    case 0x12:
      local_b8 = 0;
switchD_002c18c9_caseD_12:
      cVar16 = FUN_0029fae0(param_8,0x12,param_5,param_4);
      if (cVar16 != '\0') {
        bVar14 = *(byte *)((long)param_1 + 4);
        uVar18 = local_cc;
        if ((char)local_b8 != '\0') {
          uVar18 = (uint)*param_10;
        }
        goto LAB_002c2f02;
      }
      break;
    case 0x13:
    case 0x91:
    case 0xf9:
      local_b8 = 0;
switchD_002c18c9_caseD_13:
      lVar31 = *(long *)(param_4 + 0x20);
      if (param_8 != (undefined8 *)0x0) {
        if (lVar31 != 0) {
          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);
          goto LAB_002c252a;
        }
LAB_002c4721:
        FUN_00290940();
LAB_002c4726:
        FUN_00290940();
LAB_002c472b:
        FUN_00290940();
        goto LAB_002c4730;
      }
      if (lVar31 == 0) {
        FUN_00290940();
        goto LAB_002c4792;
      }
      local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);
LAB_002c252a:
      if (*(long *)(param_4 + 0x20) == 0) {
        FUN_00290940();
        goto LAB_002c4721;
      }
      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);
      if (uVar18 != 0xf9) {
        if (*(char *)((long)param_1 + 4) == '\0') {
          uVar18 = (uVar36 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;
          goto LAB_002c2590;
        }
        goto LAB_002c1f30;
      }
      if (*(char *)((long)param_1 + 4) == '\0') goto LAB_002c1fd0;
      goto LAB_002c1fd4;
    case 0x14:
    case 0x92:
      local_b8 = 0;
switchD_002c18c9_caseD_14:
      uVar18 = (uint)*param_10;
      uVar17 = uVar18 & 0xffff;
      if ((char)local_b8 == '\0') {
        uVar17 = local_cc;
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);
      lVar31 = *(long *)(param_4 + 0x20);
      if (lVar31 == 0) goto LAB_002c4726;
      if (*(long *)(lVar31 + 0xd0) == 0) {
        lVar31 = *(long *)(lVar31 + 200);
      }
      else {
        lVar31 = plVar6[0x6e];
      }
      if (lVar31 == 0) {
LAB_002c4761:
        FUN_00293350();
LAB_002c4766:
        FUN_00290940();
        goto LAB_002c476b;
      }
      uVar19 = FUN_002c0d60(lVar31,(ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10);
      if (*(long *)(param_4 + 0x20) == 0) goto LAB_002c475c;
      uVar36 = FUN_002924d0(*(long *)(param_4 + 0x20),uVar19,plVar6);
      if ((bool)bVar14) goto LAB_002c1f30;
      uVar18 = (uVar18 ^ uVar36) & 0xffff ^ uVar18;
      goto LAB_002c2590;
    case 0x15:
    case 0x93:
      local_b8 = 0;
switchD_002c18c9_caseD_15:
      uVar18 = (uint)*param_10;
      local_b0 = uVar18 & 0xffff;
      if ((char)local_b8 == '\0') {
        local_b0 = local_cc;
      }
      if (local_ce != 0) {
        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);
        lVar25 = (ulong)(ushort)((uint)(iVar35 + 0x8000) >> 0x10) << 0x10;
        lVar31 = *(long *)(param_4 + 0x20);
        if (lVar31 == 0) {
          FUN_00290940();
          goto LAB_002c463a;
        }
        if (*(long *)(lVar31 + 0xd0) == 0) {
          lVar31 = *(long *)(lVar31 + 200);
        }
        else {
          lVar31 = plVar6[0x6e];
        }
        if (lVar31 == 0) goto LAB_002c463f;
        FUN_002c0d60(lVar31,lVar25);
        iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);
        local_b0 = iVar35 - (int)lVar25;
      }
      if ((bool)bVar14) {
        uVar17 = 0;
        *(uint *)param_1 = local_b0;
      }
      else {
        *(uint *)param_10 = (uVar18 ^ local_b0) & 0xffff ^ uVar18;
        uVar17 = (uint)(0xffff < local_b0 + 0x8000);
      }
      break;
    case 0x16:
    case 0x1e:
    case 0x94:
    case 0x99:
      local_b8 = 0;
switchD_002c18c9_caseD_16:
      lVar31 = *(long *)(param_4 + 0x20);
      if (param_8 != (undefined8 *)0x0) {
        if (lVar31 != 0) {
          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);
          goto LAB_002c2378;
        }
LAB_002c4730:
        FUN_00290940();
LAB_002c4735:
        FUN_00290940();
LAB_002c473a:
        FUN_00290940();
LAB_002c473f:
                    /* WARNING: Subroutine does not return */
        FUN_00352af0("../../gold/mips.cc",0x2e46,"relocate");
      }
      if (lVar31 != 0) {
        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);
LAB_002c2378:
        if (*(long *)(param_4 + 0x20) != 0) {
          iVar35 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);
          uVar18 = iVar35 + 0x8000U >> 0x10;
          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;
          uVar17 = 0;
          *(ushort *)param_10 = (ushort)(iVar35 + 0x8000U >> 0x10);
          goto LAB_002c2945;
        }
        goto LAB_002c472b;
      }
      goto LAB_002c46d8;
    case 0x17:
    case 0x1f:
    case 0x95:
    case 0x9a:
      local_b8 = 0;
switchD_002c18c9_caseD_17:
      lVar31 = *(long *)(param_4 + 0x20);
      if (param_8 != (undefined8 *)0x0) {
        if (lVar31 != 0) {
          local_e4 = FUN_0029b9e0(lVar31,param_8,0,plVar6);
          goto LAB_002c22ef;
        }
LAB_002c476b:
        FUN_00290940();
        goto LAB_002c4770;
      }
      if (lVar31 != 0) {
        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,0,(long)(int)local_cc);
LAB_002c22ef:
        if (*(long *)(param_4 + 0x20) != 0) {
          uVar18 = FUN_002924d0(*(long *)(param_4 + 0x20),local_e4,plVar6);
          if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c2940;
          uVar17 = 0;
          *(uint *)param_10 = (uVar18 ^ (uint)*param_10) & 0xffff ^ (uint)*param_10;
          goto LAB_002c2945;
        }
        goto LAB_002c4766;
      }
LAB_002c4792:
      FUN_00290940();
LAB_002c4797:
      FUN_00290940();
LAB_002c479c:
      FUN_00290940();
LAB_002c47a1:
      FUN_00290940();
LAB_002c47a6:
      FUN_00290940();
                    /* catch() { ... } // from try @ 002c1a5e with catch @ 002c47ab */
      uVar22 = FUN_0017eb9a();
      return uVar22;
    case 0x18:
    case 0x96:
      local_b8 = 0;
LAB_002c2efa:
      uVar18 = -local_b0;
LAB_002c2f02:
      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar18);
      if (bVar14 != '\0') goto LAB_002c1f30;
      uVar17 = 0;
      *param_10 = (ulong)uVar36;
      break;
    case 0x1c:
    case 0x97:
      local_b8 = 0;
LAB_002c1ed8:
      local_cc = local_b0;
      uVar18 = (uint)*param_10;
      if (((char)local_b8 != '\0') &&
         (local_b0 = (uVar18 & 0xffff) - 0x10000, (uVar18 & 0x8000) == 0)) {
        local_b0 = uVar18 & 0xffff;
      }
      uVar17 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar36 = (uint)((ulong)uVar17 + 0x80008000 >> 0x20);
      goto joined_r0x002c1f7e;
    case 0x1d:
    case 0x98:
      local_b8 = 0;
LAB_002c2f32:
      local_cc = local_b0;
      uVar36 = (uint)*param_10;
      if ((char)local_b8 != '\0') {
        local_b0 = (uVar36 & 0xffff) - 0x10000;
        if ((uVar36 & 0x8000) == 0) {
          local_b0 = uVar36 & 0xffff;
        }
      }
      FUN_001a5ac0(param_9,plVar6,local_b0);
      if (bVar45 && bVar48) {
        uVar17 = 0;
        *(uint *)param_1 = 0;
        break;
      }
      uVar36 = uVar36 & 0xffff0000;
      goto LAB_002c1fd0;
    case 0x25:
    case 0x9c:
      local_b8 = 0;
switchD_002c18c9_caseD_25:
      if (param_8 != (undefined8 *)0x0) {
        cVar16 = FUN_0028d190(param_8,*(int *)(param_8 + 4) != 0,1);
        if (cVar16 == '\0') break;
        bVar14 = *(byte *)((long)param_1 + 4);
      }
      uVar17 = (uint)*param_10;
      uVar36 = uVar17;
      if (((uVar18 == 0x25) && (local_cf != 1)) && ((uVar17 == 0x3200008 || (uVar17 == 0x320f809))))
      {
        iVar35 = FUN_001a5ac0(param_9,plVar6);
        if ((iVar35 - param_11) + 0x1fffc < 0x40000) {
          uVar18 = (iVar35 - param_11) - 4 >> 2 & 0xffff;
          uVar36 = uVar18 | 0x10000000;
          if (uVar17 != 0x3200008) {
            uVar36 = uVar18 | 0x4110000;
          }
        }
      }
      if (bVar14 == '\0') {
        *(uint *)param_10 = uVar36;
        uVar17 = 0;
      }
      else {
        *(uint *)param_1 = uVar36;
        uVar17 = 0;
      }
      break;
    case 0x27:
    case 0x29:
      goto switchD_002c14fa_caseD_27;
    case 0x2a:
    case 0x6a:
    case 0xa2:
      local_b8 = 0;
switchD_002c18c9_caseD_2a:
      lVar31 = *(long *)(param_4 + 0x20);
      if (param_8 == (undefined8 *)0x0) {
        if (lVar31 == 0) {
          FUN_00290940();
          goto LAB_002c467a;
        }
        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,2,(long)(int)local_cc);
      }
      else {
        if (lVar31 == 0) {
          FUN_00290940();
LAB_002c475c:
          FUN_00290940();
          goto LAB_002c4761;
        }
        local_e4 = FUN_0029b9e0(lVar31,param_8,2,plVar6);
      }
      lVar31 = *(long *)(param_4 + 0x20);
      if (lVar31 != 0) {
LAB_002c2030:
        uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);
        goto LAB_002c211b;
      }
      FUN_00290940();
switchD_002c14fa_caseD_27:
      local_b8 = 0;
switchD_002c18c9_caseD_27:
      uVar18 = local_cc;
      if ((char)local_b8 != '\0') {
        uVar18 = (uint)*param_10;
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);
      uVar36 = iVar35 - 0x8000;
      goto joined_r0x002c327b;
    case 0x2b:
    case 0x6b:
    case 0xa3:
      local_b8 = 0;
switchD_002c18c9_caseD_2b:
      lVar31 = *(long *)(param_4 + 0x20);
      if (lVar31 == 0) {
LAB_002c463a:
        FUN_00290940();
LAB_002c463f:
        FUN_00293350();
        goto LAB_002c4644;
      }
      if (*(long *)(lVar31 + 0xd0) == 0) {
        lVar25 = *(long *)(lVar31 + 200);
      }
      else {
        lVar25 = plVar6[0x6e];
      }
      if (lVar25 == 0) {
                    /* WARNING: Subroutine does not return */
        FUN_00352af0("../../gold/mips.cc",0x86a,"tls_ldm_offset");
      }
      local_e4 = *(uint *)(lVar25 + 0x14);
      uVar36 = FUN_002924d0(lVar31,local_e4,plVar6);
LAB_002c211b:
      if (*(char *)((long)param_1 + 4) != '\0') goto LAB_002c1fd4;
      uVar18 = ((uint)*param_10 ^ uVar36) & 0xffff ^ (uint)*param_10;
LAB_002c2590:
      *(uint *)param_10 = uVar18;
      uVar17 = (uint)(0xffff < uVar36 + 0x8000);
      break;
    case 0x2c:
    case 0x6c:
    case 0xa4:
      local_b8 = 0;
switchD_002c18c9_caseD_2c:
      uVar18 = (uint)*param_10;
      uVar17 = uVar18 & 0xffff;
      if ((char)local_b8 == '\0') {
        uVar17 = local_cc;
      }
      uVar36 = FUN_001a5ac0(param_9,plVar6,uVar17);
      goto LAB_002c1f79;
    case 0x2d:
    case 0x6d:
    case 0xa5:
      local_b8 = 0;
switchD_002c18c9_caseD_2d:
      local_108 = (uint)*param_10;
      uVar18 = local_108 & 0xffff;
      if ((char)local_b8 == '\0') {
        uVar18 = local_cc;
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);
      uVar36 = iVar35 - 0x8000;
      if (!bVar45 || !bVar48) goto LAB_002c1ebf;
      goto LAB_002c1f30;
    case 0x2e:
    case 0x6e:
    case 0xa6:
      local_b8 = 0;
switchD_002c18c9_caseD_2e:
      lVar31 = *(long *)(param_4 + 0x20);
      if (param_8 == (undefined8 *)0x0) {
        if (lVar31 == 0) {
          FUN_00290940();
          goto LAB_002c4670;
        }
        local_e4 = (**(code **)(*plVar6 + 0x160))(plVar6,uVar33,1,(long)(int)local_cc);
      }
      else {
        if (lVar31 == 0) goto LAB_002c47a6;
        local_e4 = FUN_0029b9e0(lVar31,param_8,1,plVar6);
      }
      lVar31 = *(long *)(param_4 + 0x20);
      if (lVar31 != 0) goto LAB_002c2030;
      goto LAB_002c47a1;
    case 0x2f:
    case 0x30:
      local_b8 = 0;
switchD_002c18c9_caseD_2f:
      uVar18 = local_cc;
      if ((char)local_b8 != '\0') {
        uVar18 = (uint)*param_10;
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);
      uVar36 = iVar35 - 0x7000;
      if (!bVar45 || !bVar48) goto LAB_002c1fd0;
      goto LAB_002c1f30;
    case 0x31:
    case 0x6f:
    case 0xa9:
      local_b8 = 0;
switchD_002c18c9_caseD_31:
      uVar18 = (uint)*param_10;
      uVar17 = uVar18 & 0xffff;
      if ((char)local_b8 == '\0') {
        uVar17 = local_cc;
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar17);
      uVar36 = iVar35 + 0x1000;
LAB_002c1f79:
      uVar36 = uVar36 >> 0x10;
joined_r0x002c1f7e:
      if ((bool)bVar14) goto LAB_002c1f30;
      uVar17 = 0;
      *(uint *)param_10 = uVar36 | uVar18 & 0xffff0000;
      break;
    case 0x32:
    case 0x70:
    case 0xaa:
      local_b8 = 0;
switchD_002c18c9_caseD_32:
      local_108 = (uint)*param_10;
      uVar18 = local_108 & 0xffff;
      if ((char)local_b8 == '\0') {
        uVar18 = local_cc;
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);
      uVar36 = iVar35 - 0x7000;
      if (!bVar45 || !bVar48) goto LAB_002c1ebf;
      goto LAB_002c1f30;
    case 0x3c:
      local_b8 = 0;
LAB_002c2f96:
      local_cc = local_b0;
      uVar18 = (uint)*param_10;
      if ((char)local_b8 != '\0') {
        uVar17 = uVar18 * 4 & 0x7ffffc;
        local_b0 = uVar17 - 0x800000;
        if ((uVar18 * 4 & 0x400000) == 0) {
          local_b0 = uVar17;
        }
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar36 = iVar35 - param_11 >> 2;
      if ((bool)bVar14) goto LAB_002c1f30;
      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x1fffff;
      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar17 = 3;
      if ((uVar32 & 3) == 0) {
        uVar17 = (uint)(0x7fffff < (iVar35 - param_11) + 0x400000);
      }
      break;
    case 0x3d:
      local_b8 = 0;
LAB_002c304d:
      local_cc = local_b0;
      uVar18 = (uint)*param_10;
      if ((char)local_b8 != '\0') {
        uVar17 = uVar18 * 4 & 0xffffffc;
        local_b0 = uVar17 + 0xf0000000;
        if ((uVar18 * 4 & 0x8000000) == 0) {
          local_b0 = uVar17;
        }
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar36 = iVar35 - param_11 >> 2;
      if ((bool)bVar14) goto LAB_002c1f30;
      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffffff;
      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar17 = 3;
      if ((uVar32 & 3) == 0) {
        uVar17 = (uint)(0xfffffff < (iVar35 - param_11) + 0x8000000);
      }
      break;
    case 0x3e:
      local_b8 = 0;
LAB_002c3104:
      local_cc = local_b0;
      uVar18 = (uint)*param_10;
      if ((char)local_b8 != '\0') {
        uVar17 = uVar18 * 8 & 0x1ffff8;
        local_b0 = uVar17 - 0x200000;
        if ((uVar18 * 8 & 0x100000) == 0) {
          local_b0 = uVar17;
        }
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar20 = iVar35 - (param_11 & 0xfffffff8);
      uVar36 = uVar20 >> 3;
      if ((bool)bVar14) goto LAB_002c1f30;
      *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x3ffff;
      uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar32 = uVar32 & 7;
joined_r0x002c324e:
      uVar17 = 3;
      if (uVar32 == 0) {
        uVar17 = (uint)(0x1fffff < uVar20 + 0x100000);
      }
      break;
    case 0x3f:
      local_b8 = 0;
LAB_002c31c0:
      local_cc = local_b0;
      uVar18 = (uint)*param_10;
      if ((char)local_b8 != '\0') {
        uVar17 = uVar18 * 4 & 0x1ffffc;
        local_b0 = uVar17 - 0x200000;
        if ((uVar18 * 4 & 0x100000) == 0) {
          local_b0 = uVar17;
        }
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar20 = iVar35 - param_11;
      uVar36 = uVar20 >> 2;
      if (!bVar45 || !bVar48) {
        *(uint *)param_10 = uVar18 ^ (uVar36 ^ uVar18) & 0x7ffff;
        uVar32 = FUN_001a5ac0(param_9,plVar6,local_b0);
        uVar32 = uVar32 & 3;
        goto joined_r0x002c324e;
      }
LAB_002c1f30:
      uVar17 = 0;
      *(uint *)param_1 = uVar36;
      break;
    case 0x40:
      local_b8 = 0;
switchD_002c18c9_caseD_40:
      if (param_3 == 4) {
        uVar32 = *param_10;
        uVar18 = (uint)uVar32 << 0x10;
        if ((char)local_b8 == '\0') {
          uVar18 = local_cc;
        }
        iVar35 = FUN_001a5ac0(param_9,plVar6,uVar18);
        uVar36 = (iVar35 - param_11) + 0x8000 >> 0x10;
        if ((bool)bVar14) goto LAB_002c3c10;
        uVar17 = 0;
        *(uint *)param_10 = (uint)uVar32 & 0xffff0000 | uVar36;
      }
      else {
        if (param_3 != 9) goto LAB_002c4653;
        lVar31 = FUN_0049cb70(0x40);
        *(undefined1 *)(lVar31 + 0x3c) = 0;
        uVar17 = 0;
        *(undefined4 *)(lVar31 + 0x2c) = 0;
        *(ulong **)(lVar31 + 0x10) = param_10;
        *(long **)(lVar31 + 0x18) = plVar6;
        *(undefined8 **)(lVar31 + 0x20) = param_9;
        *(uint *)(lVar31 + 0x28) = local_cc;
        *(uint *)(lVar31 + 0x30) = uVar33;
        *(char *)(lVar31 + 0x34) = (char)local_b8;
        *(uint *)(lVar31 + 0x38) = param_11;
        FUN_004a11e0(lVar31,&DAT_0067daa0);
        _DAT_0067dab0 = _DAT_0067dab0 + 1;
      }
      break;
    case 0x41:
      local_b8 = 0;
LAB_002c330f:
      local_cc = local_b0;
      uVar18 = (uint)*param_10;
      if ((char)local_b8 != '\0') {
        local_b0 = (uVar18 & 0xffff) - 0x10000;
        if ((uVar18 & 0x8000) == 0) {
          local_b0 = uVar18 & 0xffff;
        }
      }
      if ((param_3 == 9) && (local_98 = DAT_0067daa0, (undefined8 **)DAT_0067daa0 != &DAT_0067daa0))
      {
        do {
          if (uVar33 == *(uint *)(local_98 + 6)) {
            puVar9 = (uint *)local_98[2];
            iVar35 = *(int *)(local_98 + 5);
            uVar17 = *puVar9;
            if (*(char *)((long)local_98 + 0x34) != '\0') {
              iVar35 = local_b0 + uVar17 * 0x10000;
            }
            iVar21 = *(int *)(local_98 + 7);
            iVar35 = FUN_001a5ac0(local_98[4],local_98[3],iVar35);
            uVar36 = (uint)((0x8000 - iVar21) + iVar35) >> 0x10;
            if (bVar45 && bVar48) {
              *(uint *)param_1 = uVar36;
            }
            else {
              *puVar9 = uVar36 | uVar17 & 0xffff0000;
            }
            puVar10 = (undefined8 *)*local_98;
            _DAT_0067dab0 = _DAT_0067dab0 + -1;
            FUN_004a1200(local_98);
            FUN_0049e340(local_98);
            local_98 = puVar10;
          }
          else {
            local_98 = (undefined8 *)*local_98;
          }
        } while ((undefined8 **)local_98 != &DAT_0067daa0);
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar36 = iVar35 - param_11;
      if ((bool)bVar14) goto LAB_002c1f30;
      uVar17 = 0;
      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;
      break;
    case 0x8b:
      local_b8 = 0;
LAB_002c3385:
      local_cc = local_b0;
      uVar18 = (uint)*param_10;
      if ((char)local_b8 != '\0') {
        uVar17 = uVar18 * 2 & 0xff;
        local_b0 = uVar17 - 0x100;
        if ((uVar18 * 2 & 0x80) == 0) {
          local_b0 = uVar17;
        }
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar36 = iVar35 - param_11 >> 1;
      if ((bool)bVar14) {
LAB_002c3c10:
        uVar17 = 0;
        *(uint *)param_1 = uVar36;
      }
      else {
        *(uint *)param_10 = (uVar36 ^ uVar18) & 0x7f ^ uVar18;
        uVar17 = (uint)(0xff < (iVar35 - param_11) + 0x80);
      }
      break;
    case 0x8c:
      local_b8 = 0;
LAB_002c328d:
      local_cc = local_b0;
      uVar18 = (uint)*param_10;
      if ((char)local_b8 != '\0') {
        uVar17 = uVar18 * 2 & 0x7fe;
        local_b0 = uVar17 - 0x800;
        if ((uVar18 * 2 & 0x400) == 0) {
          local_b0 = uVar17;
        }
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar36 = iVar35 - param_11 >> 1;
      if ((bool)bVar14) goto LAB_002c3c10;
      *(uint *)param_10 = (uVar36 ^ uVar18) & 0x3ff ^ uVar18;
      uVar17 = (uint)(0x7ff < (iVar35 - param_11) + 0x400);
      break;
    case 0x8d:
      local_b8 = 0;
LAB_002c33fc:
      local_cc = local_b0;
      uVar18 = (uint)*param_10;
      if ((char)local_b8 != '\0') {
        uVar17 = uVar18 * 2 & 0x1fffe;
        local_b0 = uVar17 - 0x20000;
        if ((uVar18 * 2 & 0x10000) == 0) {
          local_b0 = uVar17;
        }
      }
      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar36 = iVar35 - param_11 >> 1;
      if ((bool)bVar14) goto LAB_002c3c10;
      *(uint *)param_10 = (uVar36 ^ uVar18) & 0xffff ^ uVar18;
      uVar17 = (uint)(0x1ffff < (iVar35 - param_11) + 0x10000);
      break;
    case 0xf8:
      local_b8 = 0;
LAB_002c3260:
      iVar35 = FUN_001a5ac0(param_9,plVar6,local_b0);
      uVar36 = iVar35 - param_11;
joined_r0x002c327b:
      if (bVar45 && bVar48) goto LAB_002c1f30;
LAB_002c1fd0:
      puVar34 = param_10;
LAB_002c1fd4:
      *(uint *)puVar34 = uVar36;
LAB_002c1fd6:
      uVar17 = 0;
    }
LAB_002c1e60:
    unaff_R13 = unaff_R13 + 1;
    if (local_d8 == unaff_R13) break;
    uVar18 = *unaff_R13;
  }
  local_c8 = &local_78;
  uVar18 = uVar44 - 0x85;
  if (local_f0 < 0xd) {
    uVar36 = (uint)*param_10;
    uVar30 = (ushort)(uVar36 >> 0x10);
    if (uVar18 < 0x29) {
      if ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) == 0) {
LAB_002c1c8c:
        uVar30 = (ushort)uVar36 & 0x7e0 | uVar30 & 0xf800 | (ushort)(uVar36 >> 0xb) & 0x1f;
        uVar36 = uVar36 & 0x1f | uVar36 >> 0xb & 0xffffffe0;
      }
    }
    else if (((uVar44 == 0x85 || uVar44 == 100) || uVar44 == 4) || (uVar44 != 100)) {
      if (uVar44 != 100) goto LAB_002c1c8c;
      uVar30 = uVar30 & 0xfc00 | (ushort)(uVar36 >> 0xb) & 0x3e0 | uVar30 >> 5 & 0x1f;
    }
LAB_002c19bf:
    *(ushort *)((long)param_10 + 2) = (ushort)uVar36;
    *(ushort *)param_10 = uVar30;
  }
  else if (((uVar18 < 0x29) && ((0x1b3e1fff3ffU >> ((ulong)uVar18 & 0x3f) & 1) != 0)) &&
          (1 < uVar44 - 0x8b)) {
    uVar36 = (uint)*param_10;
    uVar30 = (ushort)(uVar36 >> 0x10);
    goto LAB_002c19bf;
  }
  if (uVar17 == 1) {
    if (param_8 == (undefined8 *)0x0) {
      lVar31 = plVar6[1];
      uVar22 = gettext("relocation overflow: %u against local symbol %u in %s");
      FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,uVar33,lVar31);
    }
    else {
      if ((*(byte *)((long)param_8 + 0x3a) & 7) == 0) {
        if ((*(byte *)((long)param_8 + 0x3b) & 0x20) == 0) {
          bVar42 = FUN_00443190();
          bVar42 = bVar42 ^ 1;
        }
        else {
          bVar42 = *(int *)(param_8 + 3) != 0;
        }
      }
      else {
        bVar42 = (*(byte *)((long)param_8 + 0x3a) & 7) != 4;
      }
      if ((bVar42 == 0) || ((*(byte *)((long)param_8 + 0x3a) & 7) != 0)) {
        FUN_004443d0(local_58,param_8);
        puVar12 = local_58[0];
        uVar22 = gettext("relocation overflow: %u against \'%s\'");
                    /* try { // try from 002c2bde to 002c2be2 has its CatchHandler @ 002c47b3 */
        FUN_0034ad90(param_2,param_6,iVar3,uVar22,uVar44,puVar12);
        if (local_58[0] == auStack_48) goto LAB_002c193c;
      }
      else {
        uVar22 = *(undefined8 *)(param_8[2] + 8);
        FUN_004443d0(local_58,param_8);
        puVar12 = local_58[0];
        uVar23 = gettext("relocation overflow: %u against \'%s\' defined in %s");
                    /* try { // try from 002c1a5e to 002c1a62 has its CatchHandler @ 002c47ab */
        FUN_0034ad90(param_2,param_6,iVar3,uVar23,uVar44,puVar12,uVar22);
        if (local_58[0] == auStack_48) goto LAB_002c193c;
      }
      FUN_0049e340();
    }
  }
  else if (uVar17 != 0) {
    if (uVar17 == 2) {
      pcVar39 = "unexpected opcode while processing relocation";
    }
    else {
      if (uVar17 != 3) {
                    /* WARNING: Subroutine does not return */
        FUN_00352af0("../../gold/mips.cc",0x3035,"relocate");
      }
      pcVar39 = "unaligned PC-relative relocation";
    }
    uVar22 = gettext(pcVar39);
    FUN_0034ad90(param_2,param_6,iVar3,uVar22);
  }
LAB_002c193c:
  FUN_001a5bc0(local_c8);
  return 1;
}

