
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void split_stack_adjust_reltype<4>(Sized_relobj_file<32,_false> * this,
   Symbol_table * symtab, uchar * pshdrs, uint shndx, uchar * prelocs, size_t reloc_count, uchar *
   view, section_size_type view_size, Reloc_symbol_changes * * reloc_map, Sized_target<32,_false> *
   target) */

void __thiscall
gold::Sized_relobj_file<32,_false>::split_stack_adjust_reltype<4>
          (Sized_relobj_file<32,_false> *this,Symbol_table *symtab,uchar *pshdrs,uint shndx,
          uchar *prelocs,size_t reloc_count,uchar *view,section_size_type view_size,
          Reloc_symbol_changes **reloc_map,Sized_target<32,_false> *target)

{
  _Base_ptr *pp_Var1;
  code *pcVar2;
  undefined *puVar3;
  _Base_ptr p_Var4;
  _func_int_varargs **pp_Var5;
  uint uVar6;
  uint uVar7;
  uint uVar8;
  _Rb_tree_header *p_Var9;
  _Base_ptr p_Var10;
  undefined *puVar11;
  _Base_ptr p_Var12;
  pointer ppSVar13;
  undefined4 uVar14;
  Reloc_symbol_changes *pRVar15;
  uint uVar16;
  int iVar17;
  pointer ppSVar18;
  _Rb_tree_color *p_Var19;
  int *piVar20;
  undefined *puVar21;
  Symbol *pSVar22;
  uint uVar23;
  _Rb_tree_color *p_Var24;
  uint *puVar25;
  _Rb_tree_header *p_Var26;
  undefined *puVar27;
  _func_int_varargs *p_Var28;
  section_offset_type offset;
  int local_c4;
  undefined local_c0 [16];
  string from;
  Function_offsets calls_non_split;
  Function_offsets function_offsets;
  vector<int,_std::allocator<int>_> non_split_refs;
  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
  *local_58;
  Symbol *local_50;
  _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::pair<int_const,_unsigned_int>_>_>
  *local_38;
  
  pp_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object;
  p_Var28 = pp_Var5[0x23];
  if (p_Var28 == (_func_int_varargs *)PTR_local_symbol_count_004c1bc0) {
    uVar6 = (*pp_Var5[0x2f])();
  }
  else {
    uVar6 = (*p_Var28)();
  }
  puVar3 = PTR__M_realloc_insert<int_const&>_004c45e4;
  puVar21 = PTR_get_r_sym_004c4580;
  puVar27 = PTR_parameters_004c19b4;
  non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start = (pointer)0x0;
  non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish = (pointer)0x0;
  non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_end_of_storage =
       (pointer)0x0;
  if (reloc_count == 0) {
    return;
  }
  uVar23 = 0;
  local_58 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
              *)&non_split_refs;
  puVar25 = (uint *)prelocs;
  do {
    p_Var28 = (target->super_Target)._vptr_Target[0x3e];
    if (p_Var28 != (_func_int_varargs *)puVar21) goto LAB_00287ae8;
    uVar7 = puVar25[1];
    uVar7 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 >> 8;
    while (uVar6 <= uVar7) {
      uVar8 = uVar7 - this->local_symbol_count_;
      if (uVar7 < this->local_symbol_count_) {
LAB_00288064:
        (*(code *)PTR_do_gold_unreachable_004c1a30)
                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,
                   PTR_s_in_a_linker_script_004c191c + -0x614);
        goto LAB_00288080;
      }
      ppSVar18 = (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.
                 _M_impl._M_start;
      if ((uint)((int)(this->symbols_).
                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                      _M_finish - (int)ppSVar18 >> 2) <= uVar8) goto LAB_0028809c;
      pSVar22 = ppSVar18[uVar8];
      if (pSVar22 == (Symbol *)0x0) goto LAB_00288064;
      if (*(int *)&pSVar22->field_0x28 << 0x14 < 0) {
        pSVar22 = (Symbol *)(*(code *)PTR_resolve_forwards_004c1bc8)(symtab);
      }
      uVar7 = *(uint *)&pSVar22->field_0x28;
      if ((uVar7 & 0xe000) == 0) {
        if (((((pSVar22->u2_).shndx != 0) || (-1 < (int)(uVar7 << 0x1d))) &&
            ((uVar7 << 0x10) >> 0x1d == 0)) &&
           (-1 < (int)((pSVar22->u1_).output_segment)->output_lists_[3].
                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.
                      _M_impl._M_end_of_storage << 2)) {
          piVar20 = *(int **)(*(int *)puVar27 + 0xc);
          if (piVar20 == (int *)0x0) goto LAB_002880fc;
                    /* try { // try from 00287a14 to 00287b03 has its CatchHandler @ 002881c4 */
          iVar17 = (**(code **)(*piVar20 + 0x54))(piVar20,pSVar22,puVar25,view,view_size);
          if (iVar17 != 0) {
            uVar7 = *puVar25;
            offset = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +
                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;
            if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish ==
                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl.
                _M_end_of_storage) {
                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */
              (*(code *)puVar3)(local_58,non_split_refs.
                                         super__Vector_base<int,_std::allocator<int>_>._M_impl.
                                         _M_finish,&offset);
            }
            else {
              *non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =
                   offset;
              non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =
                   non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish +
                   1;
            }
          }
        }
        break;
      }
      if (((uVar7 & 0xe000) == 0x8000) || ((uVar7 << 0x10) >> 0x1d != 0)) break;
      p_Var28 = (_func_int_varargs *)PTR_do_gold_unreachable_004c1a30;
      (*(code *)PTR_do_gold_unreachable_004c1a30)
                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,
                 PTR_s_in_a_linker_script_004c191c + -0x5d0);
LAB_00287ae8:
      uVar7 = (*p_Var28)(target);
    }
    uVar23 = uVar23 + 1;
    puVar25 = puVar25 + 3;
  } while (reloc_count != uVar23);
  local_38 = &function_offsets._M_t;
  if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish ==
      non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start)
  goto LAB_00287b40;
  p_Var26 = &function_offsets._M_t._M_impl.super__Rb_tree_header;
  function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;
  function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;
                    /* try { // try from 00287bbc to 00287bc3 has its CatchHandler @ 002881f0 */
  function_offsets._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;
  function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_left = &p_Var26->_M_header;
  function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_right = &p_Var26->_M_header;
  find_functions(this,pshdrs,shndx,(Function_offsets *)local_38);
  puVar27 = PTR__M_insert_unique<const_std_pair<int_const,_unsigned_int>&>_004c45ec;
  if (function_offsets._M_t._M_impl.super__Rb_tree_header._M_node_count != 0) {
    p_Var9 = &calls_non_split._M_t._M_impl.super__Rb_tree_header;
    calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;
    calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;
    calls_non_split._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;
    calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left = &p_Var9->_M_header;
    calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_right = &p_Var9->_M_header;
    if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start !=
        non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish) {
      p_Var19 = (_Rb_tree_color *)
                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish;
      p_Var24 = (_Rb_tree_color *)
                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start;
      do {
        if (function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent ==
            (_Base_ptr)0x0) {
LAB_00287f40:
          p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var26);
LAB_00287c78:
                    /* try { // try from 00287c84 to 00287c8b has its CatchHandler @ 002881b4 */
          (*(code *)puVar27)(&offset,&calls_non_split,p_Var10 + 1);
          p_Var19 = (_Rb_tree_color *)
                    non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish;
        }
        else {
          p_Var12 = &p_Var26->_M_header;
          p_Var4 = function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;
          do {
            while (p_Var10 = p_Var4, (int)p_Var10[1]._M_color < (int)*p_Var24) {
              pp_Var1 = &p_Var10->_M_right;
              p_Var10 = p_Var12;
              p_Var4 = *pp_Var1;
              if (*pp_Var1 == (_Base_ptr)0x0) goto LAB_00287c50;
            }
            p_Var12 = p_Var10;
            p_Var4 = p_Var10->_M_left;
          } while (p_Var10->_M_left != (_Base_ptr)0x0);
LAB_00287c50:
          if ((_Rb_tree_header *)p_Var10 == p_Var26) goto LAB_00287f40;
          if (p_Var10[1]._M_color == *p_Var24) goto LAB_00287c78;
          if (function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_left != p_Var10) {
            p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var10);
            goto LAB_00287c78;
          }
        }
        puVar3 = PTR_parameters_004c19b4;
        p_Var24 = p_Var24 + 1;
      } while (p_Var19 != p_Var24);
      if (calls_non_split._M_t._M_impl.super__Rb_tree_header._M_node_count != 0) {
        if ((_Rb_tree_header *)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left
            != p_Var9) {
          local_58 = &from.field_2;
          local_c0[0] = 0;
          puVar27 = local_c0;
          from._M_string_length = 0;
          from.field_2._M_local_buf[0] = '\0';
          local_c4 = 0;
          piVar20 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);
          offset = (section_offset_type)puVar27;
          from._M_dataplus._M_p = (pointer)local_58;
          if (piVar20 != (int *)0x0) {
            puVar11 = PTR_s_in_a_linker_script_004c191c + -0xd34;
            p_Var12 = calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left;
            do {
              from.field_2._M_local_buf[0] = '\0';
              from._M_string_length = 0;
              local_c0[0] = 0;
              local_c4 = 0;
              offset = (section_offset_type)puVar27;
              from._M_dataplus._M_p = (pointer)local_58;
                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */
              (**(code **)(*piVar20 + 0x58))
                        (piVar20,this,shndx,p_Var12[1]._M_color,p_Var12[1]._M_parent,prelocs,uVar23,
                         view,view_size,&from,&offset);
              if (from._M_string_length != 0) {
                uVar7 = 0;
                if (local_c4 == 0) goto LAB_002880d4;
                local_50 = (Symbol *)0x0;
                puVar25 = (uint *)prelocs;
                do {
                  p_Var28 = (target->super_Target)._vptr_Target[0x3e];
                  if (p_Var28 == (_func_int_varargs *)puVar21) {
                    uVar8 = puVar25[1];
                    uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +
                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 >> 8;
                  }
                  else {
                    uVar8 = (*p_Var28)(target,puVar25);
                  }
                  if (uVar6 <= uVar8) {
                    uVar16 = *puVar25;
                    iVar17 = (((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10) >> 0x10) +
                             ((uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff) * 0x10000;
                    if (((int)p_Var12[1]._M_color <= iVar17) &&
                       (iVar17 < (int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)
                       )) {
                      uVar16 = uVar8 - this->local_symbol_count_;
                      if (uVar8 < this->local_symbol_count_) {
                    /* WARNING: Does not return */
                        pcVar2 = (code *)trap(0);
                        (*pcVar2)();
                      }
                      ppSVar18 = (this->symbols_).
                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.
                                 _M_impl._M_start;
                      if ((uint)((int)(this->symbols_).
                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>
                                      ._M_impl._M_finish - (int)ppSVar18 >> 2) <= uVar16)
                      goto LAB_00288080;
                      iVar17 = (*(code *)PTR_compare_004c27e8)(&from,ppSVar18[uVar16]->name_);
                      if (iVar17 == 0) {
                        if ((local_50 == (Symbol *)0x0) &&
                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),
                           local_50 == (Symbol *)0x0)) {
                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);
                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);
                          break;
                        }
                        if (*reloc_map == (Reloc_symbol_changes *)0x0) {
                          pRVar15 = (Reloc_symbol_changes *)
                                    (*(code *)PTR_operator_new_004c13a8)(0xc);
                          (pRVar15->vec_).
                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                          _M_start = (pointer)0x0;
                          (pRVar15->vec_).
                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                          _M_finish = (pointer)0x0;
                          (pRVar15->vec_).
                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                          _M_end_of_storage = (pointer)0x0;
                          if (0x3fffffff < uVar23) goto LAB_002880f0;
                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */
                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);
                          (pRVar15->vec_).
                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                          _M_start = ppSVar13;
                          (pRVar15->vec_).
                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                          _M_end_of_storage = ppSVar13 + uVar23;
                          uVar8 = uVar23;
                          ppSVar18 = ppSVar13;
                          do {
                            uVar8 = uVar8 - 1;
                            *ppSVar18 = (Symbol *)0x0;
                            ppSVar18 = ppSVar18 + 1;
                          } while (uVar8 != 0);
                          (pRVar15->vec_).
                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.
                          _M_finish = ppSVar13 + uVar23;
                          *reloc_map = pRVar15;
                        }
                        else {
                          ppSVar13 = ((*reloc_map)->vec_).
                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>
                                     ._M_impl._M_start;
                        }
                        ppSVar13[uVar7] = local_50;
                      }
                    }
                  }
                  uVar7 = uVar7 + 1;
                  puVar25 = puVar25 + 3;
                } while (uVar7 < uVar23);
              }
              if ((undefined *)offset != puVar27) {
                (*(code *)PTR_operator_delete_004c12fc)();
              }
              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
                   *)from._M_dataplus._M_p != local_58) {
                (*(code *)PTR_operator_delete_004c12fc)();
              }
              p_Var12 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var12);
              if ((_Rb_tree_header *)p_Var12 == p_Var9) goto LAB_00288010;
              local_c0[0] = 0;
              from._M_string_length = 0;
              from.field_2._M_local_buf[0] = '\0';
              local_c4 = 0;
              piVar20 = *(int **)(*(int *)puVar3 + 0xc);
              offset = (section_offset_type)puVar27;
              from._M_dataplus._M_p = (pointer)local_58;
            } while (piVar20 != (int *)0x0);
          }
          goto LAB_002880bc;
        }
LAB_00288010:
        std::
        _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::pair<int_const,_unsigned_int>_>_>
        ::_M_erase(&calls_non_split._M_t,
                   (_Link_type)
                   calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);
        goto LAB_00287b2c;
      }
    }
    std::
    _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::pair<int_const,_unsigned_int>_>_>
    ::_M_erase(&calls_non_split._M_t,
               (_Link_type)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);
  }
LAB_00287b2c:
  std::
  _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::pair<int_const,_unsigned_int>_>_>
  ::_M_erase(local_38,(_Link_type)
                      function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);
LAB_00287b40:
  if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start != (pointer)0x0)
  {
    (*(code *)PTR_operator_delete_004c12fc)();
  }
  return;
LAB_00288080:
                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */
  (*(code *)PTR_do_gold_unreachable_004c1a30)
            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,
             PTR_s_in_a_linker_script_004c191c + -0x5f8);
LAB_0028809c:
                    /* try { // try from 002880b0 to 002880b7 has its CatchHandler @ 002881c4 */
  (*(code *)PTR_do_gold_unreachable_004c1a30)
            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,
             PTR_s_in_a_linker_script_004c191c + -0x5f8);
LAB_002880bc:
                    /* try { // try from 002880cc to 002880ef has its CatchHandler @ 00288118 */
  (*(code *)PTR_do_gold_unreachable_004c1a30)
            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,
             PTR_s_in_a_linker_script_004c191c + -0x5e8);
LAB_002880d4:
  (*(code *)PTR_do_gold_unreachable_004c1a30)
            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,
             PTR_s_in_a_linker_script_004c191c + -0x614);
LAB_002880f0:
                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */
  (*(code *)PTR___throw_bad_alloc_004c1ac0)();
LAB_002880fc:
                    /* try { // try from 00288110 to 00288117 has its CatchHandler @ 002881c4 */
  puVar21 = PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8;
  (*(code *)PTR_do_gold_unreachable_004c1a30)
            (puVar21,0x69,PTR_s_in_a_linker_script_004c191c + -0x5e8);
                    /* catch() { ... } // from try @ 00287de8 with catch @ 00288118
                       catch() { ... } // from try @ 00288094 with catch @ 00288118
                       catch() { ... } // from try @ 002880cc with catch @ 00288118 */
  if ((undefined *)offset != puVar27) {
    (*(code *)PTR_operator_delete_004c12fc)();
  }
  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
       *)from._M_dataplus._M_p != local_58) {
    (*(code *)PTR_operator_delete_004c12fc)();
  }
  std::
  _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::pair<int_const,_unsigned_int>_>_>
  ::_M_erase(&calls_non_split._M_t,
             (_Link_type)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);
  std::
  _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::pair<int_const,_unsigned_int>_>_>
  ::_M_erase(local_38,(_Link_type)
                      function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);
  if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start != (pointer)0x0)
  {
    (*(code *)PTR_operator_delete_004c12fc)();
  }
  (*(code *)PTR__Unwind_Resume_004c12c8)(puVar21);
  return;
}



/* void gold::Sized_relobj_file<32, false>::split_stack_adjust_reltype<4>(gold::Symbol_table const*,
   unsigned char const*, unsigned int, unsigned char const*, unsigned int, unsigned char*, unsigned
   int, gold::Reloc_symbol_changes**, gold::Sized_target<32, false> const*) */

void __thiscall
gold::Sized_relobj_file<32,false>::split_stack_adjust_reltype<4>
          (Sized_relobj_file<32,false> *this,Symbol_table *param_1,uchar *param_2,uint param_3,
          uchar *param_4,uint param_5,uchar *param_6,uint param_7,Reloc_symbol_changes **param_8,
          Sized_target *param_9)

{
  _Rb_tree_node *p_Var1;
  undefined *puVar2;
  undefined *puVar3;
  _Rb_tree_node *p_Var4;
  int ***pppiVar5;
  uint uVar6;
  int ***pppiVar7;
  _Rb_tree_node *p_Var8;
  _Rb_tree_node *p_Var9;
  undefined4 *puVar10;
  undefined4 *puVar11;
  undefined4 uVar12;
  uint uVar13;
  int *piVar14;
  undefined4 *puVar15;
  int iVar16;
  uint uVar17;
  int *piVar18;
  uint *puVar19;
  code *pcVar20;
  int **local_c8;
  int local_c4;
  undefined1 local_c0 [16];
  int **local_b0;
  int local_ac;
  undefined1 local_a8 [16];
  _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>
  a_Stack_98 [4];
  undefined4 local_94;
  _Rb_tree_node *local_90;
  undefined4 *local_8c;
  undefined4 *local_88;
  int local_84;
  map local_80 [4];
  undefined4 local_7c;
  _Rb_tree_node *local_78;
  _Rb_tree_node *local_74;
  _Rb_tree_node *local_70;
  int local_6c;
  int *local_68;
  int *local_64;
  int *local_60;
  int **local_58;
  int ***local_54;
  code *local_50;
  undefined4 *local_4c;
  int ***local_48;
  int *local_44;
  Reloc_symbol_changes *local_40;
  int local_3c;
  _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>
  *local_38;
  uint local_34;
  undefined *local_30;
  
  pcVar20 = *(code **)(*(int *)this + 0x8c);
  if (pcVar20 == (code *)PTR_local_symbol_count_004c1bc0) {
    pppiVar5 = (int ***)(**(code **)(*(int *)this + 0xbc))();
  }
  else {
    pppiVar5 = (int ***)(*pcVar20)();
  }
  puVar3 = PTR_get_r_sym_004c4580;
  puVar2 = PTR_parameters_004c19b4;
  local_68 = (int *)0x0;
  local_64 = (int *)0x0;
  local_60 = (int *)0x0;
  if (param_5 == 0) {
    return;
  }
  local_50 = (code *)PTR__M_realloc_insert<int_const&>_004c45e4;
  uVar17 = 0;
  local_58 = &local_68;
  local_54 = &local_c8;
  puVar19 = (uint *)param_4;
  do {
    if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {
      uVar6 = puVar19[1];
      pppiVar7 = (int ***)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +
                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8);
    }
    else {
      pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);
    }
    if (pppiVar5 <= pppiVar7) {
      uVar6 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);
      if (pppiVar7 < *(int ****)(this + 0xb8)) {
LAB_00288064:
        (*(code *)PTR_do_gold_unreachable_004c1a30)
                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,
                   PTR_s_in_a_linker_script_004c191c + -0x614);
        return;
      }
      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar6) {
                    /* try { // try from 002880b0 to 002880b7 has its CatchHandler @ 002881c4 */
        (*(code *)PTR_do_gold_unreachable_004c1a30)
                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,
                   PTR_s_in_a_linker_script_004c191c + -0x5f8);
        return;
      }
      iVar16 = *(int *)(*(int *)(this + 0xc4) + uVar6 * 4);
      if (iVar16 == 0) goto LAB_00288064;
      if (*(int *)(iVar16 + 0x28) << 0x14 < 0) {
        iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1);
      }
      uVar6 = *(uint *)(iVar16 + 0x28);
      if ((uVar6 & 0xe000) == 0) {
        if ((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&
            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)) {
          piVar14 = *(int **)(*(int *)puVar2 + 0xc);
          if (piVar14 == (int *)0x0) {
LAB_002880fc:
                    /* try { // try from 00288110 to 00288117 has its CatchHandler @ 002881c4 */
            (*(code *)PTR_do_gold_unreachable_004c1a30)
                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,
                       PTR_s_in_a_linker_script_004c191c + -0x5e8);
            return;
          }
                    /* try { // try from 00287a14 to 00287b03 has its CatchHandler @ 002881c4 */
          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);
          if (iVar16 != 0) {
            uVar6 = *puVar19;
            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +
                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);
            if (local_64 == local_60) {
                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */
              (*local_50)(local_58,local_64,local_54);
            }
            else {
              *local_64 = (int)local_c8;
              local_64 = local_64 + 1;
            }
          }
        }
      }
      else if (((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)) {
        (*(code *)PTR_do_gold_unreachable_004c1a30)
                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,
                   PTR_s_in_a_linker_script_004c191c + -0x5d0);
        return;
      }
    }
    uVar17 = uVar17 + 1;
    puVar19 = puVar19 + 3;
  } while (param_5 != uVar17);
  if (local_64 == local_68) goto LAB_00287b40;
  local_7c = 0;
  local_78 = (_Rb_tree_node *)0x0;
                    /* try { // try from 00287bbc to 00287bc3 has its CatchHandler @ 002881f0 */
  local_6c = 0;
  local_74 = (_Rb_tree_node *)&local_7c;
  local_70 = (_Rb_tree_node *)&local_7c;
  local_38 = (_Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>
              *)local_80;
  find_functions(this,param_2,param_3,local_80);
  if (local_6c != 0) {
    local_8c = &local_94;
    local_4c = local_8c;
    local_94 = 0;
    local_90 = (_Rb_tree_node *)0x0;
    local_84 = 0;
    local_88 = local_8c;
    if (local_68 != local_64) {
      local_54 = pppiVar5;
      local_58 = (int **)PTR__M_insert_unique<std_pair<int_const,unsigned_int>const&>_004c45ec;
      piVar14 = local_64;
      piVar18 = local_68;
      do {
        if (local_78 == (_Rb_tree_node *)0x0) {
LAB_00287f40:
          p_Var9 = (_Rb_tree_node *)
                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);
LAB_00287c78:
                    /* try { // try from 00287c84 to 00287c8b has its CatchHandler @ 002881b4 */
          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);
          piVar14 = local_64;
        }
        else {
          p_Var8 = (_Rb_tree_node *)&local_7c;
          p_Var4 = local_78;
          do {
            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {
              p_Var1 = p_Var9 + 0xc;
              p_Var9 = p_Var8;
              p_Var4 = *(_Rb_tree_node **)p_Var1;
              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;
            }
            p_Var8 = p_Var9;
            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);
          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);
LAB_00287c50:
          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;
          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;
          if (local_74 != p_Var9) {
            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);
            goto LAB_00287c78;
          }
        }
        pppiVar5 = local_54;
        piVar18 = piVar18 + 1;
      } while (piVar14 != piVar18);
      if (local_84 != 0) {
        if (local_8c != local_4c) {
          local_58 = (int **)local_a8;
          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);
          local_44 = (int *)PTR_parameters_004c19b4;
          if (piVar14 != (int *)0x0) {
            local_48 = &local_c8;
            local_54 = &local_b0;
            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;
            local_34 = (uint)(uVar17 < 0x40000000);
            puVar10 = local_8c;
            local_3c = uVar17 * 4;
            do {
              local_a8[0] = 0;
              local_ac = 0;
              local_c0[0] = 0;
              local_c4 = 0;
              local_c8 = (int **)local_c0;
              local_b0 = local_58;
                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */
              (**(code **)(*piVar14 + 0x58))
                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,
                         local_54,local_48);
              if (local_ac != 0) {
                uVar6 = 0;
                if (local_c4 == 0) {
                  (*(code *)PTR_do_gold_unreachable_004c1a30)
                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,
                             PTR_s_in_a_linker_script_004c191c + -0x614);
                  return;
                }
                local_50 = (code *)0x0;
                puVar19 = (uint *)param_4;
                do {
                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {
                    uVar13 = puVar19[1];
                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>
                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *
                                                 0x10000 >> 8);
                  }
                  else {
                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);
                  }
                  if (pppiVar5 <= pppiVar7) {
                    uVar13 = *puVar19;
                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +
                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;
                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {
                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);
                      if (pppiVar7 < *(int ****)(this + 0xb8)) {
                    /* WARNING: Does not return */
                        pcVar20 = (code *)trap(0);
                        (*pcVar20)();
                      }
                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {
                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */
                        (*(code *)PTR_do_gold_unreachable_004c1a30)
                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,
                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);
                        return;
                      }
                      iVar16 = (*(code *)PTR_compare_004c27e8)
                                         (local_54,**(undefined4 **)
                                                     (*(int *)(this + 0xc4) + uVar13 * 4));
                      if (iVar16 == 0) {
                        if ((local_50 == (code *)0x0) &&
                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),
                           local_50 == (code *)0x0)) {
                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);
                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);
                          break;
                        }
                        if (*param_8 == (Reloc_symbol_changes *)0x0) {
                          local_40 = (Reloc_symbol_changes *)
                                     (*(code *)PTR_operator_new_004c13a8)(0xc);
                          *(undefined4 *)local_40 = 0;
                          *(undefined4 *)(local_40 + 4) = 0;
                          *(undefined4 *)(local_40 + 8) = 0;
                          if (local_34 == 0) {
                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */
                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();
                            goto LAB_002880fc;
                          }
                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */
                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);
                          *(undefined4 **)local_40 = puVar11;
                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;
                          uVar13 = uVar17;
                          puVar15 = puVar11;
                          do {
                            uVar13 = uVar13 - 1;
                            *puVar15 = 0;
                            puVar15 = puVar15 + 1;
                          } while (uVar13 != 0);
                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;
                          *param_8 = local_40;
                        }
                        else {
                          puVar11 = *(undefined4 **)*param_8;
                        }
                        puVar11[uVar6] = local_50;
                      }
                    }
                  }
                  uVar6 = uVar6 + 1;
                  puVar19 = puVar19 + 3;
                } while (uVar6 < uVar17);
              }
              if (local_c8 != (int **)local_c0) {
                (*(code *)PTR_operator_delete_004c12fc)();
              }
              if (local_b0 != local_58) {
                (*(code *)PTR_operator_delete_004c12fc)();
              }
              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);
              if (puVar10 == local_4c) goto LAB_00288010;
              piVar14 = *(int **)(*local_44 + 0xc);
            } while (piVar14 != (int *)0x0);
          }
          local_a8[0] = 0;
          local_ac = 0;
          local_c0[0] = 0;
          local_c4 = 0;
                    /* try { // try from 002880cc to 002880ef has its CatchHandler @ 00288118 */
          local_c8 = (int **)local_c0;
          local_b0 = local_58;
          (*(code *)PTR_do_gold_unreachable_004c1a30)
                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,
                     PTR_s_in_a_linker_script_004c191c + -0x5e8);
          return;
        }
LAB_00288010:
        std::
        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>
        ::_M_erase(a_Stack_98,local_90);
        goto LAB_00287b2c;
      }
    }
    std::
    _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>
    ::_M_erase(a_Stack_98,local_90);
  }
LAB_00287b2c:
  std::
  _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>
  ::_M_erase(local_38,local_78);
LAB_00287b40:
  if (local_68 != (int *)0x0) {
    (*(code *)PTR_operator_delete_004c12fc)();
  }
  return;
}


lui gp,0x24
addiu gp,gp,0x1938
addu gp,gp,t9
lw v0,0x0(a0)
addiu sp,sp,-0x100
lw v1,-0x7680(gp)
sw gp,0x30(sp)
sw s5,0xec(sp)
sw s3,0xe4(sp)
or s3,a0,zero
sw s1,0xdc(sp)
sw ra,0xfc(sp)
sw s8,0xf8(sp)
sw s7,0xf4(sp)
sw s6,0xf0(sp)
sw s4,0xe8(sp)
sw s2,0xe0(sp)
sw s0,0xd8(sp)
sw a1,0x104(sp)
sw a2,0x108(sp)
sw a3,0x10c(sp)
lw t9,0x8c(v0)
lw s5,0x114(sp)
bne t9,v1,0x00288030
_lw s1,0x124(sp)
lw t9,0xbc(v0)
jalr t9
_nop
lw gp,0x30(sp)
or s2,v0,zero
sw zero,0x98(sp)
sw zero,0x9c(sp)
beq s5,zero,0x00287b50
_sw zero,0xa0(sp)
lw v0,-0x4c5c(gp)
or s0,zero,zero
lw s8,-0x4cc0(gp)
ori s6,zero,0x8000
lw s7,-0x788c(gp)
lw s4,0x110(sp)
sw v0,0xb0(sp)
addiu v0,sp,0x98
sw v0,0xa8(sp)
addiu v0,sp,0x38
b 0x00287a30
_sw v0,0xac(sp)
lw v1,0xc(a1)
bne v1,zero,0x002879d4
_ext v1,v0,0x2,0x1
bne v1,zero,0x00287a24
_nop
ext v0,v0,0xd,0x3
bne v0,zero,0x00287a24
_nop
lw v0,0x8(a1)
lw v0,0x2c(v0)
ext v0,v0,0x1d,0x1
bne v0,zero,0x00287a24
_nop
lw v0,0x0(s7)
lw a0,0xc(v0)
beq a0,zero,0x002880fc
_lw v1,0x11c(sp)
lw v0,0x0(a0)
lw a3,0x118(sp)
sw v1,0x10(sp)
lw t9,0x54(v0)
jalr t9
_or a2,s4,zero
bne v0,zero,0x00287f0c
_lw gp,0x30(sp)
addiu s0,s0,0x1
beq s5,s0,0x00287b80
_addiu s4,s4,0xc
lw v0,0x0(s1)
lw t9,0xf8(v0)
bne t9,s8,0x00287ae8
_or a1,s4,zero
lw v0,0x4(s4)
wsbh v0,v0
rotr v0,v0,0x10
srl v0,v0,0x8
sltu v1,v0,s2
bne v1,zero,0x00287a24
_nop
lw v1,0xb8(s3)
sltu a0,v0,v1
bne a0,zero,0x00288064
_subu v0,v0,v1
lw a0,0xc4(s3)
lw v1,0xc8(s3)
subu v1,v1,a0
sra v1,v1,0x2
sltu v1,v0,v1
beq v1,zero,0x0028809c
_sll v0,v0,0x2
addu v0,a0,v0
lw a1,0x0(v0)
beq a1,zero,0x00288064
_nop
lw v0,0x28(a1)
ext v0,v0,0xb,0x1
bne v0,zero,0x00287af8
_nop
lw v0,0x28(a1)
andi v1,v0,0xe000
beq v1,zero,0x002879c0
_nop
beq v1,s6,0x00287a24
_ext v0,v0,0xd,0x3
bne v0,zero,0x00287a28
_addiu s0,s0,0x1
addiu s0,s0,-0x1
lw a2,-0x7924(gp)
li a1,0xa1
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,-0x5d0
jalr t9
_addiu a0,a0,0x3860
jalr t9
_or a0,s1,zero
b 0x00287a50
_lw gp,0x30(sp)
lw t9,-0x7678(gp)
jalr t9
_lw a0,0x104(sp)
lw gp,0x30(sp)
b 0x00287aa8
_or a1,v0,zero
or a1,zero,zero
lw s0,-0x4c68(gp)
or t9,s0,zero
bal 0x00285f14
_addiu a0,sp,0x68
lw a1,0x88(sp)
lw a0,0xc8(sp)
or t9,s0,zero
bal 0x00285f14
_nop
lw gp,0x30(sp)
lw a0,0x98(sp)
beq a0,zero,0x00287b50
_lw t9,-0x7f44(gp)
jalr t9
_nop
lw ra,0xfc(sp)
lw s8,0xf8(sp)
lw s7,0xf4(sp)
lw s6,0xf0(sp)
lw s5,0xec(sp)
lw s4,0xe8(sp)
lw s3,0xe4(sp)
lw s2,0xe0(sp)
lw s1,0xdc(sp)
lw s0,0xd8(sp)
jr ra
_addiu sp,sp,0x100
lw a0,0x98(sp)
lw v0,0x9c(sp)
beq v0,a0,0x00287b40
_addiu v0,sp,0x80
lw a2,0x10c(sp)
addiu s5,sp,0x84
lw a1,0x108(sp)
lw t9,-0x4c58(gp)
or a3,v0,zero
sw v0,0xc8(sp)
or a0,s3,zero
sw zero,0x84(sp)
sw zero,0x88(sp)
sw s5,0x8c(sp)
sw s5,0x90(sp)
bal 0x00286290
_sw zero,0x94(sp)
lw v0,0x94(sp)
beq v0,zero,0x00287f38
_lw gp,0x30(sp)
lw s4,0x98(sp)
addiu v0,sp,0x6c
lw a0,0x9c(sp)
sw v0,0xb4(sp)
sw zero,0x6c(sp)
sw zero,0x70(sp)
sw v0,0x74(sp)
sw v0,0x78(sp)
beq s4,a0,0x00287b10
_sw zero,0x7c(sp)
lw v0,-0x4c54(gp)
addiu s6,sp,0x68
addiu s7,sp,0x38
sw s2,0xac(sp)
sw v0,0xa8(sp)
lw v1,0x88(sp)
beq v1,zero,0x00287f40
_lw t9,-0x4c50(gp)
lw a3,0x0(s4)
b 0x00287c34
_or v0,s5,zero
or v0,v1,zero
lw v1,0x8(v1)
beq v1,zero,0x00287c50
_nop
lw a1,0x10(v1)
slt a1,a1,a3
beq a1,zero,0x00287c24
_nop
lw v1,0xc(v1)
bne v1,zero,0x00287c34
_nop
beq v0,s5,0x00287f40
_lw t9,-0x4c50(gp)
lw v1,0x10(v0)
beq v1,a3,0x00287c74
_lw v1,0x8c(sp)
beq v1,v0,0x00287c94
_nop
jalr t9
_or a0,v0,zero
lw t9,0xa8(sp)
addiu a2,v0,0x10
or a1,s6,zero
or a0,s7,zero
jalr t9
_or s2,s6,zero
lw gp,0x30(sp)
lw a0,0x9c(sp)
addiu s4,s4,0x4
bne a0,s4,0x00287c10
_lw v1,0x88(sp)
lw v0,0x7c(sp)
beq v0,zero,0x0028805c
_lw s2,0xac(sp)
lw s6,0x74(sp)
lw v0,0xb4(sp)
beq s6,v0,0x00288010
_lw v0,-0x788c(gp)
addiu v1,sp,0x58
sb zero,0x40(sp)
addiu s7,sp,0x40
sw v1,0xa8(sp)
sw v0,0xbc(sp)
lw v0,0x0(v0)
sw v1,0x50(sp)
sw zero,0x54(sp)
sb zero,0x58(sp)
sw s7,0x38(sp)
sw zero,0x3c(sp)
lw a0,0xc(v0)
beq a0,zero,0x002880b8
_sll v0,s0,0x2
sw v0,0xc4(sp)
addiu v0,sp,0x38
sw v0,0xb8(sp)
addiu v0,sp,0x50
sw v0,0xac(sp)
lw v0,-0x7924(gp)
addiu v0,v0,-0xd34
sw v0,0xd0(sp)
lui v0,0x4000
sltu v0,s0,v0
b 0x00287da4
_sw v0,0xcc(sp)
lw a0,0x38(sp)
beq a0,s7,0x00287d3c
_lw t9,-0x7f44(gp)
jalr t9
_nop
lw gp,0x30(sp)
lw a0,0x50(sp)
lw v0,0xa8(sp)
beq a0,v0,0x00287d58
_lw t9,-0x7f44(gp)
jalr t9
_nop
lw gp,0x30(sp)
lw t9,-0x73e4(gp)
jalr t9
_or a0,s6,zero
or s6,v0,zero
lw v0,0xb4(sp)
beq s6,v0,0x00288010
_lw gp,0x30(sp)
lw v0,0xbc(sp)
lw v1,0xa8(sp)
sb zero,0x40(sp)
sw zero,0x54(sp)
lw v0,0x0(v0)
sw v1,0x50(sp)
sb zero,0x58(sp)
sw s7,0x38(sp)
sw zero,0x3c(sp)
lw a0,0xc(v0)
beq a0,zero,0x002880bc
_lw a2,-0x7924(gp)
lw v1,0xb8(sp)
lw v0,0x0(a0)
lw a3,0x10(s6)
sw v1,0x28(sp)
lw v1,0xac(sp)
sw s0,0x18(sp)
lw a2,0x10c(sp)
sw v1,0x24(sp)
lw v1,0x11c(sp)
sw v1,0x20(sp)
lw v1,0x118(sp)
sw v1,0x1c(sp)
lw v1,0x110(sp)
sw v1,0x14(sp)
lw v1,0x14(s6)
sw v1,0x10(sp)
lw t9,0x58(v0)
jalr t9
_or a1,s3,zero
lw v0,0x54(sp)
beq v0,zero,0x00287d24
_lw gp,0x30(sp)
lw v0,0x3c(sp)
beq v0,zero,0x002880d4
_or s5,zero,zero
lw s4,0x110(sp)
b 0x00287eec
_sw zero,0xb0(sp)
lw v0,0x4(s4)
wsbh v0,v0
rotr v0,v0,0x10
srl v0,v0,0x8
sltu v1,v0,s2
bne v1,zero,0x00287edc
_nop
lw v1,0x0(s4)
lw a0,0x10(s6)
wsbh v1,v1
rotr v1,v1,0x10
slt a1,v1,a0
bne a1,zero,0x00287edc
_nop
lw a1,0x14(s6)
addu a0,a0,a1
slt v1,v1,a0
beq v1,zero,0x00287edc
_nop
lw v1,0xb8(s3)
sltu a0,v0,v1
bne a0,zero,0x002881ac
_subu v0,v0,v1
lw a1,0xc4(s3)
lw v1,0xc8(s3)
subu v1,v1,a1
sra v1,v1,0x2
sltu v1,v0,v1
beq v1,zero,0x00288080
_sll v0,v0,0x2
lw t9,-0x6a58(gp)
lw a0,0xac(sp)
addu v0,a1,v0
lw v0,0x0(v0)
jalr t9
_lw a1,0x0(v0)
bne v0,zero,0x00287edc
_lw gp,0x30(sp)
lw v0,0xb0(sp)
beq v0,zero,0x00287f50
_or a2,zero,zero
lw v0,0x120(sp)
lw v0,0x0(v0)
beq v0,zero,0x00287f9c
_lw t9,-0x7e98(gp)
lw v0,0x0(v0)
sll v1,s5,0x2
addu v0,v0,v1
lw v1,0xb0(sp)
sw v1,0x0(v0)
addiu s5,s5,0x1
sltu v0,s5,s0
beq v0,zero,0x00287d24
_addiu s4,s4,0xc
lw v0,0x0(s1)
lw t9,0xf8(v0)
beq t9,s8,0x00287e14
_or a1,s4,zero
jalr t9
_or a0,s1,zero
b 0x00287e24
_lw gp,0x30(sp)
lw v0,0x0(s4)
lw a1,0x9c(sp)
lw v1,0xa0(sp)
wsbh v0,v0
rotr v0,v0,0x10
beq a1,v1,0x00288044
_sw v0,0x38(sp)
addiu v1,a1,0x4
sw v0,0x0(a1)
b 0x00287a24
_sw v1,0x9c(sp)
b 0x00287b24
_lw s0,-0x4c68(gp)
jalr t9
_or a0,s5,zero
b 0x00287c78
_lw t9,0xa8(sp)
lw a1,0x38(sp)
lw t9,-0x7400(gp)
jalr t9
_lw a0,0x104(sp)
lw gp,0x30(sp)
bne v0,zero,0x00287eb8
_sw v0,0xb0(sp)
lw t9,-0x3610(gp)
jalr t9
_lw a0,0xd0(sp)
or a0,s3,zero
lw gp,0x30(sp)
or a1,v0,zero
lw a3,0x38(sp)
lw t9,-0x77ec(gp)
jalr t9
_lw a2,0x50(sp)
b 0x00287d24
_lw gp,0x30(sp)
jalr t9
_li a0,0xc
lw gp,0x30(sp)
sw v0,0xc0(sp)
sw zero,0x0(v0)
sw zero,0x4(v0)
sw zero,0x8(v0)
lw v0,0xcc(sp)
beq v0,zero,0x002880f0
_lw t9,-0x7e98(gp)
jalr t9
_lw a0,0xc4(sp)
lw v1,0xc4(sp)
or a0,v0,zero
lw gp,0x30(sp)
addu a1,v0,v1
lw v1,0xc0(sp)
sw v0,0x0(v1)
sw a1,0x8(v1)
or v1,s0,zero
addiu v1,v1,-0x1
sw zero,0x0(a0)
bne v1,zero,0x00287fec
_addiu a0,a0,0x4
lw v1,0xc0(sp)
lw a0,0x120(sp)
sw a1,0x4(v1)
b 0x00287ecc
_sw v1,0x0(a0)
lw s0,-0x4c68(gp)
addiu a0,sp,0x68
or t9,s0,zero
bal 0x00285f14
_lw a1,0x70(sp)
lw a0,0xc8(sp)
b 0x00287b2c
_lw a1,0x88(sp)
jalr t9
_nop
lw gp,0x30(sp)
b 0x00287980
_or s2,v0,zero
lw a2,0xac(sp)
lw t9,0xb0(sp)
jalr t9
_lw a0,0xa8(sp)
b 0x00287a24
_lw gp,0x30(sp)
b 0x00287b14
_lw a1,0x70(sp)
lw a2,-0x7924(gp)
li a1,0x4ef
lw a0,-0x7924(gp)
lw t9,-0x7810(gp)
addiu a2,a2,-0x614
jalr t9
_addiu a0,a0,-0xe14
lw a2,-0x7924(gp)
li a1,0x8ad
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,-0x5f8
jalr t9
_addiu a0,a0,0x4570
lw a2,-0x7924(gp)
li a1,0x8ad
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,-0x5f8
jalr t9
_addiu a0,a0,0x4570
lw a2,-0x7924(gp)
li a1,0x69
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,-0x5e8
jalr t9
_addiu a0,a0,-0x9b8
lw a2,-0x7924(gp)
li a1,0x53d
lw a0,-0x7924(gp)
lw t9,-0x7810(gp)
addiu a2,a2,-0x614
jalr t9
_addiu a0,a0,-0xe14
lw t9,-0x7780(gp)
jalr t9
_nop
lw a2,-0x7924(gp)
li a1,0x69
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,-0x5e8
jalr t9
_addiu a0,a0,-0x9b8
lw v0,0x0(zero)
teq zero,zero
(translation_unit "/* void gold::Sized_relobj_file<32, false>::split_stack_adjust_reltype<4>(gold::Symbol_table const*,\n   unsigned char const*, unsigned int, unsigned char const*, unsigned int, unsigned char*, unsigned\n   int, gold::Reloc_symbol_changes**, gold::Sized_target<32, false> const*) */\n\nvoid __thiscall\ngold::Sized_relobj_file<32,false>::split_stack_adjust_reltype<4>\n          (Sized_relobj_file<32,false> *this,Symbol_table *param_1,uchar *param_2,uint param_3,\n          uchar *param_4,uint param_5,uchar *param_6,uint param_7,Reloc_symbol_changes **param_8,\n          Sized_target *param_9)\n\n{\n  _Rb_tree_node *p_Var1;\n  undefined *puVar2;\n  undefined *puVar3;\n  _Rb_tree_node *p_Var4;\n  int ***pppiVar5;\n  uint uVar6;\n  int ***pppiVar7;\n  _Rb_tree_node *p_Var8;\n  _Rb_tree_node *p_Var9;\n  undefined4 *puVar10;\n  undefined4 *puVar11;\n  undefined4 uVar12;\n  uint uVar13;\n  int *piVar14;\n  undefined4 *puVar15;\n  int iVar16;\n  uint uVar17;\n  int *piVar18;\n  uint *puVar19;\n  code *pcVar20;\n  int **local_c8;\n  int local_c4;\n  undefined1 local_c0 [16];\n  int **local_b0;\n  int local_ac;\n  undefined1 local_a8 [16];\n  _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n  a_Stack_98 [4];\n  undefined4 local_94;\n  _Rb_tree_node *local_90;\n  undefined4 *local_8c;\n  undefined4 *local_88;\n  int local_84;\n  map local_80 [4];\n  undefined4 local_7c;\n  _Rb_tree_node *local_78;\n  _Rb_tree_node *local_74;\n  _Rb_tree_node *local_70;\n  int local_6c;\n  int *local_68;\n  int *local_64;\n  int *local_60;\n  int **local_58;\n  int ***local_54;\n  code *local_50;\n  undefined4 *local_4c;\n  int ***local_48;\n  int *local_44;\n  Reloc_symbol_changes *local_40;\n  int local_3c;\n  _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n  *local_38;\n  uint local_34;\n  undefined *local_30;\n  \n  pcVar20 = *(code **)(*(int *)this + 0x8c);\n  if (pcVar20 == (code *)PTR_local_symbol_count_004c1bc0) {\n    pppiVar5 = (int ***)(**(code **)(*(int *)this + 0xbc))();\n  }\n  else {\n    pppiVar5 = (int ***)(*pcVar20)();\n  }\n  puVar3 = PTR_get_r_sym_004c4580;\n  puVar2 = PTR_parameters_004c19b4;\n  local_68 = (int *)0x0;\n  local_64 = (int *)0x0;\n  local_60 = (int *)0x0;\n  if (param_5 == 0) {\n    return;\n  }\n  local_50 = (code *)PTR__M_realloc_insert<int_const&>_004c45e4;\n  uVar17 = 0;\n  local_58 = &local_68;\n  local_54 = &local_c8;\n  puVar19 = (uint *)param_4;\n  do {\n    if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n      uVar6 = puVar19[1];\n      pppiVar7 = (int ***)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8);\n    }\n    else {\n      pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n    }\n    if (pppiVar5 <= pppiVar7) {\n      uVar6 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n      if (pppiVar7 < *(int ****)(this + 0xb8)) {\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        return;\n      }\n      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar6) {\n                    /* try { // try from 002880b0 to 002880b7 has its CatchHandler @ 002881c4 */\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n        return;\n      }\n      iVar16 = *(int *)(*(int *)(this + 0xc4) + uVar6 * 4);\n      if (iVar16 == 0) goto LAB_00288064;\n      if (*(int *)(iVar16 + 0x28) << 0x14 < 0) {\n        iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1);\n      }\n      uVar6 = *(uint *)(iVar16 + 0x28);\n      if ((uVar6 & 0xe000) == 0) {\n        if ((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)) {\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    /* try { // try from 00288110 to 00288117 has its CatchHandler @ 002881c4 */\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    /* try { // try from 00287a14 to 00287b03 has its CatchHandler @ 002881c4 */\n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }\n      }\n      else if (((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)) {\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }\n    }\n    uVar17 = uVar17 + 1;\n    puVar19 = puVar19 + 3;\n  } while (param_5 != uVar17);\n  if (local_64 == local_68) goto LAB_00287b40;\n  local_7c = 0;\n  local_78 = (_Rb_tree_node *)0x0;\n                    /* try { // try from 00287bbc to 00287bc3 has its CatchHandler @ 002881f0 */\n  local_6c = 0;\n  local_74 = (_Rb_tree_node *)&local_7c;\n  local_70 = (_Rb_tree_node *)&local_7c;\n  local_38 = (_Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n              *)local_80;\n  find_functions(this,param_2,param_3,local_80);\n  if (local_6c != 0) {\n    local_8c = &local_94;\n    local_4c = local_8c;\n    local_94 = 0;\n    local_90 = (_Rb_tree_node *)0x0;\n    local_84 = 0;\n    local_88 = local_8c;\n    if (local_68 != local_64) {\n      local_54 = pppiVar5;\n      local_58 = (int **)PTR__M_insert_unique<std_pair<int_const,unsigned_int>const&>_004c45ec;\n      piVar14 = local_64;\n      piVar18 = local_68;\n      do {\n        if (local_78 == (_Rb_tree_node *)0x0) {\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    /* try { // try from 00287c84 to 00287c8b has its CatchHandler @ 002881b4 */\n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }\n        else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }\n        pppiVar5 = local_54;\n        piVar18 = piVar18 + 1;\n      } while (piVar14 != piVar18);\n      if (local_84 != 0) {\n        if (local_8c != local_4c) {\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    /* WARNING: Does not return */\n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */\n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    /* try { // try from 002880cc to 002880ef has its CatchHandler @ 00288118 */\n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);\n        goto LAB_00287b2c;\n      }\n    }\n    std::\n    _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n    ::_M_erase(a_Stack_98,local_90);\n  }\nLAB_00287b2c:\n  std::\n  _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n  ::_M_erase(local_38,local_78);\nLAB_00287b40:\n  if (local_68 != (int *)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  return;\n}\n\n" comment (declaration "void __thiscall\ngold::Sized_relobj_file<32,false>::split_stack_adjust_reltype<4>\n          (Sized_relobj_file<32,false> *this,Symbol_table *param_1,uchar *param_2,uint param_3,\n          uchar *param_4,uint param_5,uchar *param_6,uint param_7,Reloc_symbol_changes **param_8,\n          Sized_target *param_9)\n\n{\n  _Rb_tree_node *p_Var1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "false>::split_stack_adjust_reltype<4>\n          (Sized_relobj_file<32,false> *this,Symbol_table *param_1,uchar *param_2,uint param_3,\n          uchar *param_4,uint param_5,uchar *param_6,uint param_7,Reloc_symbol_changes **param_8,\n          Sized_target *param_9)\n\n{\n  _Rb_tree_node" identifier > : : (function_declarator "split_stack_adjust_reltype<4>\n          (Sized_relobj_file<32,false> *this,Symbol_table *param_1,uchar *param_2,uint param_3,\n          uchar *param_4,uint param_5,uchar *param_6,uint param_7,Reloc_symbol_changes **param_8,\n          Sized_target *param_9)" identifier (ERROR "<4>" < number_literal >) (parameter_list "(Sized_relobj_file<32,false> *this,Symbol_table *param_1,uchar *param_2,uint param_3,\n          uchar *param_4,uint param_5,uchar *param_6,uint param_7,Reloc_symbol_changes **param_8,\n          Sized_target *param_9)" ( (parameter_declaration "Sized_relobj_file" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol_table *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "uchar *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "uchar *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "uint param_5" type_identifier identifier) , (parameter_declaration "uchar *param_6" type_identifier (pointer_declarator "*param_6" * identifier)) , (parameter_declaration "uint param_7" type_identifier identifier) , (parameter_declaration "Reloc_symbol_changes **param_8" type_identifier (pointer_declarator "**param_8" * (pointer_declarator "*param_8" * identifier))) , (parameter_declaration "Sized_target *param_9" type_identifier (pointer_declarator "*param_9" * identifier)) ))) { identifier) (pointer_declarator "*p_Var1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "_Rb_tree_node *p_Var4;" type_identifier (pointer_declarator "*p_Var4" * identifier) ;) (declaration "int ***pppiVar5;" primitive_type (pointer_declarator "***pppiVar5" * (pointer_declarator "**pppiVar5" * (pointer_declarator "*pppiVar5" * identifier))) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int ***pppiVar7;" primitive_type (pointer_declarator "***pppiVar7" * (pointer_declarator "**pppiVar7" * (pointer_declarator "*pppiVar7" * identifier))) ;) (declaration "_Rb_tree_node *p_Var8;" type_identifier (pointer_declarator "*p_Var8" * identifier) ;) (declaration "_Rb_tree_node *p_Var9;" type_identifier (pointer_declarator "*p_Var9" * identifier) ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "undefined4 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "uint *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "code *pcVar20;" type_identifier (pointer_declarator "*pcVar20" * identifier) ;) (declaration "int **local_c8;" primitive_type (pointer_declarator "**local_c8" * (pointer_declarator "*local_c8" * identifier)) ;) (declaration "int local_c4;" primitive_type identifier ;) (declaration "undefined1 local_c0 [16];" type_identifier (array_declarator "local_c0 [16]" identifier [ number_literal ]) ;) (declaration "int **local_b0;" primitive_type (pointer_declarator "**local_b0" * (pointer_declarator "*local_b0" * identifier)) ;) (declaration "int local_ac;" primitive_type identifier ;) (declaration "undefined1 local_a8 [16];" type_identifier (array_declarator "local_a8 [16]" identifier [ number_literal ]) ;) (ERROR "_Rb_tree<int," (binary_expression "_Rb_tree<int" identifier < identifier) ,) (labeled_statement "std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n  a_Stack_98 [4];" statement_identifier (ERROR "::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std:" : : (comma_expression "pair<int_const,unsigned_int>,std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>,std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<int_const,unsigned_int>>,std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>>,std" identifier >> (ERROR "," ,) identifier)) : : (binary_expression "less<int>,std" (binary_expression "less<int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) :) : (expression_statement "pair<int_const,unsigned_int>>>\n  a_Stack_98 [4];" (comma_expression "pair<int_const,unsigned_int>>>\n  a_Stack_98 [4]" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>>>\n  a_Stack_98 [4]" identifier >> (ERROR ">" >) (subscript_expression "a_Stack_98 [4]" identifier [ number_literal ]))) ;)) (declaration "undefined4 local_94;" type_identifier identifier ;) (declaration "_Rb_tree_node *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "undefined4 *local_8c;" type_identifier (pointer_declarator "*local_8c" * identifier) ;) (declaration "undefined4 *local_88;" type_identifier (pointer_declarator "*local_88" * identifier) ;) (declaration "int local_84;" primitive_type identifier ;) (declaration "map local_80 [4];" type_identifier (array_declarator "local_80 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 local_7c;" type_identifier identifier ;) (declaration "_Rb_tree_node *local_78;" type_identifier (pointer_declarator "*local_78" * identifier) ;) (declaration "_Rb_tree_node *local_74;" type_identifier (pointer_declarator "*local_74" * identifier) ;) (declaration "_Rb_tree_node *local_70;" type_identifier (pointer_declarator "*local_70" * identifier) ;) (declaration "int local_6c;" primitive_type identifier ;) (declaration "int *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "int *local_64;" primitive_type (pointer_declarator "*local_64" * identifier) ;) (declaration "int *local_60;" primitive_type (pointer_declarator "*local_60" * identifier) ;) (declaration "int **local_58;" primitive_type (pointer_declarator "**local_58" * (pointer_declarator "*local_58" * identifier)) ;) (declaration "int ***local_54;" primitive_type (pointer_declarator "***local_54" * (pointer_declarator "**local_54" * (pointer_declarator "*local_54" * identifier))) ;) (declaration "code *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "undefined4 *local_4c;" type_identifier (pointer_declarator "*local_4c" * identifier) ;) (declaration "int ***local_48;" primitive_type (pointer_declarator "***local_48" * (pointer_declarator "**local_48" * (pointer_declarator "*local_48" * identifier))) ;) (declaration "int *local_44;" primitive_type (pointer_declarator "*local_44" * identifier) ;) (declaration "Reloc_symbol_changes *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "int local_3c;" primitive_type identifier ;) (ERROR "_Rb_tree<int," (binary_expression "_Rb_tree<int" identifier < identifier) ,) (labeled_statement "std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n  *local_38;" statement_identifier (ERROR "::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std:" : : (comma_expression "pair<int_const,unsigned_int>,std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>,std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<int_const,unsigned_int>>,std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>>,std" identifier >> (ERROR "," ,) identifier)) : : (binary_expression "less<int>,std" (binary_expression "less<int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) :) : (expression_statement "pair<int_const,unsigned_int>>>\n  *local_38;" (comma_expression "pair<int_const,unsigned_int>>>\n  *local_38" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>>>\n  *local_38" identifier >> (ERROR ">" >) (pointer_expression "*local_38" * identifier))) ;)) (declaration "uint local_34;" type_identifier identifier ;) (declaration "undefined *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (expression_statement "pcVar20 = *(code **)(*(int *)this + 0x8c);" (assignment_expression "pcVar20 = *(code **)(*(int *)this + 0x8c)" identifier = (pointer_expression "*(code **)(*(int *)this + 0x8c)" * (cast_expression "(code **)(*(int *)this + 0x8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)this + 0x8c)" ( (binary_expression "*(int *)this + 0x8c" (pointer_expression "*(int *)this" * (cast_expression "(int *)this" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (if_statement "if (pcVar20 == (code *)PTR_local_symbol_count_004c1bc0) {\n    pppiVar5 = (int ***)(**(code **)(*(int *)this + 0xbc))();\n  }\n  else {\n    pppiVar5 = (int ***)(*pcVar20)();\n  }" if (parenthesized_expression "(pcVar20 == (code *)PTR_local_symbol_count_004c1bc0)" ( (binary_expression "pcVar20 == (code *)PTR_local_symbol_count_004c1bc0" identifier == (cast_expression "(code *)PTR_local_symbol_count_004c1bc0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n    pppiVar5 = (int ***)(**(code **)(*(int *)this + 0xbc))();\n  }" { (expression_statement "pppiVar5 = (int ***)(**(code **)(*(int *)this + 0xbc))();" (assignment_expression "pppiVar5 = (int ***)(**(code **)(*(int *)this + 0xbc))()" identifier = (cast_expression "(int ***)(**(code **)(*(int *)this + 0xbc))()" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(**(code **)(*(int *)this + 0xbc))()" (parenthesized_expression "(**(code **)(*(int *)this + 0xbc))" ( (pointer_expression "**(code **)(*(int *)this + 0xbc)" * (pointer_expression "*(code **)(*(int *)this + 0xbc)" * (cast_expression "(code **)(*(int *)this + 0xbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)this + 0xbc)" ( (binary_expression "*(int *)this + 0xbc" (pointer_expression "*(int *)this" * (cast_expression "(int *)this" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "()" ( ))))) ;) }) (else_clause "else {\n    pppiVar5 = (int ***)(*pcVar20)();\n  }" else (compound_statement "{\n    pppiVar5 = (int ***)(*pcVar20)();\n  }" { (expression_statement "pppiVar5 = (int ***)(*pcVar20)();" (assignment_expression "pppiVar5 = (int ***)(*pcVar20)()" identifier = (cast_expression "(int ***)(*pcVar20)()" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "()" ( ))))) ;) }))) (expression_statement "puVar3 = PTR_get_r_sym_004c4580;" (assignment_expression "puVar3 = PTR_get_r_sym_004c4580" identifier = identifier) ;) (expression_statement "puVar2 = PTR_parameters_004c19b4;" (assignment_expression "puVar2 = PTR_parameters_004c19b4" identifier = identifier) ;) (expression_statement "local_68 = (int *)0x0;" (assignment_expression "local_68 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_64 = (int *)0x0;" (assignment_expression "local_64 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_60 = (int *)0x0;" (assignment_expression "local_60 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (param_5 == 0) {\n    return;\n  }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "local_50 = (code *)PTR__M_realloc_insert<int_const&>_004c45e4;" (assignment_expression "local_50 = (code *)PTR__M_realloc_insert<int_const&>_004c45e4" identifier = (binary_expression "(code *)PTR__M_realloc_insert<int_const&>_004c45e4" (binary_expression "(code *)PTR__M_realloc_insert<int_const" (cast_expression "(code *)PTR__M_realloc_insert" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < identifier) (ERROR "&" &) > identifier)) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "local_58 = &local_68;" (assignment_expression "local_58 = &local_68" identifier = (pointer_expression "&local_68" & identifier)) ;) (expression_statement "local_54 = &local_c8;" (assignment_expression "local_54 = &local_c8" identifier = (pointer_expression "&local_c8" & identifier)) ;) (expression_statement "puVar19 = (uint *)param_4;" (assignment_expression "puVar19 = (uint *)param_4" identifier = (cast_expression "(uint *)param_4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n    if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n      uVar6 = puVar19[1];\n      pppiVar7 = (int ***)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8);\n    }\n    else {\n      pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n    }\n    if (pppiVar5 <= pppiVar7) {\n      uVar6 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n      if (pppiVar7 < *(int ****)(this + 0xb8)) {\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        return;\n      }\n      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar6) {\n                    /* try { // try from 002880b0 to 002880b7 has its CatchHandler @ 002881c4 */\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n        return;\n      }\n      iVar16 = *(int *)(*(int *)(this + 0xc4) + uVar6 * 4);\n      if (iVar16 == 0) goto LAB_00288064;\n      if (*(int *)(iVar16 + 0x28) << 0x14 < 0) {\n        iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1);\n      }\n      uVar6 = *(uint *)(iVar16 + 0x28);\n      if ((uVar6 & 0xe000) == 0) {\n        if ((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)) {\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    /* try { // try from 00288110 to 00288117 has its CatchHandler @ 002881c4 */\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    /* try { // try from 00287a14 to 00287b03 has its CatchHandler @ 002881c4 */\n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }\n      }\n      else if (((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)) {\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }\n    }\n    uVar17 = uVar17 + 1;\n    puVar19 = puVar19 + 3;\n  } while (param_5 != uVar17);" do (compound_statement "{\n    if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n      uVar6 = puVar19[1];\n      pppiVar7 = (int ***)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8);\n    }\n    else {\n      pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n    }\n    if (pppiVar5 <= pppiVar7) {\n      uVar6 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n      if (pppiVar7 < *(int ****)(this + 0xb8)) {\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        return;\n      }\n      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar6) {\n                    /* try { // try from 002880b0 to 002880b7 has its CatchHandler @ 002881c4 */\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n        return;\n      }\n      iVar16 = *(int *)(*(int *)(this + 0xc4) + uVar6 * 4);\n      if (iVar16 == 0) goto LAB_00288064;\n      if (*(int *)(iVar16 + 0x28) << 0x14 < 0) {\n        iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1);\n      }\n      uVar6 = *(uint *)(iVar16 + 0x28);\n      if ((uVar6 & 0xe000) == 0) {\n        if ((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)) {\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    /* try { // try from 00288110 to 00288117 has its CatchHandler @ 002881c4 */\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    /* try { // try from 00287a14 to 00287b03 has its CatchHandler @ 002881c4 */\n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }\n      }\n      else if (((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)) {\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }\n    }\n    uVar17 = uVar17 + 1;\n    puVar19 = puVar19 + 3;\n  }" { (if_statement "if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n      uVar6 = puVar19[1];\n      pppiVar7 = (int ***)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8);\n    }\n    else {\n      pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n    }" if (parenthesized_expression "(*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3)" ( (binary_expression "*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3" (pointer_expression "*(code **)(*(int *)param_9 + 0xf8)" * (cast_expression "(code **)(*(int *)param_9 + 0xf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)param_9 + 0xf8)" ( (binary_expression "*(int *)param_9 + 0xf8" (pointer_expression "*(int *)param_9" * (cast_expression "(int *)param_9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == (cast_expression "(code *)puVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      uVar6 = puVar19[1];\n      pppiVar7 = (int ***)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8);\n    }" { (expression_statement "uVar6 = puVar19[1];" (assignment_expression "uVar6 = puVar19[1]" identifier = (subscript_expression "puVar19[1]" identifier [ number_literal ])) ;) (expression_statement "pppiVar7 = (int ***)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8);" (assignment_expression "pppiVar7 = (int ***)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8)" identifier = (cast_expression "(int ***)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8)" ( (binary_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8" (binary_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10)" ( (binary_expression "(uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10" (binary_expression "(uVar6 >> 0x10) << 0x18" (parenthesized_expression "(uVar6 >> 0x10)" ( (binary_expression "uVar6 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar6 >> 0x18) << 0x10" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff)" ( (binary_expression "(uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff" (binary_expression "(uVar6 & 0xff) << 8" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) >> number_literal) )))) ;) }) (else_clause "else {\n      pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n    }" else (compound_statement "{\n      pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n    }" { (expression_statement "pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);" (assignment_expression "pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19)" identifier = (cast_expression "(int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19)" (parenthesized_expression "(**(code **)(*(int *)param_9 + 0xf8))" ( (pointer_expression "**(code **)(*(int *)param_9 + 0xf8)" * (pointer_expression "*(code **)(*(int *)param_9 + 0xf8)" * (cast_expression "(code **)(*(int *)param_9 + 0xf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)param_9 + 0xf8)" ( (binary_expression "*(int *)param_9 + 0xf8" (pointer_expression "*(int *)param_9" * (cast_expression "(int *)param_9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(param_9,puVar19)" ( identifier , identifier ))))) ;) }))) (if_statement "if (pppiVar5 <= pppiVar7) {\n      uVar6 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n      if (pppiVar7 < *(int ****)(this + 0xb8)) {\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        return;\n      }\n      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar6) {\n                    /* try { // try from 002880b0 to 002880b7 has its CatchHandler @ 002881c4 */\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n        return;\n      }\n      iVar16 = *(int *)(*(int *)(this + 0xc4) + uVar6 * 4);\n      if (iVar16 == 0) goto LAB_00288064;\n      if (*(int *)(iVar16 + 0x28) << 0x14 < 0) {\n        iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1);\n      }\n      uVar6 = *(uint *)(iVar16 + 0x28);\n      if ((uVar6 & 0xe000) == 0) {\n        if ((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)) {\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    /* try { // try from 00288110 to 00288117 has its CatchHandler @ 002881c4 */\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    /* try { // try from 00287a14 to 00287b03 has its CatchHandler @ 002881c4 */\n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }\n      }\n      else if (((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)) {\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }\n    }" if (parenthesized_expression "(pppiVar5 <= pppiVar7)" ( (binary_expression "pppiVar5 <= pppiVar7" identifier <= identifier) )) (compound_statement "{\n      uVar6 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n      if (pppiVar7 < *(int ****)(this + 0xb8)) {\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        return;\n      }\n      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar6) {\n                    /* try { // try from 002880b0 to 002880b7 has its CatchHandler @ 002881c4 */\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n        return;\n      }\n      iVar16 = *(int *)(*(int *)(this + 0xc4) + uVar6 * 4);\n      if (iVar16 == 0) goto LAB_00288064;\n      if (*(int *)(iVar16 + 0x28) << 0x14 < 0) {\n        iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1);\n      }\n      uVar6 = *(uint *)(iVar16 + 0x28);\n      if ((uVar6 & 0xe000) == 0) {\n        if ((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)) {\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    /* try { // try from 00288110 to 00288117 has its CatchHandler @ 002881c4 */\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    /* try { // try from 00287a14 to 00287b03 has its CatchHandler @ 002881c4 */\n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }\n      }\n      else if (((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)) {\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }\n    }" { (expression_statement "uVar6 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);" (assignment_expression "uVar6 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8)" identifier = (binary_expression "(int)pppiVar7 - (int)*(int ****)(this + 0xb8)" (cast_expression "(int)pppiVar7" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)*(int ****)(this + 0xb8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(int ****)(this + 0xb8)" * (cast_expression "(int ****)(this + 0xb8)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(this + 0xb8)" ( (binary_expression "this + 0xb8" identifier + number_literal) ))))))) ;) (if_statement "if (pppiVar7 < *(int ****)(this + 0xb8)) {\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        return;\n      }" if (parenthesized_expression "(pppiVar7 < *(int ****)(this + 0xb8))" ( (binary_expression "pppiVar7 < *(int ****)(this + 0xb8)" identifier < (pointer_expression "*(int ****)(this + 0xb8)" * (cast_expression "(int ****)(this + 0xb8)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(this + 0xb8)" ( (binary_expression "this + 0xb8" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        return;\n      }" { (labeled_statement "LAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614)" ( (binary_expression "PTR_s_in_a_linker_script_004c191c + -0xe14" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x614" identifier + number_literal) ))) ;)) (return_statement "return;" return ;) })) (if_statement "if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar6) {\n                    /* try { // try from 002880b0 to 002880b7 has its CatchHandler @ 002881c4 */\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n        return;\n      }" if (parenthesized_expression "((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar6)" ( (binary_expression "(uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar6" (call_expression "(uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2)" ( (binary_expression "*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2" (binary_expression "*(int *)(this + 200) - *(int *)(this + 0xc4)" (pointer_expression "*(int *)(this + 200)" * (cast_expression "(int *)(this + 200)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 200)" ( (binary_expression "this + 200" identifier + number_literal) )))) - (pointer_expression "*(int *)(this + 0xc4)" * (cast_expression "(int *)(this + 0xc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc4)" ( (binary_expression "this + 0xc4" identifier + number_literal) ))))) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* try { // try from 002880b0 to 002880b7 has its CatchHandler @ 002881c4 */\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n        return;\n      }" { comment (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x5f8" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar16 = *(int *)(*(int *)(this + 0xc4) + uVar6 * 4);" (assignment_expression "iVar16 = *(int *)(*(int *)(this + 0xc4) + uVar6 * 4)" identifier = (pointer_expression "*(int *)(*(int *)(this + 0xc4) + uVar6 * 4)" * (cast_expression "(int *)(*(int *)(this + 0xc4) + uVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(this + 0xc4) + uVar6 * 4)" ( (binary_expression "*(int *)(this + 0xc4) + uVar6 * 4" (pointer_expression "*(int *)(this + 0xc4)" * (cast_expression "(int *)(this + 0xc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc4)" ( (binary_expression "this + 0xc4" identifier + number_literal) )))) + (binary_expression "uVar6 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar16 == 0) goto LAB_00288064;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00288064;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar16 + 0x28) << 0x14 < 0) {\n        iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1);\n      }" if (parenthesized_expression "(*(int *)(iVar16 + 0x28) << 0x14 < 0)" ( (binary_expression "*(int *)(iVar16 + 0x28) << 0x14 < 0" (binary_expression "*(int *)(iVar16 + 0x28) << 0x14" (pointer_expression "*(int *)(iVar16 + 0x28)" * (cast_expression "(int *)(iVar16 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x28)" ( (binary_expression "iVar16 + 0x28" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n        iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1);\n      }" { (expression_statement "iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1);" (assignment_expression "iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1)" identifier = (call_expression "(*(code *)PTR_resolve_forwards_004c1bc8)(param_1)" (parenthesized_expression "(*(code *)PTR_resolve_forwards_004c1bc8)" ( (pointer_expression "*(code *)PTR_resolve_forwards_004c1bc8" * (cast_expression "(code *)PTR_resolve_forwards_004c1bc8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) ;) })) (expression_statement "uVar6 = *(uint *)(iVar16 + 0x28);" (assignment_expression "uVar6 = *(uint *)(iVar16 + 0x28)" identifier = (pointer_expression "*(uint *)(iVar16 + 0x28)" * (cast_expression "(uint *)(iVar16 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x28)" ( (binary_expression "iVar16 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if ((uVar6 & 0xe000) == 0) {\n        if ((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)) {\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    /* try { // try from 00288110 to 00288117 has its CatchHandler @ 002881c4 */\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    /* try { // try from 00287a14 to 00287b03 has its CatchHandler @ 002881c4 */\n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }\n      }\n      else if (((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)) {\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }" if (parenthesized_expression "((uVar6 & 0xe000) == 0)" ( (binary_expression "(uVar6 & 0xe000) == 0" (parenthesized_expression "(uVar6 & 0xe000)" ( (binary_expression "uVar6 & 0xe000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if ((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)) {\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    /* try { // try from 00288110 to 00288117 has its CatchHandler @ 002881c4 */\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    /* try { // try from 00287a14 to 00287b03 has its CatchHandler @ 002881c4 */\n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }\n      }" { (if_statement "if ((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)) {\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    /* try { // try from 00288110 to 00288117 has its CatchHandler @ 002881c4 */\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    /* try { // try from 00287a14 to 00287b03 has its CatchHandler @ 002881c4 */\n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }" if (parenthesized_expression "((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2))" ( (binary_expression "(((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)" (parenthesized_expression "(((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0))" ( (binary_expression "((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)" (parenthesized_expression "((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d)))" ( (binary_expression "(*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))" (parenthesized_expression "(*(int *)(iVar16 + 0xc) != 0)" ( (binary_expression "*(int *)(iVar16 + 0xc) != 0" (pointer_expression "*(int *)(iVar16 + 0xc)" * (cast_expression "(int *)(iVar16 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xc)" ( (binary_expression "iVar16 + 0xc" identifier + number_literal) )))) != number_literal) )) || (parenthesized_expression "(-1 < (int)(uVar6 << 0x1d))" ( (binary_expression "-1 < (int)(uVar6 << 0x1d)" number_literal < (cast_expression "(int)(uVar6 << 0x1d)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar6 << 0x1d)" ( (binary_expression "uVar6 << 0x1d" identifier << number_literal) )))) ))) )) && (parenthesized_expression "((uVar6 << 0x10) >> 0x1d == 0)" ( (binary_expression "(uVar6 << 0x10) >> 0x1d == 0" (binary_expression "(uVar6 << 0x10) >> 0x1d" (parenthesized_expression "(uVar6 << 0x10)" ( (binary_expression "uVar6 << 0x10" identifier << number_literal) )) >> number_literal) == number_literal) ))) )) && (parenthesized_expression "(-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)" ( (binary_expression "-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2" number_literal < (binary_expression "*(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2" (pointer_expression "*(int *)(*(int *)(iVar16 + 8) + 0x2c)" * (cast_expression "(int *)(*(int *)(iVar16 + 8) + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar16 + 8) + 0x2c)" ( (binary_expression "*(int *)(iVar16 + 8) + 0x2c" (pointer_expression "*(int *)(iVar16 + 8)" * (cast_expression "(int *)(iVar16 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 8)" ( (binary_expression "iVar16 + 8" identifier + number_literal) )))) + number_literal) )))) << number_literal)) ))) )) (compound_statement "{\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    /* try { // try from 00288110 to 00288117 has its CatchHandler @ 002881c4 */\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    /* try { // try from 00287a14 to 00287b03 has its CatchHandler @ 002881c4 */\n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }" { (expression_statement "piVar14 = *(int **)(*(int *)puVar2 + 0xc);" (assignment_expression "piVar14 = *(int **)(*(int *)puVar2 + 0xc)" identifier = (pointer_expression "*(int **)(*(int *)puVar2 + 0xc)" * (cast_expression "(int **)(*(int *)puVar2 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)puVar2 + 0xc)" ( (binary_expression "*(int *)puVar2 + 0xc" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (if_statement "if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    /* try { // try from 00288110 to 00288117 has its CatchHandler @ 002881c4 */\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002880fc:\n                    /* try { // try from 00288110 to 00288117 has its CatchHandler @ 002881c4 */\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }" { (labeled_statement "LAB_002880fc:\n                    /* try { // try from 00288110 to 00288117 has its CatchHandler @ 002881c4 */\n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);" statement_identifier : comment (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x5e8" identifier + number_literal) ))) ;)) (return_statement "return;" return ;) })) comment (expression_statement "iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);" (assignment_expression "iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7)" identifier = (call_expression "(**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7)" (parenthesized_expression "(**(code **)(*piVar14 + 0x54))" ( (pointer_expression "**(code **)(*piVar14 + 0x54)" * (pointer_expression "*(code **)(*piVar14 + 0x54)" * (cast_expression "(code **)(*piVar14 + 0x54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x54)" ( (binary_expression "*piVar14 + 0x54" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14,iVar16,puVar19,param_6,param_7)" ( identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }" { (expression_statement "uVar6 = *puVar19;" (assignment_expression "uVar6 = *puVar19" identifier = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);" (assignment_expression "local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000)" identifier = (cast_expression "(int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000)" ( (binary_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10)" ( (binary_expression "(uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10" (binary_expression "(uVar6 >> 0x10) << 0x18" (parenthesized_expression "(uVar6 >> 0x10)" ( (binary_expression "uVar6 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar6 >> 0x18) << 0x10" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff)" ( (binary_expression "(uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff" (binary_expression "(uVar6 & 0xff) << 8" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) )))) ;) (if_statement "if (local_64 == local_60) {\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }" if (parenthesized_expression "(local_64 == local_60)" ( (binary_expression "local_64 == local_60" identifier == identifier) )) (compound_statement "{\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*local_50)(local_58,local_64,local_54);\n            }" { comment (expression_statement "(*local_50)(local_58,local_64,local_54);" (call_expression "(*local_50)(local_58,local_64,local_54)" (parenthesized_expression "(*local_50)" ( (pointer_expression "*local_50" * identifier) )) (argument_list "(local_58,local_64,local_54)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }" else (compound_statement "{\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }" { (expression_statement "*local_64 = (int)local_c8;" (assignment_expression "*local_64 = (int)local_c8" (pointer_expression "*local_64" * identifier) = (cast_expression "(int)local_c8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_64 = local_64 + 1;" (assignment_expression "local_64 = local_64 + 1" identifier = (binary_expression "local_64 + 1" identifier + number_literal)) ;) }))) })) })) }) (else_clause "else if (((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)) {\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }" else (if_statement "if (((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)) {\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }" if (parenthesized_expression "(((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0))" ( (binary_expression "((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)" (parenthesized_expression "((uVar6 & 0xe000) != 0x8000)" ( (binary_expression "(uVar6 & 0xe000) != 0x8000" (parenthesized_expression "(uVar6 & 0xe000)" ( (binary_expression "uVar6 & 0xe000" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((uVar6 << 0x10) >> 0x1d == 0)" ( (binary_expression "(uVar6 << 0x10) >> 0x1d == 0" (binary_expression "(uVar6 << 0x10) >> 0x1d" (parenthesized_expression "(uVar6 << 0x10)" ( (binary_expression "uVar6 << 0x10" identifier << number_literal) )) >> number_literal) == number_literal) ))) )) (compound_statement "{\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x5d0" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })))) })) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) (expression_statement "puVar19 = puVar19 + 3;" (assignment_expression "puVar19 = puVar19 + 3" identifier = (binary_expression "puVar19 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(param_5 != uVar17)" ( (binary_expression "param_5 != uVar17" identifier != identifier) )) ;) (if_statement "if (local_64 == local_68) goto LAB_00287b40;" if (parenthesized_expression "(local_64 == local_68)" ( (binary_expression "local_64 == local_68" identifier == identifier) )) (goto_statement "goto LAB_00287b40;" goto statement_identifier ;)) (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" identifier = number_literal) ;) (expression_statement "local_78 = (_Rb_tree_node *)0x0;" (assignment_expression "local_78 = (_Rb_tree_node *)0x0" identifier = (cast_expression "(_Rb_tree_node *)0x0" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) comment (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "local_74 = (_Rb_tree_node *)&local_7c;" (assignment_expression "local_74 = (_Rb_tree_node *)&local_7c" identifier = (cast_expression "(_Rb_tree_node *)&local_7c" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_7c" & identifier))) ;) (expression_statement "local_70 = (_Rb_tree_node *)&local_7c;" (assignment_expression "local_70 = (_Rb_tree_node *)&local_7c" identifier = (cast_expression "(_Rb_tree_node *)&local_7c" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_7c" & identifier))) ;) (expression_statement "local_38 = (_Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n              *)local_80;\n  find_functions(this,param_2,param_3,local_80);" (assignment_expression "local_38 = (_Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n              *)local_80;\n  find_functions(this,param_2,param_3,local_80)" identifier = (parenthesized_expression "(_Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n              *)local_80;\n  find_functions(this,param_2,param_3,local_80)" ( (ERROR "_Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n              *)local_80;" (comma_expression "_Rb_tree<int,std" (binary_expression "_Rb_tree<int" identifier < identifier) , identifier) : : (comma_expression "pair<int_const,unsigned_int>,std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>,std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<int_const,unsigned_int>>,std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>>,std" identifier >> (ERROR "," ,) identifier)) : : (binary_expression "less<int>,std" (binary_expression "less<int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<int_const,unsigned_int>>>\n              *)local_80" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>>>\n              *)local_80" identifier >> (ERROR ">" >) (pointer_expression "*)local_80" * (ERROR ")" )) identifier))) ;) (call_expression "find_functions(this,param_2,param_3,local_80)" identifier (argument_list "(this,param_2,param_3,local_80)" ( identifier , identifier , identifier , identifier ))) ))) ;) (if_statement "if (local_6c != 0) {\n    local_8c = &local_94;\n    local_4c = local_8c;\n    local_94 = 0;\n    local_90 = (_Rb_tree_node *)0x0;\n    local_84 = 0;\n    local_88 = local_8c;\n    if (local_68 != local_64) {\n      local_54 = pppiVar5;\n      local_58 = (int **)PTR__M_insert_unique<std_pair<int_const,unsigned_int>const&>_004c45ec;\n      piVar14 = local_64;\n      piVar18 = local_68;\n      do {\n        if (local_78 == (_Rb_tree_node *)0x0) {\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    /* try { // try from 00287c84 to 00287c8b has its CatchHandler @ 002881b4 */\n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }\n        else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }\n        pppiVar5 = local_54;\n        piVar18 = piVar18 + 1;\n      } while (piVar14 != piVar18);\n      if (local_84 != 0) {\n        if (local_8c != local_4c) {\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    /* WARNING: Does not return */\n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */\n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    /* try { // try from 002880cc to 002880ef has its CatchHandler @ 00288118 */\n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);\n        goto LAB_00287b2c;\n      }\n    }\n    std::\n    _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n    ::_M_erase(a_Stack_98,local_90);\n  }" if (parenthesized_expression "(local_6c != 0)" ( (binary_expression "local_6c != 0" identifier != number_literal) )) (compound_statement "{\n    local_8c = &local_94;\n    local_4c = local_8c;\n    local_94 = 0;\n    local_90 = (_Rb_tree_node *)0x0;\n    local_84 = 0;\n    local_88 = local_8c;\n    if (local_68 != local_64) {\n      local_54 = pppiVar5;\n      local_58 = (int **)PTR__M_insert_unique<std_pair<int_const,unsigned_int>const&>_004c45ec;\n      piVar14 = local_64;\n      piVar18 = local_68;\n      do {\n        if (local_78 == (_Rb_tree_node *)0x0) {\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    /* try { // try from 00287c84 to 00287c8b has its CatchHandler @ 002881b4 */\n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }\n        else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }\n        pppiVar5 = local_54;\n        piVar18 = piVar18 + 1;\n      } while (piVar14 != piVar18);\n      if (local_84 != 0) {\n        if (local_8c != local_4c) {\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    /* WARNING: Does not return */\n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */\n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    /* try { // try from 002880cc to 002880ef has its CatchHandler @ 00288118 */\n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);\n        goto LAB_00287b2c;\n      }\n    }\n    std::\n    _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n    ::_M_erase(a_Stack_98,local_90);\n  }" { (expression_statement "local_8c = &local_94;" (assignment_expression "local_8c = &local_94" identifier = (pointer_expression "&local_94" & identifier)) ;) (expression_statement "local_4c = local_8c;" (assignment_expression "local_4c = local_8c" identifier = identifier) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_90 = (_Rb_tree_node *)0x0;" (assignment_expression "local_90 = (_Rb_tree_node *)0x0" identifier = (cast_expression "(_Rb_tree_node *)0x0" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) (expression_statement "local_88 = local_8c;" (assignment_expression "local_88 = local_8c" identifier = identifier) ;) (if_statement "if (local_68 != local_64) {\n      local_54 = pppiVar5;\n      local_58 = (int **)PTR__M_insert_unique<std_pair<int_const,unsigned_int>const&>_004c45ec;\n      piVar14 = local_64;\n      piVar18 = local_68;\n      do {\n        if (local_78 == (_Rb_tree_node *)0x0) {\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    /* try { // try from 00287c84 to 00287c8b has its CatchHandler @ 002881b4 */\n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }\n        else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }\n        pppiVar5 = local_54;\n        piVar18 = piVar18 + 1;\n      } while (piVar14 != piVar18);\n      if (local_84 != 0) {\n        if (local_8c != local_4c) {\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    /* WARNING: Does not return */\n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */\n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    /* try { // try from 002880cc to 002880ef has its CatchHandler @ 00288118 */\n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);\n        goto LAB_00287b2c;\n      }\n    }" if (parenthesized_expression "(local_68 != local_64)" ( (binary_expression "local_68 != local_64" identifier != identifier) )) (compound_statement "{\n      local_54 = pppiVar5;\n      local_58 = (int **)PTR__M_insert_unique<std_pair<int_const,unsigned_int>const&>_004c45ec;\n      piVar14 = local_64;\n      piVar18 = local_68;\n      do {\n        if (local_78 == (_Rb_tree_node *)0x0) {\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    /* try { // try from 00287c84 to 00287c8b has its CatchHandler @ 002881b4 */\n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }\n        else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }\n        pppiVar5 = local_54;\n        piVar18 = piVar18 + 1;\n      } while (piVar14 != piVar18);\n      if (local_84 != 0) {\n        if (local_8c != local_4c) {\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    /* WARNING: Does not return */\n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */\n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    /* try { // try from 002880cc to 002880ef has its CatchHandler @ 00288118 */\n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);\n        goto LAB_00287b2c;\n      }\n    }" { (expression_statement "local_54 = pppiVar5;" (assignment_expression "local_54 = pppiVar5" identifier = identifier) ;) (expression_statement "local_58 = (int **)PTR__M_insert_unique<std_pair<int_const,unsigned_int>const&>_004c45ec;" (comma_expression "local_58 = (int **)PTR__M_insert_unique<std_pair<int_const,unsigned_int>const&>_004c45ec" (assignment_expression "local_58 = (int **)PTR__M_insert_unique<std_pair<int_const" identifier = (binary_expression "(int **)PTR__M_insert_unique<std_pair<int_const" (binary_expression "(int **)PTR__M_insert_unique<std_pair" (cast_expression "(int **)PTR__M_insert_unique" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) < identifier) < identifier)) , (binary_expression "unsigned_int>const&>_004c45ec" (binary_expression "unsigned_int>const" identifier > identifier) (ERROR "&" &) > identifier)) ;) (expression_statement "piVar14 = local_64;" (assignment_expression "piVar14 = local_64" identifier = identifier) ;) (expression_statement "piVar18 = local_68;" (assignment_expression "piVar18 = local_68" identifier = identifier) ;) (do_statement "do {\n        if (local_78 == (_Rb_tree_node *)0x0) {\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    /* try { // try from 00287c84 to 00287c8b has its CatchHandler @ 002881b4 */\n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }\n        else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }\n        pppiVar5 = local_54;\n        piVar18 = piVar18 + 1;\n      } while (piVar14 != piVar18);" do (compound_statement "{\n        if (local_78 == (_Rb_tree_node *)0x0) {\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    /* try { // try from 00287c84 to 00287c8b has its CatchHandler @ 002881b4 */\n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }\n        else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }\n        pppiVar5 = local_54;\n        piVar18 = piVar18 + 1;\n      }" { (if_statement "if (local_78 == (_Rb_tree_node *)0x0) {\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    /* try { // try from 00287c84 to 00287c8b has its CatchHandler @ 002881b4 */\n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }\n        else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }" if (parenthesized_expression "(local_78 == (_Rb_tree_node *)0x0)" ( (binary_expression "local_78 == (_Rb_tree_node *)0x0" identifier == (cast_expression "(_Rb_tree_node *)0x0" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    /* try { // try from 00287c84 to 00287c8b has its CatchHandler @ 002881b4 */\n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }" { (labeled_statement "LAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);" statement_identifier : (expression_statement "p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);" (assignment_expression "p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c)" identifier = (cast_expression "(_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c)" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c)" (parenthesized_expression "(*(code *)PTR__Rb_tree_decrement_004c45f0)" ( (pointer_expression "*(code *)PTR__Rb_tree_decrement_004c45f0" * (cast_expression "(code *)PTR__Rb_tree_decrement_004c45f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((_Rb_tree_node *)&local_7c)" ( (cast_expression "(_Rb_tree_node *)&local_7c" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_7c" & identifier)) ))))) ;)) (labeled_statement "LAB_00287c78:\n                    /* try { // try from 00287c84 to 00287c8b has its CatchHandler @ 002881b4 */\n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);" statement_identifier : comment (expression_statement "(*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);" (call_expression "(*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10)" (parenthesized_expression "(*(code *)local_58)" ( (pointer_expression "*(code *)local_58" * (cast_expression "(code *)local_58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_c8,a_Stack_98,p_Var9 + 0x10)" ( (pointer_expression "&local_c8" & identifier) , identifier , (binary_expression "p_Var9 + 0x10" identifier + number_literal) ))) ;)) (expression_statement "piVar14 = local_64;" (assignment_expression "piVar14 = local_64" identifier = identifier) ;) }) (else_clause "else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }" else (compound_statement "{\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }" { (expression_statement "p_Var8 = (_Rb_tree_node *)&local_7c;" (assignment_expression "p_Var8 = (_Rb_tree_node *)&local_7c" identifier = (cast_expression "(_Rb_tree_node *)&local_7c" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_7c" & identifier))) ;) (expression_statement "p_Var4 = local_78;" (assignment_expression "p_Var4 = local_78" identifier = identifier) ;) (do_statement "do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);" do (compound_statement "{\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          }" { (while_statement "while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }" while (parenthesized_expression "(p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18)" ( (comma_expression "p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18" (assignment_expression "p_Var9 = p_Var4" identifier = identifier) , (binary_expression "*(int *)(p_Var9 + 0x10) < *piVar18" (pointer_expression "*(int *)(p_Var9 + 0x10)" * (cast_expression "(int *)(p_Var9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var9 + 0x10)" ( (binary_expression "p_Var9 + 0x10" identifier + number_literal) )))) < (pointer_expression "*piVar18" * identifier))) )) (compound_statement "{\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }" { (expression_statement "p_Var1 = p_Var9 + 0xc;" (assignment_expression "p_Var1 = p_Var9 + 0xc" identifier = (binary_expression "p_Var9 + 0xc" identifier + number_literal)) ;) (expression_statement "p_Var9 = p_Var8;" (assignment_expression "p_Var9 = p_Var8" identifier = identifier) ;) (expression_statement "p_Var4 = *(_Rb_tree_node **)p_Var1;" (assignment_expression "p_Var4 = *(_Rb_tree_node **)p_Var1" identifier = (pointer_expression "*(_Rb_tree_node **)p_Var1" * (cast_expression "(_Rb_tree_node **)p_Var1" ( (type_descriptor "_Rb_tree_node **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;" if (parenthesized_expression "(*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0)" ( (binary_expression "*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0" (pointer_expression "*(_Rb_tree_node **)p_Var1" * (cast_expression "(_Rb_tree_node **)p_Var1" ( (type_descriptor "_Rb_tree_node **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) == (cast_expression "(_Rb_tree_node *)0x0" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00287c50;" goto statement_identifier ;)) })) (expression_statement "p_Var8 = p_Var9;" (assignment_expression "p_Var8 = p_Var9" identifier = identifier) ;) (expression_statement "p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);" (assignment_expression "p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8)" identifier = (pointer_expression "*(_Rb_tree_node **)(p_Var9 + 8)" * (cast_expression "(_Rb_tree_node **)(p_Var9 + 8)" ( (type_descriptor "_Rb_tree_node **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(p_Var9 + 8)" ( (binary_expression "p_Var9 + 8" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0)" ( (binary_expression "*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0" (pointer_expression "*(_Rb_tree_node **)(p_Var9 + 8)" * (cast_expression "(_Rb_tree_node **)(p_Var9 + 8)" ( (type_descriptor "_Rb_tree_node **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(p_Var9 + 8)" ( (binary_expression "p_Var9 + 8" identifier + number_literal) )))) != (cast_expression "(_Rb_tree_node *)0x0" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;" statement_identifier : (if_statement "if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;" if (parenthesized_expression "(p_Var9 == (_Rb_tree_node *)&local_7c)" ( (binary_expression "p_Var9 == (_Rb_tree_node *)&local_7c" identifier == (cast_expression "(_Rb_tree_node *)&local_7c" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_7c" & identifier))) )) (goto_statement "goto LAB_00287f40;" goto statement_identifier ;))) (if_statement "if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;" if (parenthesized_expression "(*(int *)(p_Var9 + 0x10) == *piVar18)" ( (binary_expression "*(int *)(p_Var9 + 0x10) == *piVar18" (pointer_expression "*(int *)(p_Var9 + 0x10)" * (cast_expression "(int *)(p_Var9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var9 + 0x10)" ( (binary_expression "p_Var9 + 0x10" identifier + number_literal) )))) == (pointer_expression "*piVar18" * identifier)) )) (goto_statement "goto LAB_00287c78;" goto statement_identifier ;)) (if_statement "if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }" if (parenthesized_expression "(local_74 != p_Var9)" ( (binary_expression "local_74 != p_Var9" identifier != identifier) )) (compound_statement "{\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }" { (expression_statement "p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);" (assignment_expression "p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9)" identifier = (cast_expression "(_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9)" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9)" (parenthesized_expression "(*(code *)PTR__Rb_tree_decrement_004c45f0)" ( (pointer_expression "*(code *)PTR__Rb_tree_decrement_004c45f0" * (cast_expression "(code *)PTR__Rb_tree_decrement_004c45f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(p_Var9)" ( identifier ))))) ;) (goto_statement "goto LAB_00287c78;" goto statement_identifier ;) })) }))) (expression_statement "pppiVar5 = local_54;" (assignment_expression "pppiVar5 = local_54" identifier = identifier) ;) (expression_statement "piVar18 = piVar18 + 1;" (assignment_expression "piVar18 = piVar18 + 1" identifier = (binary_expression "piVar18 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar14 != piVar18)" ( (binary_expression "piVar14 != piVar18" identifier != identifier) )) ;) (if_statement "if (local_84 != 0) {\n        if (local_8c != local_4c) {\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    /* WARNING: Does not return */\n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */\n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    /* try { // try from 002880cc to 002880ef has its CatchHandler @ 00288118 */\n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);\n        goto LAB_00287b2c;\n      }" if (parenthesized_expression "(local_84 != 0)" ( (binary_expression "local_84 != 0" identifier != number_literal) )) (compound_statement "{\n        if (local_8c != local_4c) {\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    /* WARNING: Does not return */\n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */\n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    /* try { // try from 002880cc to 002880ef has its CatchHandler @ 00288118 */\n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);\n        goto LAB_00287b2c;\n      }" { (if_statement "if (local_8c != local_4c) {\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    /* WARNING: Does not return */\n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */\n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    /* try { // try from 002880cc to 002880ef has its CatchHandler @ 00288118 */\n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }" if (parenthesized_expression "(local_8c != local_4c)" ( (binary_expression "local_8c != local_4c" identifier != identifier) )) (compound_statement "{\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    /* WARNING: Does not return */\n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */\n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    /* try { // try from 002880cc to 002880ef has its CatchHandler @ 00288118 */\n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }" { (expression_statement "local_58 = (int **)local_a8;" (assignment_expression "local_58 = (int **)local_a8" identifier = (cast_expression "(int **)local_a8" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);" (assignment_expression "piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" identifier = (pointer_expression "*(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (expression_statement "local_44 = (int *)PTR_parameters_004c19b4;" (assignment_expression "local_44 = (int *)PTR_parameters_004c19b4" identifier = (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    /* WARNING: Does not return */\n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */\n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }" if (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    /* WARNING: Does not return */\n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */\n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }" { (expression_statement "local_48 = &local_c8;" (assignment_expression "local_48 = &local_c8" identifier = (pointer_expression "&local_c8" & identifier)) ;) (expression_statement "local_54 = &local_b0;" (assignment_expression "local_54 = &local_b0" identifier = (pointer_expression "&local_b0" & identifier)) ;) (expression_statement "local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;" (assignment_expression "local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34" identifier = (binary_expression "PTR_s_in_a_linker_script_004c191c + -0xd34" identifier + number_literal)) ;) (expression_statement "local_34 = (uint)(uVar17 < 0x40000000);" (assignment_expression "local_34 = (uint)(uVar17 < 0x40000000)" identifier = (call_expression "(uint)(uVar17 < 0x40000000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < 0x40000000)" ( (binary_expression "uVar17 < 0x40000000" identifier < number_literal) )))) ;) (expression_statement "puVar10 = local_8c;" (assignment_expression "puVar10 = local_8c" identifier = identifier) ;) (expression_statement "local_3c = uVar17 * 4;" (assignment_expression "local_3c = uVar17 * 4" identifier = (binary_expression "uVar17 * 4" identifier * number_literal)) ;) (do_statement "do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    /* WARNING: Does not return */\n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */\n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);" do (compound_statement "{\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    /* WARNING: Does not return */\n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */\n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            }" { (expression_statement "local_a8[0] = 0;" (assignment_expression "local_a8[0] = 0" (subscript_expression "local_a8[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" identifier = number_literal) ;) (expression_statement "local_c0[0] = 0;" (assignment_expression "local_c0[0] = 0" (subscript_expression "local_c0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" identifier = number_literal) ;) (expression_statement "local_c8 = (int **)local_c0;" (assignment_expression "local_c8 = (int **)local_c0" identifier = (cast_expression "(int **)local_c0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "local_b0 = local_58;" (assignment_expression "local_b0 = local_58" identifier = identifier) ;) comment (expression_statement "(**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);" (call_expression "(**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48)" (parenthesized_expression "(**(code **)(*piVar14 + 0x58))" ( (pointer_expression "**(code **)(*piVar14 + 0x58)" * (pointer_expression "*(code **)(*piVar14 + 0x58)" * (cast_expression "(code **)(*piVar14 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x58)" ( (binary_expression "*piVar14 + 0x58" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48)" ( identifier , identifier , identifier , (subscript_expression "puVar10[4]" identifier [ number_literal ]) , (subscript_expression "puVar10[5]" identifier [ number_literal ]) , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (if_statement "if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    /* WARNING: Does not return */\n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */\n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }" if (parenthesized_expression "(local_ac != 0)" ( (binary_expression "local_ac != 0" identifier != number_literal) )) (compound_statement "{\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    /* WARNING: Does not return */\n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */\n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }" if (parenthesized_expression "(local_c4 == 0)" ( (binary_expression "local_c4 == 0" identifier == number_literal) )) (compound_statement "{\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614)" ( (binary_expression "PTR_s_in_a_linker_script_004c191c + -0xe14" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x614" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "local_50 = (code *)0x0;" (assignment_expression "local_50 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar19 = (uint *)param_4;" (assignment_expression "puVar19 = (uint *)param_4" identifier = (cast_expression "(uint *)param_4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    /* WARNING: Does not return */\n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */\n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);" do (compound_statement "{\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    /* WARNING: Does not return */\n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */\n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                }" { (if_statement "if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }" if (parenthesized_expression "(*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3)" ( (binary_expression "*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3" (pointer_expression "*(code **)(*(int *)param_9 + 0xf8)" * (cast_expression "(code **)(*(int *)param_9 + 0xf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)param_9 + 0xf8)" ( (binary_expression "*(int *)param_9 + 0xf8" (pointer_expression "*(int *)param_9" * (cast_expression "(int *)param_9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == (cast_expression "(code *)puVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }" { (expression_statement "uVar13 = puVar19[1];" (assignment_expression "uVar13 = puVar19[1]" identifier = (subscript_expression "puVar19[1]" identifier [ number_literal ])) ;) (expression_statement "pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);" (assignment_expression "pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8)" identifier = (cast_expression "(int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8)" ( (binary_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8" (binary_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000" (parenthesized_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10)" ( (binary_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10" (parenthesized_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10)" ( (binary_expression "(uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10" (binary_expression "(uVar13 >> 0x10) << 0x18" (parenthesized_expression "(uVar13 >> 0x10)" ( (binary_expression "uVar13 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar13 >> 0x18) << 0x10" (parenthesized_expression "(uVar13 >> 0x18)" ( (binary_expression "uVar13 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000" (parenthesized_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff)" ( (binary_expression "(uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff" (binary_expression "(uVar13 & 0xff) << 8" (parenthesized_expression "(uVar13 & 0xff)" ( (binary_expression "uVar13 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar13 >> 8 & 0xff" (binary_expression "uVar13 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) >> number_literal) )))) ;) }) (else_clause "else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }" else (compound_statement "{\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }" { (expression_statement "pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);" (assignment_expression "pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19)" identifier = (cast_expression "(int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19)" (parenthesized_expression "(**(code **)(*(int *)param_9 + 0xf8))" ( (pointer_expression "**(code **)(*(int *)param_9 + 0xf8)" * (pointer_expression "*(code **)(*(int *)param_9 + 0xf8)" * (cast_expression "(code **)(*(int *)param_9 + 0xf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)param_9 + 0xf8)" ( (binary_expression "*(int *)param_9 + 0xf8" (pointer_expression "*(int *)param_9" * (cast_expression "(int *)param_9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(param_9,puVar19)" ( identifier , identifier ))))) ;) }))) (if_statement "if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    /* WARNING: Does not return */\n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */\n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }" if (parenthesized_expression "(pppiVar5 <= pppiVar7)" ( (binary_expression "pppiVar5 <= pppiVar7" identifier <= identifier) )) (compound_statement "{\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    /* WARNING: Does not return */\n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */\n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }" { (expression_statement "uVar13 = *puVar19;" (assignment_expression "uVar13 = *puVar19" identifier = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10)" ( (binary_expression "(uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10" (binary_expression "(uVar13 >> 0x10) << 0x18" (parenthesized_expression "(uVar13 >> 0x10)" ( (binary_expression "uVar13 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar13 >> 0x18) << 0x10" (parenthesized_expression "(uVar13 >> 0x18)" ( (binary_expression "uVar13 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff)" ( (binary_expression "(uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff" (binary_expression "(uVar13 & 0xff) << 8" (parenthesized_expression "(uVar13 & 0xff)" ( (binary_expression "uVar13 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar13 >> 8 & 0xff" (binary_expression "uVar13 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    /* WARNING: Does not return */\n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */\n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }" if (parenthesized_expression "(((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5])))" ( (binary_expression "((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))" (parenthesized_expression "((int)puVar10[4] <= iVar16)" ( (binary_expression "(int)puVar10[4] <= iVar16" (cast_expression "(int)puVar10[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar10[4]" identifier [ number_literal ])) <= identifier) )) && (parenthesized_expression "(iVar16 < (int)(puVar10[4] + puVar10[5]))" ( (binary_expression "iVar16 < (int)(puVar10[4] + puVar10[5])" identifier < (cast_expression "(int)(puVar10[4] + puVar10[5])" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar10[4] + puVar10[5])" ( (binary_expression "puVar10[4] + puVar10[5]" (subscript_expression "puVar10[4]" identifier [ number_literal ]) + (subscript_expression "puVar10[5]" identifier [ number_literal ])) )))) ))) )) (compound_statement "{\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    /* WARNING: Does not return */\n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */\n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }" { (expression_statement "uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);" (assignment_expression "uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8)" identifier = (binary_expression "(int)pppiVar7 - (int)*(int ****)(this + 0xb8)" (cast_expression "(int)pppiVar7" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)*(int ****)(this + 0xb8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(int ****)(this + 0xb8)" * (cast_expression "(int ****)(this + 0xb8)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(this + 0xb8)" ( (binary_expression "this + 0xb8" identifier + number_literal) ))))))) ;) (if_statement "if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    /* WARNING: Does not return */\n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }" if (parenthesized_expression "(pppiVar7 < *(int ****)(this + 0xb8))" ( (binary_expression "pppiVar7 < *(int ****)(this + 0xb8)" identifier < (pointer_expression "*(int ****)(this + 0xb8)" * (cast_expression "(int ****)(this + 0xb8)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(this + 0xb8)" ( (binary_expression "this + 0xb8" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Does not return */\n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }" { comment (expression_statement "pcVar20 = (code *)trap(0);" (assignment_expression "pcVar20 = (code *)trap(0)" identifier = (cast_expression "(code *)trap(0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "trap(0)" identifier (argument_list "(0)" ( number_literal ))))) ;) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "()" ( ))) ;) })) (if_statement "if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */\n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }" if (parenthesized_expression "((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13)" ( (binary_expression "(uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13" (call_expression "(uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2)" ( (binary_expression "*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2" (binary_expression "*(int *)(this + 200) - *(int *)(this + 0xc4)" (pointer_expression "*(int *)(this + 200)" * (cast_expression "(int *)(this + 200)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 200)" ( (binary_expression "this + 200" identifier + number_literal) )))) - (pointer_expression "*(int *)(this + 0xc4)" * (cast_expression "(int *)(this + 0xc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc4)" ( (binary_expression "this + 0xc4" identifier + number_literal) ))))) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */\n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }" { comment (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x5f8" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));" (assignment_expression "iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4))" identifier = (call_expression "(*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4))" (parenthesized_expression "(*(code *)PTR_compare_004c27e8)" ( (pointer_expression "*(code *)PTR_compare_004c27e8" * (cast_expression "(code *)PTR_compare_004c27e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4))" ( identifier , (pointer_expression "**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4)" * (pointer_expression "*(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4)" * (cast_expression "(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(this + 0xc4) + uVar13 * 4)" ( (binary_expression "*(int *)(this + 0xc4) + uVar13 * 4" (pointer_expression "*(int *)(this + 0xc4)" * (cast_expression "(int *)(this + 0xc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc4)" ( (binary_expression "this + 0xc4" identifier + number_literal) )))) + (binary_expression "uVar13 * 4" identifier * number_literal)) ))))) )))) ;) (if_statement "if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }" { (if_statement "if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }" if (parenthesized_expression "((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0))" ( (binary_expression "(local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)" (parenthesized_expression "(local_50 == (code *)0x0)" ( (binary_expression "local_50 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)" ( (comma_expression "local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0" (assignment_expression "local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0)" identifier = (cast_expression "(code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0)" (parenthesized_expression "(*(code *)PTR_lookup_004c1e40)" ( (pointer_expression "*(code *)PTR_lookup_004c1e40" * (cast_expression "(code *)PTR_lookup_004c1e40" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,local_c8,0)" ( identifier , identifier , number_literal ))))) , (binary_expression "local_50 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }" { (expression_statement "uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);" (assignment_expression "uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30)" identifier = (call_expression "(*(code *)PTR_gettext_004c5c30)(local_30)" (parenthesized_expression "(*(code *)PTR_gettext_004c5c30)" ( (pointer_expression "*(code *)PTR_gettext_004c5c30" * (cast_expression "(code *)PTR_gettext_004c5c30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);" (call_expression "(*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8)" (parenthesized_expression "(*(code *)PTR_error_004c1a54)" ( (pointer_expression "*(code *)PTR_error_004c1a54" * (cast_expression "(code *)PTR_error_004c1a54" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(this,uVar12,local_b0,local_c8)" ( identifier , identifier , identifier , identifier ))) ;) (break_statement "break;" break ;) })) (if_statement "if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }" if (parenthesized_expression "(*param_8 == (Reloc_symbol_changes *)0x0)" ( (binary_expression "*param_8 == (Reloc_symbol_changes *)0x0" (pointer_expression "*param_8" * identifier) == (cast_expression "(Reloc_symbol_changes *)0x0" ( (type_descriptor "Reloc_symbol_changes *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }" { (expression_statement "local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);" (assignment_expression "local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc)" identifier = (cast_expression "(Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc)" ( (type_descriptor "Reloc_symbol_changes *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new_004c13a8)(0xc)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" ( (pointer_expression "*(code *)PTR_operator_new_004c13a8" * (cast_expression "(code *)PTR_operator_new_004c13a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) (expression_statement "*(undefined4 *)local_40 = 0;" (assignment_expression "*(undefined4 *)local_40 = 0" (pointer_expression "*(undefined4 *)local_40" * (cast_expression "(undefined4 *)local_40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined4 *)(local_40 + 4) = 0;" (assignment_expression "*(undefined4 *)(local_40 + 4) = 0" (pointer_expression "*(undefined4 *)(local_40 + 4)" * (cast_expression "(undefined4 *)(local_40 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 4)" ( (binary_expression "local_40 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(local_40 + 8) = 0;" (assignment_expression "*(undefined4 *)(local_40 + 8) = 0" (pointer_expression "*(undefined4 *)(local_40 + 8)" * (cast_expression "(undefined4 *)(local_40 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 8)" ( (binary_expression "local_40 + 8" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (local_34 == 0) {\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }" if (parenthesized_expression "(local_34 == 0)" ( (binary_expression "local_34 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }" { comment (expression_statement "(*(code *)PTR___throw_bad_alloc_004c1ac0)();" (call_expression "(*(code *)PTR___throw_bad_alloc_004c1ac0)()" (parenthesized_expression "(*(code *)PTR___throw_bad_alloc_004c1ac0)" ( (pointer_expression "*(code *)PTR___throw_bad_alloc_004c1ac0" * (cast_expression "(code *)PTR___throw_bad_alloc_004c1ac0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002880fc;" goto statement_identifier ;) })) comment (expression_statement "puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);" (assignment_expression "puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new_004c13a8)(local_3c)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" ( (pointer_expression "*(code *)PTR_operator_new_004c13a8" * (cast_expression "(code *)PTR_operator_new_004c13a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_3c)" ( identifier ))))) ;) (expression_statement "*(undefined4 **)local_40 = puVar11;" (assignment_expression "*(undefined4 **)local_40 = puVar11" (pointer_expression "*(undefined4 **)local_40" * (cast_expression "(undefined4 **)local_40" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(int *)(local_40 + 8) = (int)puVar11 + local_3c;" (assignment_expression "*(int *)(local_40 + 8) = (int)puVar11 + local_3c" (pointer_expression "*(int *)(local_40 + 8)" * (cast_expression "(int *)(local_40 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 8)" ( (binary_expression "local_40 + 8" identifier + number_literal) )))) = (binary_expression "(int)puVar11 + local_3c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "uVar13 = uVar17;" (assignment_expression "uVar13 = uVar17" identifier = identifier) ;) (expression_statement "puVar15 = puVar11;" (assignment_expression "puVar15 = puVar11" identifier = identifier) ;) (do_statement "do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);" do (compound_statement "{\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          }" { (expression_statement "uVar13 = uVar13 - 1;" (assignment_expression "uVar13 = uVar13 - 1" identifier = (binary_expression "uVar13 - 1" identifier - number_literal)) ;) (expression_statement "*puVar15 = 0;" (assignment_expression "*puVar15 = 0" (pointer_expression "*puVar15" * identifier) = number_literal) ;) (expression_statement "puVar15 = puVar15 + 1;" (assignment_expression "puVar15 = puVar15 + 1" identifier = (binary_expression "puVar15 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) )) ;) (expression_statement "*(int *)(local_40 + 4) = (int)puVar11 + local_3c;" (assignment_expression "*(int *)(local_40 + 4) = (int)puVar11 + local_3c" (pointer_expression "*(int *)(local_40 + 4)" * (cast_expression "(int *)(local_40 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 4)" ( (binary_expression "local_40 + 4" identifier + number_literal) )))) = (binary_expression "(int)puVar11 + local_3c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "*param_8 = local_40;" (assignment_expression "*param_8 = local_40" (pointer_expression "*param_8" * identifier) = identifier) ;) }) (else_clause "else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }" else (compound_statement "{\n                          puVar11 = *(undefined4 **)*param_8;\n                        }" { (expression_statement "puVar11 = *(undefined4 **)*param_8;" (assignment_expression "puVar11 = *(undefined4 **)*param_8" identifier = (pointer_expression "*(undefined4 **)*param_8" * (cast_expression "(undefined4 **)*param_8" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*param_8" * identifier)))) ;) }))) (expression_statement "puVar11[uVar6] = local_50;" (assignment_expression "puVar11[uVar6] = local_50" (subscript_expression "puVar11[uVar6]" identifier [ identifier ]) = identifier) ;) })) })) })) (expression_statement "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "puVar19 = puVar19 + 3;" (assignment_expression "puVar19 = puVar19 + 3" identifier = (binary_expression "puVar19 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar6 < uVar17)" ( (binary_expression "uVar6 < uVar17" identifier < identifier) )) ;) })) (if_statement "if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }" if (parenthesized_expression "(local_c8 != (int **)local_c0)" ( (binary_expression "local_c8 != (int **)local_c0" identifier != (cast_expression "(int **)local_c0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) )) (compound_statement "{\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (if_statement "if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }" if (parenthesized_expression "(local_b0 != local_58)" ( (binary_expression "local_b0 != local_58" identifier != identifier) )) (compound_statement "{\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);" (assignment_expression "puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10)" (parenthesized_expression "(*(code *)PTR__Rb_tree_increment_004c1e5c)" ( (pointer_expression "*(code *)PTR__Rb_tree_increment_004c1e5c" * (cast_expression "(code *)PTR__Rb_tree_increment_004c1e5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10)" ( identifier ))))) ;) (if_statement "if (puVar10 == local_4c) goto LAB_00288010;" if (parenthesized_expression "(puVar10 == local_4c)" ( (binary_expression "puVar10 == local_4c" identifier == identifier) )) (goto_statement "goto LAB_00288010;" goto statement_identifier ;)) (expression_statement "piVar14 = *(int **)(*local_44 + 0xc);" (assignment_expression "piVar14 = *(int **)(*local_44 + 0xc)" identifier = (pointer_expression "*(int **)(*local_44 + 0xc)" * (cast_expression "(int **)(*local_44 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_44 + 0xc)" ( (binary_expression "*local_44 + 0xc" (pointer_expression "*local_44" * identifier) + number_literal) ))))) ;) }) while (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "local_a8[0] = 0;" (assignment_expression "local_a8[0] = 0" (subscript_expression "local_a8[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" identifier = number_literal) ;) (expression_statement "local_c0[0] = 0;" (assignment_expression "local_c0[0] = 0" (subscript_expression "local_c0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" identifier = number_literal) ;) comment (expression_statement "local_c8 = (int **)local_c0;" (assignment_expression "local_c8 = (int **)local_c0" identifier = (cast_expression "(int **)local_c0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "local_b0 = local_58;" (assignment_expression "local_b0 = local_58" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x5e8" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (labeled_statement "LAB_00288010:\n        std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);" statement_identifier : (ERROR "std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::" (comma_expression "std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std" identifier (ERROR "::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>" : : (comma_expression "_Rb_tree<int,std" (binary_expression "_Rb_tree<int" identifier < identifier) , identifier) : : (comma_expression "pair<int_const,unsigned_int>,std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>,std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<int_const,unsigned_int>>,std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>>,std" identifier >> (ERROR "," ,) identifier)) : : (binary_expression "less<int" identifier < identifier) >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);" (comma_expression "pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90)" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90)" identifier >> (ERROR ">\n        ::" > : :) (call_expression "_M_erase(a_Stack_98,local_90)" identifier (argument_list "(a_Stack_98,local_90)" ( identifier , identifier ))))) ;)) (goto_statement "goto LAB_00287b2c;" goto statement_identifier ;) })) })) (ERROR "std::\n    _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::" (comma_expression "std::\n    _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std" identifier (ERROR "::\n    _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>" : : (comma_expression "_Rb_tree<int,std" (binary_expression "_Rb_tree<int" identifier < identifier) , identifier) : : (comma_expression "pair<int_const,unsigned_int>,std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>,std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<int_const,unsigned_int>>,std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>>,std" identifier >> (ERROR "," ,) identifier)) : : (binary_expression "less<int" identifier < identifier) >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<int_const,unsigned_int>>>\n    ::_M_erase(a_Stack_98,local_90);" (comma_expression "pair<int_const,unsigned_int>>>\n    ::_M_erase(a_Stack_98,local_90)" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>>>\n    ::_M_erase(a_Stack_98,local_90)" identifier >> (ERROR ">\n    ::" > : :) (call_expression "_M_erase(a_Stack_98,local_90)" identifier (argument_list "(a_Stack_98,local_90)" ( identifier , identifier ))))) ;) })) (labeled_statement "LAB_00287b2c:\n  std::\n  _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n  ::_M_erase(local_38,local_78);" statement_identifier : (ERROR "std::\n  _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::" (comma_expression "std::\n  _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std" identifier (ERROR "::\n  _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>" : : (comma_expression "_Rb_tree<int,std" (binary_expression "_Rb_tree<int" identifier < identifier) , identifier) : : (comma_expression "pair<int_const,unsigned_int>,std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>,std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<int_const,unsigned_int>>,std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>>,std" identifier >> (ERROR "," ,) identifier)) : : (binary_expression "less<int" identifier < identifier) >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<int_const,unsigned_int>>>\n  ::_M_erase(local_38,local_78);" (comma_expression "pair<int_const,unsigned_int>>>\n  ::_M_erase(local_38,local_78)" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>>>\n  ::_M_erase(local_38,local_78)" identifier >> (ERROR ">\n  ::" > : :) (call_expression "_M_erase(local_38,local_78)" identifier (argument_list "(local_38,local_78)" ( identifier , identifier ))))) ;)) (labeled_statement "LAB_00287b40:\n  if (local_68 != (int *)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" statement_identifier : (if_statement "if (local_68 != (int *)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" if (parenthesized_expression "(local_68 != (int *)0x0)" ( (binary_expression "local_68 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }))) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original prototype: void split_stack_adjust_reltype<4>(Sized_relobj_file<32,_false> * this,\n   Symbol_table * symtab, uchar * pshdrs, uint shndx, uchar * prelocs, size_t reloc_count, uchar *\n   view, section_size_type view_size, Reloc_symbol_changes * * reloc_map, Sized_target<32,_false> *\n   target) */\n\nvoid __thiscall\ngold::Sized_relobj_file<32,_false>::split_stack_adjust_reltype<4>\n          (Sized_relobj_file<32,_false> *this,Symbol_table *symtab,uchar *pshdrs,uint shndx,\n          uchar *prelocs,size_t reloc_count,uchar *view,section_size_type view_size,\n          Reloc_symbol_changes **reloc_map,Sized_target<32,_false> *target)\n\n{\n  _Base_ptr *pp_Var1;\n  code *pcVar2;\n  undefined *puVar3;\n  _Base_ptr p_Var4;\n  _func_int_varargs **pp_Var5;\n  uint uVar6;\n  uint uVar7;\n  uint uVar8;\n  _Rb_tree_header *p_Var9;\n  _Base_ptr p_Var10;\n  undefined *puVar11;\n  _Base_ptr p_Var12;\n  pointer ppSVar13;\n  undefined4 uVar14;\n  Reloc_symbol_changes *pRVar15;\n  uint uVar16;\n  int iVar17;\n  pointer ppSVar18;\n  _Rb_tree_color *p_Var19;\n  int *piVar20;\n  undefined *puVar21;\n  Symbol *pSVar22;\n  uint uVar23;\n  _Rb_tree_color *p_Var24;\n  uint *puVar25;\n  _Rb_tree_header *p_Var26;\n  undefined *puVar27;\n  _func_int_varargs *p_Var28;\n  section_offset_type offset;\n  int local_c4;\n  undefined local_c0 [16];\n  string from;\n  Function_offsets calls_non_split;\n  Function_offsets function_offsets;\n  vector<int,_std::allocator<int>_> non_split_refs;\n  anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n  *local_58;\n  Symbol *local_50;\n  _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::pair<int_const,_unsigned_int>_>_>\n  *local_38;\n  \n  pp_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object;\n  p_Var28 = pp_Var5[0x23];\n  if (p_Var28 == (_func_int_varargs *)PTR_local_symbol_count_004c1bc0) {\n    uVar6 = (*pp_Var5[0x2f])();\n  }\n  else {\n    uVar6 = (*p_Var28)();\n  }\n  puVar3 = PTR__M_realloc_insert<int_const&>_004c45e4;\n  puVar21 = PTR_get_r_sym_004c4580;\n  puVar27 = PTR_parameters_004c19b4;\n  non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start = (pointer)0x0;\n  non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish = (pointer)0x0;\n  non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_end_of_storage =\n       (pointer)0x0;\n  if (reloc_count == 0) {\n    return;\n  }\n  uVar23 = 0;\n  local_58 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n              *)&non_split_refs;\n  puVar25 = (uint *)prelocs;\n  do {\n    p_Var28 = (target->super_Target)._vptr_Target[0x3e];\n    if (p_Var28 != (_func_int_varargs *)puVar21) goto LAB_00287ae8;\n    uVar7 = puVar25[1];\n    uVar7 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 >> 8;\n    while (uVar6 <= uVar7) {\n      uVar8 = uVar7 - this->local_symbol_count_;\n      if (uVar7 < this->local_symbol_count_) {\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        goto LAB_00288080;\n      }\n      ppSVar18 = (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                 _M_impl._M_start;\n      if ((uint)((int)(this->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish - (int)ppSVar18 >> 2) <= uVar8) goto LAB_0028809c;\n      pSVar22 = ppSVar18[uVar8];\n      if (pSVar22 == (Symbol *)0x0) goto LAB_00288064;\n      if (*(int *)&pSVar22->field_0x28 << 0x14 < 0) {\n        pSVar22 = (Symbol *)(*(code *)PTR_resolve_forwards_004c1bc8)(symtab);\n      }\n      uVar7 = *(uint *)&pSVar22->field_0x28;\n      if ((uVar7 & 0xe000) == 0) {\n        if (((((pSVar22->u2_).shndx != 0) || (-1 < (int)(uVar7 << 0x1d))) &&\n            ((uVar7 << 0x10) >> 0x1d == 0)) &&\n           (-1 < (int)((pSVar22->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_end_of_storage << 2)) {\n          piVar20 = *(int **)(*(int *)puVar27 + 0xc);\n          if (piVar20 == (int *)0x0) goto LAB_002880fc;\n                    /* try { // try from 00287a14 to 00287b03 has its CatchHandler @ 002881c4 */\n          iVar17 = (**(code **)(*piVar20 + 0x54))(piVar20,pSVar22,puVar25,view,view_size);\n          if (iVar17 != 0) {\n            uVar7 = *puVar25;\n            offset = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish ==\n                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*(code *)puVar3)(local_58,non_split_refs.\n                                         super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                                         _M_finish,&offset);\n            }\n            else {\n              *non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   offset;\n              non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish +\n                   1;\n            }\n          }\n        }\n        break;\n      }\n      if (((uVar7 & 0xe000) == 0x8000) || ((uVar7 << 0x10) >> 0x1d != 0)) break;\n      p_Var28 = (_func_int_varargs *)PTR_do_gold_unreachable_004c1a30;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                 PTR_s_in_a_linker_script_004c191c + -0x5d0);\nLAB_00287ae8:\n      uVar7 = (*p_Var28)(target);\n    }\n    uVar23 = uVar23 + 1;\n    puVar25 = puVar25 + 3;\n  } while (reloc_count != uVar23);\n  local_38 = &function_offsets._M_t;\n  if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish ==\n      non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start)\n  goto LAB_00287b40;\n  p_Var26 = &function_offsets._M_t._M_impl.super__Rb_tree_header;\n  function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;\n  function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;\n                    /* try { // try from 00287bbc to 00287bc3 has its CatchHandler @ 002881f0 */\n  function_offsets._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;\n  function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_left = &p_Var26->_M_header;\n  function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_right = &p_Var26->_M_header;\n  find_functions(this,pshdrs,shndx,(Function_offsets *)local_38);\n  puVar27 = PTR__M_insert_unique<const_std_pair<int_const,_unsigned_int>&>_004c45ec;\n  if (function_offsets._M_t._M_impl.super__Rb_tree_header._M_node_count != 0) {\n    p_Var9 = &calls_non_split._M_t._M_impl.super__Rb_tree_header;\n    calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;\n    calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;\n    calls_non_split._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;\n    calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left = &p_Var9->_M_header;\n    calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_right = &p_Var9->_M_header;\n    if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start !=\n        non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish) {\n      p_Var19 = (_Rb_tree_color *)\n                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish;\n      p_Var24 = (_Rb_tree_color *)\n                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start;\n      do {\n        if (function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent ==\n            (_Base_ptr)0x0) {\nLAB_00287f40:\n          p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var26);\nLAB_00287c78:\n                    /* try { // try from 00287c84 to 00287c8b has its CatchHandler @ 002881b4 */\n          (*(code *)puVar27)(&offset,&calls_non_split,p_Var10 + 1);\n          p_Var19 = (_Rb_tree_color *)\n                    non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish;\n        }\n        else {\n          p_Var12 = &p_Var26->_M_header;\n          p_Var4 = function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n          do {\n            while (p_Var10 = p_Var4, (int)p_Var10[1]._M_color < (int)*p_Var24) {\n              pp_Var1 = &p_Var10->_M_right;\n              p_Var10 = p_Var12;\n              p_Var4 = *pp_Var1;\n              if (*pp_Var1 == (_Base_ptr)0x0) goto LAB_00287c50;\n            }\n            p_Var12 = p_Var10;\n            p_Var4 = p_Var10->_M_left;\n          } while (p_Var10->_M_left != (_Base_ptr)0x0);\nLAB_00287c50:\n          if ((_Rb_tree_header *)p_Var10 == p_Var26) goto LAB_00287f40;\n          if (p_Var10[1]._M_color == *p_Var24) goto LAB_00287c78;\n          if (function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_left != p_Var10) {\n            p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var10);\n            goto LAB_00287c78;\n          }\n        }\n        puVar3 = PTR_parameters_004c19b4;\n        p_Var24 = p_Var24 + 1;\n      } while (p_Var19 != p_Var24);\n      if (calls_non_split._M_t._M_impl.super__Rb_tree_header._M_node_count != 0) {\n        if ((_Rb_tree_header *)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left\n            != p_Var9) {\n          local_58 = &from.field_2;\n          local_c0[0] = 0;\n          puVar27 = local_c0;\n          from._M_string_length = 0;\n          from.field_2._M_local_buf[0] = '\0';\n          local_c4 = 0;\n          piVar20 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          offset = (section_offset_type)puVar27;\n          from._M_dataplus._M_p = (pointer)local_58;\n          if (piVar20 != (int *)0x0) {\n            puVar11 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            p_Var12 = calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left;\n            do {\n              from.field_2._M_local_buf[0] = '\0';\n              from._M_string_length = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar20 + 0x58))\n                        (piVar20,this,shndx,p_Var12[1]._M_color,p_Var12[1]._M_parent,prelocs,uVar23,\n                         view,view_size,&from,&offset);\n              if (from._M_string_length != 0) {\n                uVar7 = 0;\n                if (local_c4 == 0) goto LAB_002880d4;\n                local_50 = (Symbol *)0x0;\n                puVar25 = (uint *)prelocs;\n                do {\n                  p_Var28 = (target->super_Target)._vptr_Target[0x3e];\n                  if (p_Var28 == (_func_int_varargs *)puVar21) {\n                    uVar8 = puVar25[1];\n                    uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 >> 8;\n                  }\n                  else {\n                    uVar8 = (*p_Var28)(target,puVar25);\n                  }\n                  if (uVar6 <= uVar8) {\n                    uVar16 = *puVar25;\n                    iVar17 = (((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff) * 0x10000;\n                    if (((int)p_Var12[1]._M_color <= iVar17) &&\n                       (iVar17 < (int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)\n                       )) {\n                      uVar16 = uVar8 - this->local_symbol_count_;\n                      if (uVar8 < this->local_symbol_count_) {\n                    /* WARNING: Does not return */\n                        pcVar2 = (code *)trap(0);\n                        (*pcVar2)();\n                      }\n                      ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                                 _M_impl._M_start;\n                      if ((uint)((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2) <= uVar16)\n                      goto LAB_00288080;\n                      iVar17 = (*(code *)PTR_compare_004c27e8)(&from,ppSVar18[uVar16]->name_);\n                      if (iVar17 == 0) {\n                        if ((local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)) {\n                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);\n                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);\n                          break;\n                        }\n                        if (*reloc_map == (Reloc_symbol_changes *)0x0) {\n                          pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;\n                          if (0x3fffffff < uVar23) goto LAB_002880f0;\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;\n                          uVar8 = uVar23;\n                          ppSVar18 = ppSVar13;\n                          do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;\n                          *reloc_map = pRVar15;\n                        }\n                        else {\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }\n                        ppSVar13[uVar7] = local_50;\n                      }\n                    }\n                  }\n                  uVar7 = uVar7 + 1;\n                  puVar25 = puVar25 + 3;\n                } while (uVar7 < uVar23);\n              }\n              if ((undefined *)offset != puVar27) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)from._M_dataplus._M_p != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              p_Var12 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var12);\n              if ((_Rb_tree_header *)p_Var12 == p_Var9) goto LAB_00288010;\n              local_c0[0] = 0;\n              from._M_string_length = 0;\n              from.field_2._M_local_buf[0] = '\0';\n              local_c4 = 0;\n              piVar20 = *(int **)(*(int *)puVar3 + 0xc);\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n            } while (piVar20 != (int *)0x0);\n          }\n          goto LAB_002880bc;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::pair<int_const,_unsigned_int>_>_>\n        ::_M_erase(&calls_non_split._M_t,\n                   (_Link_type)\n                   calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);\n        goto LAB_00287b2c;\n      }\n    }\n    std::\n    _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::pair<int_const,_unsigned_int>_>_>\n    ::_M_erase(&calls_non_split._M_t,\n               (_Link_type)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);\n  }\nLAB_00287b2c:\n  std::\n  _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::pair<int_const,_unsigned_int>_>_>\n  ::_M_erase(local_38,(_Link_type)\n                      function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);\nLAB_00287b40:\n  if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start != (pointer)0x0)\n  {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  return;\nLAB_00288080:\n                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n             PTR_s_in_a_linker_script_004c191c + -0x5f8);\nLAB_0028809c:\n                    /* try { // try from 002880b0 to 002880b7 has its CatchHandler @ 002881c4 */\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n             PTR_s_in_a_linker_script_004c191c + -0x5f8);\nLAB_002880bc:\n                    /* try { // try from 002880cc to 002880ef has its CatchHandler @ 00288118 */\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n             PTR_s_in_a_linker_script_004c191c + -0x5e8);\nLAB_002880d4:\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n             PTR_s_in_a_linker_script_004c191c + -0x614);\nLAB_002880f0:\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n  (*(code *)PTR___throw_bad_alloc_004c1ac0)();\nLAB_002880fc:\n                    /* try { // try from 00288110 to 00288117 has its CatchHandler @ 002881c4 */\n  puVar21 = PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (puVar21,0x69,PTR_s_in_a_linker_script_004c191c + -0x5e8);\n                    /* catch() { ... } // from try @ 00287de8 with catch @ 00288118\n                       catch() { ... } // from try @ 00288094 with catch @ 00288118\n                       catch() { ... } // from try @ 002880cc with catch @ 00288118 */\n  if ((undefined *)offset != puVar27) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)from._M_dataplus._M_p != local_58) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  std::\n  _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::pair<int_const,_unsigned_int>_>_>\n  ::_M_erase(&calls_non_split._M_t,\n             (_Link_type)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);\n  std::\n  _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::pair<int_const,_unsigned_int>_>_>\n  ::_M_erase(local_38,(_Link_type)\n                      function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);\n  if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start != (pointer)0x0)\n  {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  (*(code *)PTR__Unwind_Resume_004c12c8)(puVar21);\n  return;\n}\n\n" comment comment comment comment (declaration "void __thiscall\ngold::Sized_relobj_file<32,_false>::split_stack_adjust_reltype<4>\n          (Sized_relobj_file<32,_false> *this,Symbol_table *symtab,uchar *pshdrs,uint shndx,\n          uchar *prelocs,size_t reloc_count,uchar *view,section_size_type view_size,\n          Reloc_symbol_changes **reloc_map,Sized_target<32,_false> *target)\n\n{\n  _Base_ptr *pp_Var1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_false>::split_stack_adjust_reltype<4>\n          (Sized_relobj_file<32,_false> *this,Symbol_table *symtab,uchar *pshdrs,uint shndx,\n          uchar *prelocs,size_t reloc_count,uchar *view,section_size_type view_size,\n          Reloc_symbol_changes **reloc_map,Sized_target<32,_false> *target)\n\n{\n  _Base_ptr" identifier > : : (function_declarator "split_stack_adjust_reltype<4>\n          (Sized_relobj_file<32,_false> *this,Symbol_table *symtab,uchar *pshdrs,uint shndx,\n          uchar *prelocs,size_t reloc_count,uchar *view,section_size_type view_size,\n          Reloc_symbol_changes **reloc_map,Sized_target<32,_false> *target)" identifier (ERROR "<4>" < number_literal >) (parameter_list "(Sized_relobj_file<32,_false> *this,Symbol_table *symtab,uchar *pshdrs,uint shndx,\n          uchar *prelocs,size_t reloc_count,uchar *view,section_size_type view_size,\n          Reloc_symbol_changes **reloc_map,Sized_target<32,_false> *target)" ( (parameter_declaration "Sized_relobj_file" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol_table *symtab" type_identifier (pointer_declarator "*symtab" * identifier)) , (parameter_declaration "uchar *pshdrs" type_identifier (pointer_declarator "*pshdrs" * identifier)) , (parameter_declaration "uint shndx" type_identifier identifier) , (parameter_declaration "uchar *prelocs" type_identifier (pointer_declarator "*prelocs" * identifier)) , (parameter_declaration "size_t reloc_count" primitive_type identifier) , (parameter_declaration "uchar *view" type_identifier (pointer_declarator "*view" * identifier)) , (parameter_declaration "section_size_type view_size" type_identifier identifier) , (parameter_declaration "Reloc_symbol_changes **reloc_map" type_identifier (pointer_declarator "**reloc_map" * (pointer_declarator "*reloc_map" * identifier))) , (parameter_declaration "Sized_target" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_false> *target" type_identifier (ERROR ">" >) (pointer_declarator "*target" * identifier)) ))) { identifier) (pointer_declarator "*pp_Var1" * identifier) ;) (declaration "code *pcVar2;" type_identifier (pointer_declarator "*pcVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "_Base_ptr p_Var4;" type_identifier identifier ;) (declaration "_func_int_varargs **pp_Var5;" type_identifier (pointer_declarator "**pp_Var5" * (pointer_declarator "*pp_Var5" * identifier)) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "_Rb_tree_header *p_Var9;" type_identifier (pointer_declarator "*p_Var9" * identifier) ;) (declaration "_Base_ptr p_Var10;" type_identifier identifier ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "_Base_ptr p_Var12;" type_identifier identifier ;) (declaration "pointer ppSVar13;" type_identifier identifier ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "Reloc_symbol_changes *pRVar15;" type_identifier (pointer_declarator "*pRVar15" * identifier) ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "pointer ppSVar18;" type_identifier identifier ;) (declaration "_Rb_tree_color *p_Var19;" type_identifier (pointer_declarator "*p_Var19" * identifier) ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "undefined *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "Symbol *pSVar22;" type_identifier (pointer_declarator "*pSVar22" * identifier) ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "_Rb_tree_color *p_Var24;" type_identifier (pointer_declarator "*p_Var24" * identifier) ;) (declaration "uint *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "_Rb_tree_header *p_Var26;" type_identifier (pointer_declarator "*p_Var26" * identifier) ;) (declaration "undefined *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "_func_int_varargs *p_Var28;" type_identifier (pointer_declarator "*p_Var28" * identifier) ;) (declaration "section_offset_type offset;" type_identifier identifier ;) (declaration "int local_c4;" primitive_type identifier ;) (declaration "undefined local_c0 [16];" type_identifier (array_declarator "local_c0 [16]" identifier [ number_literal ]) ;) (declaration "string from;" type_identifier identifier ;) (declaration "Function_offsets calls_non_split;" type_identifier identifier ;) (declaration "Function_offsets function_offsets;" type_identifier identifier ;) (ERROR "vector<int," (binary_expression "vector<int" identifier < identifier) ,) (labeled_statement "_std::allocator<int>_> non_split_refs;" statement_identifier : (ERROR ":" :) (expression_statement "allocator<int>_> non_split_refs;" (binary_expression "allocator<int>_> non_split_refs" (binary_expression "allocator<int>_" (binary_expression "allocator<int" identifier < identifier) > identifier) > identifier) ;)) (ERROR "anon_union_16_2_edb7204a_for_basic_string<char," (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) ,) (labeled_statement "_std::char_traits<char>,_std::allocator<char>_>_9\n  *local_58;" statement_identifier (ERROR "::char_traits<char>,_std:" : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) :) : (expression_statement "allocator<char>_>_9\n  *local_58;" (binary_expression "allocator<char>_>_9\n  *local_58" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n  *local_58" identifier * identifier)) ;)) (declaration "Symbol *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (ERROR "_Rb_tree<int," (binary_expression "_Rb_tree<int" identifier < identifier) ,) (labeled_statement "_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::pair<int_const,_unsigned_int>_>_>\n  *local_38;" statement_identifier (ERROR "::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std:" : : (comma_expression "pair<int_const,_unsigned_int>,_std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<int_const,_unsigned_int>_>,_std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "less<int>,_std" (binary_expression "less<int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) :) : (expression_statement "pair<int_const,_unsigned_int>_>_>\n  *local_38;" (comma_expression "pair<int_const,_unsigned_int>_>_>\n  *local_38" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "_unsigned_int>_>_>\n  *local_38" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > (pointer_expression "*local_38" * identifier))) ;)) (expression_statement "pp_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object;" (assignment_expression "pp_Var5 = (this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object" identifier = (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(this->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(this->super_Sized_relobj<32,_false>)" ( (comma_expression "this->super_Sized_relobj<32,_false" (binary_expression "this->super_Sized_relobj<32" (field_expression "this->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "p_Var28 = pp_Var5[0x23];" (assignment_expression "p_Var28 = pp_Var5[0x23]" identifier = (subscript_expression "pp_Var5[0x23]" identifier [ number_literal ])) ;) (if_statement "if (p_Var28 == (_func_int_varargs *)PTR_local_symbol_count_004c1bc0) {\n    uVar6 = (*pp_Var5[0x2f])();\n  }\n  else {\n    uVar6 = (*p_Var28)();\n  }" if (parenthesized_expression "(p_Var28 == (_func_int_varargs *)PTR_local_symbol_count_004c1bc0)" ( (binary_expression "p_Var28 == (_func_int_varargs *)PTR_local_symbol_count_004c1bc0" identifier == (cast_expression "(_func_int_varargs *)PTR_local_symbol_count_004c1bc0" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n    uVar6 = (*pp_Var5[0x2f])();\n  }" { (expression_statement "uVar6 = (*pp_Var5[0x2f])();" (assignment_expression "uVar6 = (*pp_Var5[0x2f])()" identifier = (call_expression "(*pp_Var5[0x2f])()" (parenthesized_expression "(*pp_Var5[0x2f])" ( (pointer_expression "*pp_Var5[0x2f]" * (subscript_expression "pp_Var5[0x2f]" identifier [ number_literal ])) )) (argument_list "()" ( )))) ;) }) (else_clause "else {\n    uVar6 = (*p_Var28)();\n  }" else (compound_statement "{\n    uVar6 = (*p_Var28)();\n  }" { (expression_statement "uVar6 = (*p_Var28)();" (assignment_expression "uVar6 = (*p_Var28)()" identifier = (call_expression "(*p_Var28)()" (parenthesized_expression "(*p_Var28)" ( (pointer_expression "*p_Var28" * identifier) )) (argument_list "()" ( )))) ;) }))) (expression_statement "puVar3 = PTR__M_realloc_insert<int_const&>_004c45e4;" (assignment_expression "puVar3 = PTR__M_realloc_insert<int_const&>_004c45e4" identifier = (binary_expression "PTR__M_realloc_insert<int_const&>_004c45e4" (binary_expression "PTR__M_realloc_insert<int_const" identifier < identifier) (ERROR "&" &) > identifier)) ;) (expression_statement "puVar21 = PTR_get_r_sym_004c4580;" (assignment_expression "puVar21 = PTR_get_r_sym_004c4580" identifier = identifier) ;) (expression_statement "puVar27 = PTR_parameters_004c19b4;" (assignment_expression "puVar27 = PTR_parameters_004c19b4" identifier = identifier) ;) (ERROR "non_split_refs.super__Vector_base<int," (binary_expression "non_split_refs.super__Vector_base<int" (field_expression "non_split_refs.super__Vector_base" identifier . field_identifier) < identifier) ,) (labeled_statement "_std::allocator<int>_>._M_impl._M_start = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "allocator<int>_>._M_impl._M_start = (pointer)0x0;" (assignment_expression "allocator<int>_>._M_impl._M_start = (pointer)0x0" (field_expression "allocator<int>_>._M_impl._M_start" (field_expression "allocator<int>_>._M_impl" (binary_expression "allocator<int>_" (binary_expression "allocator<int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;)) (ERROR "non_split_refs.super__Vector_base<int," (binary_expression "non_split_refs.super__Vector_base<int" (field_expression "non_split_refs.super__Vector_base" identifier . field_identifier) < identifier) ,) (labeled_statement "_std::allocator<int>_>._M_impl._M_finish = (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "allocator<int>_>._M_impl._M_finish = (pointer)0x0;" (assignment_expression "allocator<int>_>._M_impl._M_finish = (pointer)0x0" (field_expression "allocator<int>_>._M_impl._M_finish" (field_expression "allocator<int>_>._M_impl" (binary_expression "allocator<int>_" (binary_expression "allocator<int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;)) (ERROR "non_split_refs.super__Vector_base<int," (binary_expression "non_split_refs.super__Vector_base<int" (field_expression "non_split_refs.super__Vector_base" identifier . field_identifier) < identifier) ,) (labeled_statement "_std::allocator<int>_>._M_impl._M_end_of_storage =\n       (pointer)0x0;" statement_identifier : (ERROR ":" :) (expression_statement "allocator<int>_>._M_impl._M_end_of_storage =\n       (pointer)0x0;" (assignment_expression "allocator<int>_>._M_impl._M_end_of_storage =\n       (pointer)0x0" (field_expression "allocator<int>_>._M_impl._M_end_of_storage" (field_expression "allocator<int>_>._M_impl" (binary_expression "allocator<int>_" (binary_expression "allocator<int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;)) (if_statement "if (reloc_count == 0) {\n    return;\n  }" if (parenthesized_expression "(reloc_count == 0)" ( (binary_expression "reloc_count == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "uVar23 = 0;" (assignment_expression "uVar23 = 0" identifier = number_literal) ;) (expression_statement "local_58 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n              *)&non_split_refs;" (assignment_expression "local_58 = (anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n              *)&non_split_refs" identifier = (binary_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n              *)&non_split_refs" (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n              *)" ( (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" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) (ERROR "*" *) )) & identifier)) ;) (expression_statement "puVar25 = (uint *)prelocs;" (assignment_expression "puVar25 = (uint *)prelocs" identifier = (cast_expression "(uint *)prelocs" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n    p_Var28 = (target->super_Target)._vptr_Target[0x3e];\n    if (p_Var28 != (_func_int_varargs *)puVar21) goto LAB_00287ae8;\n    uVar7 = puVar25[1];\n    uVar7 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 >> 8;\n    while (uVar6 <= uVar7) {\n      uVar8 = uVar7 - this->local_symbol_count_;\n      if (uVar7 < this->local_symbol_count_) {\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        goto LAB_00288080;\n      }\n      ppSVar18 = (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                 _M_impl._M_start;\n      if ((uint)((int)(this->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish - (int)ppSVar18 >> 2) <= uVar8) goto LAB_0028809c;\n      pSVar22 = ppSVar18[uVar8];\n      if (pSVar22 == (Symbol *)0x0) goto LAB_00288064;\n      if (*(int *)&pSVar22->field_0x28 << 0x14 < 0) {\n        pSVar22 = (Symbol *)(*(code *)PTR_resolve_forwards_004c1bc8)(symtab);\n      }\n      uVar7 = *(uint *)&pSVar22->field_0x28;\n      if ((uVar7 & 0xe000) == 0) {\n        if (((((pSVar22->u2_).shndx != 0) || (-1 < (int)(uVar7 << 0x1d))) &&\n            ((uVar7 << 0x10) >> 0x1d == 0)) &&\n           (-1 < (int)((pSVar22->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_end_of_storage << 2)) {\n          piVar20 = *(int **)(*(int *)puVar27 + 0xc);\n          if (piVar20 == (int *)0x0) goto LAB_002880fc;\n                    /* try { // try from 00287a14 to 00287b03 has its CatchHandler @ 002881c4 */\n          iVar17 = (**(code **)(*piVar20 + 0x54))(piVar20,pSVar22,puVar25,view,view_size);\n          if (iVar17 != 0) {\n            uVar7 = *puVar25;\n            offset = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish ==\n                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*(code *)puVar3)(local_58,non_split_refs.\n                                         super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                                         _M_finish,&offset);\n            }\n            else {\n              *non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   offset;\n              non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish +\n                   1;\n            }\n          }\n        }\n        break;\n      }\n      if (((uVar7 & 0xe000) == 0x8000) || ((uVar7 << 0x10) >> 0x1d != 0)) break;\n      p_Var28 = (_func_int_varargs *)PTR_do_gold_unreachable_004c1a30;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                 PTR_s_in_a_linker_script_004c191c + -0x5d0);\nLAB_00287ae8:\n      uVar7 = (*p_Var28)(target);\n    }\n    uVar23 = uVar23 + 1;\n    puVar25 = puVar25 + 3;\n  } while (reloc_count != uVar23);" do (compound_statement "{\n    p_Var28 = (target->super_Target)._vptr_Target[0x3e];\n    if (p_Var28 != (_func_int_varargs *)puVar21) goto LAB_00287ae8;\n    uVar7 = puVar25[1];\n    uVar7 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 >> 8;\n    while (uVar6 <= uVar7) {\n      uVar8 = uVar7 - this->local_symbol_count_;\n      if (uVar7 < this->local_symbol_count_) {\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        goto LAB_00288080;\n      }\n      ppSVar18 = (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                 _M_impl._M_start;\n      if ((uint)((int)(this->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish - (int)ppSVar18 >> 2) <= uVar8) goto LAB_0028809c;\n      pSVar22 = ppSVar18[uVar8];\n      if (pSVar22 == (Symbol *)0x0) goto LAB_00288064;\n      if (*(int *)&pSVar22->field_0x28 << 0x14 < 0) {\n        pSVar22 = (Symbol *)(*(code *)PTR_resolve_forwards_004c1bc8)(symtab);\n      }\n      uVar7 = *(uint *)&pSVar22->field_0x28;\n      if ((uVar7 & 0xe000) == 0) {\n        if (((((pSVar22->u2_).shndx != 0) || (-1 < (int)(uVar7 << 0x1d))) &&\n            ((uVar7 << 0x10) >> 0x1d == 0)) &&\n           (-1 < (int)((pSVar22->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_end_of_storage << 2)) {\n          piVar20 = *(int **)(*(int *)puVar27 + 0xc);\n          if (piVar20 == (int *)0x0) goto LAB_002880fc;\n                    /* try { // try from 00287a14 to 00287b03 has its CatchHandler @ 002881c4 */\n          iVar17 = (**(code **)(*piVar20 + 0x54))(piVar20,pSVar22,puVar25,view,view_size);\n          if (iVar17 != 0) {\n            uVar7 = *puVar25;\n            offset = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish ==\n                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*(code *)puVar3)(local_58,non_split_refs.\n                                         super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                                         _M_finish,&offset);\n            }\n            else {\n              *non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   offset;\n              non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish +\n                   1;\n            }\n          }\n        }\n        break;\n      }\n      if (((uVar7 & 0xe000) == 0x8000) || ((uVar7 << 0x10) >> 0x1d != 0)) break;\n      p_Var28 = (_func_int_varargs *)PTR_do_gold_unreachable_004c1a30;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                 PTR_s_in_a_linker_script_004c191c + -0x5d0);\nLAB_00287ae8:\n      uVar7 = (*p_Var28)(target);\n    }\n    uVar23 = uVar23 + 1;\n    puVar25 = puVar25 + 3;\n  }" { (expression_statement "p_Var28 = (target->super_Target)._vptr_Target[0x3e];" (assignment_expression "p_Var28 = (target->super_Target)._vptr_Target[0x3e]" identifier = (subscript_expression "(target->super_Target)._vptr_Target[0x3e]" (field_expression "(target->super_Target)._vptr_Target" (parenthesized_expression "(target->super_Target)" ( (field_expression "target->super_Target" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var28 != (_func_int_varargs *)puVar21) goto LAB_00287ae8;" if (parenthesized_expression "(p_Var28 != (_func_int_varargs *)puVar21)" ( (binary_expression "p_Var28 != (_func_int_varargs *)puVar21" identifier != (cast_expression "(_func_int_varargs *)puVar21" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_00287ae8;" goto statement_identifier ;)) (expression_statement "uVar7 = puVar25[1];" (assignment_expression "uVar7 = puVar25[1]" identifier = (subscript_expression "puVar25[1]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 >> 8;" (assignment_expression "uVar7 = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 >> 8" identifier = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000 >> 8" (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) >> number_literal)) ;) (while_statement "while (uVar6 <= uVar7) {\n      uVar8 = uVar7 - this->local_symbol_count_;\n      if (uVar7 < this->local_symbol_count_) {\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        goto LAB_00288080;\n      }\n      ppSVar18 = (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                 _M_impl._M_start;\n      if ((uint)((int)(this->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish - (int)ppSVar18 >> 2) <= uVar8) goto LAB_0028809c;\n      pSVar22 = ppSVar18[uVar8];\n      if (pSVar22 == (Symbol *)0x0) goto LAB_00288064;\n      if (*(int *)&pSVar22->field_0x28 << 0x14 < 0) {\n        pSVar22 = (Symbol *)(*(code *)PTR_resolve_forwards_004c1bc8)(symtab);\n      }\n      uVar7 = *(uint *)&pSVar22->field_0x28;\n      if ((uVar7 & 0xe000) == 0) {\n        if (((((pSVar22->u2_).shndx != 0) || (-1 < (int)(uVar7 << 0x1d))) &&\n            ((uVar7 << 0x10) >> 0x1d == 0)) &&\n           (-1 < (int)((pSVar22->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_end_of_storage << 2)) {\n          piVar20 = *(int **)(*(int *)puVar27 + 0xc);\n          if (piVar20 == (int *)0x0) goto LAB_002880fc;\n                    /* try { // try from 00287a14 to 00287b03 has its CatchHandler @ 002881c4 */\n          iVar17 = (**(code **)(*piVar20 + 0x54))(piVar20,pSVar22,puVar25,view,view_size);\n          if (iVar17 != 0) {\n            uVar7 = *puVar25;\n            offset = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish ==\n                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*(code *)puVar3)(local_58,non_split_refs.\n                                         super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                                         _M_finish,&offset);\n            }\n            else {\n              *non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   offset;\n              non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish +\n                   1;\n            }\n          }\n        }\n        break;\n      }\n      if (((uVar7 & 0xe000) == 0x8000) || ((uVar7 << 0x10) >> 0x1d != 0)) break;\n      p_Var28 = (_func_int_varargs *)PTR_do_gold_unreachable_004c1a30;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                 PTR_s_in_a_linker_script_004c191c + -0x5d0);\nLAB_00287ae8:\n      uVar7 = (*p_Var28)(target);\n    }" while (parenthesized_expression "(uVar6 <= uVar7)" ( (binary_expression "uVar6 <= uVar7" identifier <= identifier) )) (compound_statement "{\n      uVar8 = uVar7 - this->local_symbol_count_;\n      if (uVar7 < this->local_symbol_count_) {\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        goto LAB_00288080;\n      }\n      ppSVar18 = (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                 _M_impl._M_start;\n      if ((uint)((int)(this->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish - (int)ppSVar18 >> 2) <= uVar8) goto LAB_0028809c;\n      pSVar22 = ppSVar18[uVar8];\n      if (pSVar22 == (Symbol *)0x0) goto LAB_00288064;\n      if (*(int *)&pSVar22->field_0x28 << 0x14 < 0) {\n        pSVar22 = (Symbol *)(*(code *)PTR_resolve_forwards_004c1bc8)(symtab);\n      }\n      uVar7 = *(uint *)&pSVar22->field_0x28;\n      if ((uVar7 & 0xe000) == 0) {\n        if (((((pSVar22->u2_).shndx != 0) || (-1 < (int)(uVar7 << 0x1d))) &&\n            ((uVar7 << 0x10) >> 0x1d == 0)) &&\n           (-1 < (int)((pSVar22->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_end_of_storage << 2)) {\n          piVar20 = *(int **)(*(int *)puVar27 + 0xc);\n          if (piVar20 == (int *)0x0) goto LAB_002880fc;\n                    /* try { // try from 00287a14 to 00287b03 has its CatchHandler @ 002881c4 */\n          iVar17 = (**(code **)(*piVar20 + 0x54))(piVar20,pSVar22,puVar25,view,view_size);\n          if (iVar17 != 0) {\n            uVar7 = *puVar25;\n            offset = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish ==\n                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*(code *)puVar3)(local_58,non_split_refs.\n                                         super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                                         _M_finish,&offset);\n            }\n            else {\n              *non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   offset;\n              non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish +\n                   1;\n            }\n          }\n        }\n        break;\n      }\n      if (((uVar7 & 0xe000) == 0x8000) || ((uVar7 << 0x10) >> 0x1d != 0)) break;\n      p_Var28 = (_func_int_varargs *)PTR_do_gold_unreachable_004c1a30;\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                 PTR_s_in_a_linker_script_004c191c + -0x5d0);\nLAB_00287ae8:\n      uVar7 = (*p_Var28)(target);\n    }" { (expression_statement "uVar8 = uVar7 - this->local_symbol_count_;" (assignment_expression "uVar8 = uVar7 - this->local_symbol_count_" identifier = (binary_expression "uVar7 - this->local_symbol_count_" identifier - (field_expression "this->local_symbol_count_" identifier -> field_identifier))) ;) (if_statement "if (uVar7 < this->local_symbol_count_) {\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        goto LAB_00288080;\n      }" if (parenthesized_expression "(uVar7 < this->local_symbol_count_)" ( (binary_expression "uVar7 < this->local_symbol_count_" identifier < (field_expression "this->local_symbol_count_" identifier -> field_identifier)) )) (compound_statement "{\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        goto LAB_00288080;\n      }" { (labeled_statement "LAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614)" ( (binary_expression "PTR_s_in_a_linker_script_004c191c + -0xe14" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x614" identifier + number_literal) ))) ;)) (goto_statement "goto LAB_00288080;" goto statement_identifier ;) })) (expression_statement "ppSVar18 = (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                 _M_impl._M_start;" (field_expression "ppSVar18 = (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                 _M_impl._M_start" (field_expression "ppSVar18 = (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                 _M_impl" (binary_expression "ppSVar18 = (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "ppSVar18 = (this->symbols_).super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "ppSVar18 = (this->symbols_).super__Vector_base<gold::Symbol*,_std" (assignment_expression "ppSVar18 = (this->symbols_).super__Vector_base<gold" identifier = (binary_expression "(this->symbols_).super__Vector_base<gold" (field_expression "(this->symbols_).super__Vector_base" (parenthesized_expression "(this->symbols_)" ( (field_expression "this->symbols_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((uint)((int)(this->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish - (int)ppSVar18 >> 2) <= uVar8) goto LAB_0028809c;" if (parenthesized_expression "((uint)((int)(this->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish - (int)ppSVar18 >> 2) <= uVar8)" ( (binary_expression "(uint)((int)(this->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish - (int)ppSVar18 >> 2) <= uVar8" (call_expression "(uint)((int)(this->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish - (int)ppSVar18 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(this->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish - (int)ppSVar18 >> 2)" ( (binary_expression "(int)(this->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish - (int)ppSVar18 >> 2" (binary_expression "(int)(this->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish - (int)ppSVar18" (field_expression "(int)(this->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                      _M_finish" (field_expression "(int)(this->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(int)(this->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(int)(this->symbols_).\n                      super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(int)(this->symbols_).\n                      super__Vector_base<gold::Symbol*,_std" (binary_expression "(int)(this->symbols_).\n                      super__Vector_base<gold" (cast_expression "(int)(this->symbols_).\n                      super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(this->symbols_).\n                      super__Vector_base" (parenthesized_expression "(this->symbols_)" ( (field_expression "this->symbols_" identifier -> field_identifier) )) . field_identifier)) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)ppSVar18" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (goto_statement "goto LAB_0028809c;" goto statement_identifier ;)) (expression_statement "pSVar22 = ppSVar18[uVar8];" (assignment_expression "pSVar22 = ppSVar18[uVar8]" identifier = (subscript_expression "ppSVar18[uVar8]" identifier [ identifier ])) ;) (if_statement "if (pSVar22 == (Symbol *)0x0) goto LAB_00288064;" if (parenthesized_expression "(pSVar22 == (Symbol *)0x0)" ( (binary_expression "pSVar22 == (Symbol *)0x0" identifier == (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00288064;" goto statement_identifier ;)) (if_statement "if (*(int *)&pSVar22->field_0x28 << 0x14 < 0) {\n        pSVar22 = (Symbol *)(*(code *)PTR_resolve_forwards_004c1bc8)(symtab);\n      }" if (parenthesized_expression "(*(int *)&pSVar22->field_0x28 << 0x14 < 0)" ( (binary_expression "*(int *)&pSVar22->field_0x28 << 0x14 < 0" (binary_expression "*(int *)&pSVar22->field_0x28 << 0x14" (pointer_expression "*(int *)&pSVar22->field_0x28" * (cast_expression "(int *)&pSVar22->field_0x28" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar22->field_0x28" & (field_expression "pSVar22->field_0x28" identifier -> field_identifier)))) << number_literal) < number_literal) )) (compound_statement "{\n        pSVar22 = (Symbol *)(*(code *)PTR_resolve_forwards_004c1bc8)(symtab);\n      }" { (expression_statement "pSVar22 = (Symbol *)(*(code *)PTR_resolve_forwards_004c1bc8)(symtab);" (assignment_expression "pSVar22 = (Symbol *)(*(code *)PTR_resolve_forwards_004c1bc8)(symtab)" identifier = (cast_expression "(Symbol *)(*(code *)PTR_resolve_forwards_004c1bc8)(symtab)" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_resolve_forwards_004c1bc8)(symtab)" (parenthesized_expression "(*(code *)PTR_resolve_forwards_004c1bc8)" ( (pointer_expression "*(code *)PTR_resolve_forwards_004c1bc8" * (cast_expression "(code *)PTR_resolve_forwards_004c1bc8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(symtab)" ( identifier ))))) ;) })) (expression_statement "uVar7 = *(uint *)&pSVar22->field_0x28;" (assignment_expression "uVar7 = *(uint *)&pSVar22->field_0x28" identifier = (pointer_expression "*(uint *)&pSVar22->field_0x28" * (cast_expression "(uint *)&pSVar22->field_0x28" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pSVar22->field_0x28" & (field_expression "pSVar22->field_0x28" identifier -> field_identifier))))) ;) (if_statement "if ((uVar7 & 0xe000) == 0) {\n        if (((((pSVar22->u2_).shndx != 0) || (-1 < (int)(uVar7 << 0x1d))) &&\n            ((uVar7 << 0x10) >> 0x1d == 0)) &&\n           (-1 < (int)((pSVar22->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_end_of_storage << 2)) {\n          piVar20 = *(int **)(*(int *)puVar27 + 0xc);\n          if (piVar20 == (int *)0x0) goto LAB_002880fc;\n                    /* try { // try from 00287a14 to 00287b03 has its CatchHandler @ 002881c4 */\n          iVar17 = (**(code **)(*piVar20 + 0x54))(piVar20,pSVar22,puVar25,view,view_size);\n          if (iVar17 != 0) {\n            uVar7 = *puVar25;\n            offset = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish ==\n                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*(code *)puVar3)(local_58,non_split_refs.\n                                         super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                                         _M_finish,&offset);\n            }\n            else {\n              *non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   offset;\n              non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish +\n                   1;\n            }\n          }\n        }\n        break;\n      }" if (parenthesized_expression "((uVar7 & 0xe000) == 0)" ( (binary_expression "(uVar7 & 0xe000) == 0" (parenthesized_expression "(uVar7 & 0xe000)" ( (binary_expression "uVar7 & 0xe000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if (((((pSVar22->u2_).shndx != 0) || (-1 < (int)(uVar7 << 0x1d))) &&\n            ((uVar7 << 0x10) >> 0x1d == 0)) &&\n           (-1 < (int)((pSVar22->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_end_of_storage << 2)) {\n          piVar20 = *(int **)(*(int *)puVar27 + 0xc);\n          if (piVar20 == (int *)0x0) goto LAB_002880fc;\n                    /* try { // try from 00287a14 to 00287b03 has its CatchHandler @ 002881c4 */\n          iVar17 = (**(code **)(*piVar20 + 0x54))(piVar20,pSVar22,puVar25,view,view_size);\n          if (iVar17 != 0) {\n            uVar7 = *puVar25;\n            offset = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish ==\n                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*(code *)puVar3)(local_58,non_split_refs.\n                                         super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                                         _M_finish,&offset);\n            }\n            else {\n              *non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   offset;\n              non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish +\n                   1;\n            }\n          }\n        }\n        break;\n      }" { (if_statement "if (((((pSVar22->u2_).shndx != 0) || (-1 < (int)(uVar7 << 0x1d))) &&\n            ((uVar7 << 0x10) >> 0x1d == 0)) &&\n           (-1 < (int)((pSVar22->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_end_of_storage << 2)) {\n          piVar20 = *(int **)(*(int *)puVar27 + 0xc);\n          if (piVar20 == (int *)0x0) goto LAB_002880fc;\n                    /* try { // try from 00287a14 to 00287b03 has its CatchHandler @ 002881c4 */\n          iVar17 = (**(code **)(*piVar20 + 0x54))(piVar20,pSVar22,puVar25,view,view_size);\n          if (iVar17 != 0) {\n            uVar7 = *puVar25;\n            offset = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish ==\n                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*(code *)puVar3)(local_58,non_split_refs.\n                                         super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                                         _M_finish,&offset);\n            }\n            else {\n              *non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   offset;\n              non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish +\n                   1;\n            }\n          }\n        }" if (parenthesized_expression "(((((pSVar22->u2_).shndx != 0) || (-1 < (int)(uVar7 << 0x1d))) &&\n            ((uVar7 << 0x10) >> 0x1d == 0)) &&\n           (-1 < (int)((pSVar22->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_end_of_storage << 2))" ( (binary_expression "((((pSVar22->u2_).shndx != 0) || (-1 < (int)(uVar7 << 0x1d))) &&\n            ((uVar7 << 0x10) >> 0x1d == 0)) &&\n           (-1 < (int)((pSVar22->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_end_of_storage << 2)" (parenthesized_expression "((((pSVar22->u2_).shndx != 0) || (-1 < (int)(uVar7 << 0x1d))) &&\n            ((uVar7 << 0x10) >> 0x1d == 0))" ( (binary_expression "(((pSVar22->u2_).shndx != 0) || (-1 < (int)(uVar7 << 0x1d))) &&\n            ((uVar7 << 0x10) >> 0x1d == 0)" (parenthesized_expression "(((pSVar22->u2_).shndx != 0) || (-1 < (int)(uVar7 << 0x1d)))" ( (binary_expression "((pSVar22->u2_).shndx != 0) || (-1 < (int)(uVar7 << 0x1d))" (parenthesized_expression "((pSVar22->u2_).shndx != 0)" ( (binary_expression "(pSVar22->u2_).shndx != 0" (field_expression "(pSVar22->u2_).shndx" (parenthesized_expression "(pSVar22->u2_)" ( (field_expression "pSVar22->u2_" identifier -> field_identifier) )) . field_identifier) != number_literal) )) || (parenthesized_expression "(-1 < (int)(uVar7 << 0x1d))" ( (binary_expression "-1 < (int)(uVar7 << 0x1d)" number_literal < (cast_expression "(int)(uVar7 << 0x1d)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar7 << 0x1d)" ( (binary_expression "uVar7 << 0x1d" identifier << number_literal) )))) ))) )) && (parenthesized_expression "((uVar7 << 0x10) >> 0x1d == 0)" ( (binary_expression "(uVar7 << 0x10) >> 0x1d == 0" (binary_expression "(uVar7 << 0x10) >> 0x1d" (parenthesized_expression "(uVar7 << 0x10)" ( (binary_expression "uVar7 << 0x10" identifier << number_literal) )) >> number_literal) == number_literal) ))) )) && (parenthesized_expression "(-1 < (int)((pSVar22->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_end_of_storage << 2)" ( (binary_expression "-1 < (int)((pSVar22->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_end_of_storage << 2" (field_expression "-1 < (int)((pSVar22->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl._M_end_of_storage" (field_expression "-1 < (int)((pSVar22->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                      _M_impl" (binary_expression "-1 < (int)((pSVar22->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "-1 < (int)((pSVar22->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "-1 < (int)((pSVar22->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold::Output_data*,_std" (binary_expression "-1 < (int)((pSVar22->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base<gold" (binary_expression "-1 < (int)((pSVar22->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base" number_literal < (cast_expression "(int)((pSVar22->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "((pSVar22->u1_).output_segment)->output_lists_[3].\n                      super__Vector_base" (subscript_expression "((pSVar22->u1_).output_segment)->output_lists_[3]" (field_expression "((pSVar22->u1_).output_segment)->output_lists_" (parenthesized_expression "((pSVar22->u1_).output_segment)" ( (field_expression "(pSVar22->u1_).output_segment" (parenthesized_expression "(pSVar22->u1_)" ( (field_expression "pSVar22->u1_" identifier -> field_identifier) )) . field_identifier) )) -> field_identifier) [ number_literal ]) . field_identifier))) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) << number_literal) ))) )) (compound_statement "{\n          piVar20 = *(int **)(*(int *)puVar27 + 0xc);\n          if (piVar20 == (int *)0x0) goto LAB_002880fc;\n                    /* try { // try from 00287a14 to 00287b03 has its CatchHandler @ 002881c4 */\n          iVar17 = (**(code **)(*piVar20 + 0x54))(piVar20,pSVar22,puVar25,view,view_size);\n          if (iVar17 != 0) {\n            uVar7 = *puVar25;\n            offset = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish ==\n                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*(code *)puVar3)(local_58,non_split_refs.\n                                         super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                                         _M_finish,&offset);\n            }\n            else {\n              *non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   offset;\n              non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish +\n                   1;\n            }\n          }\n        }" { (expression_statement "piVar20 = *(int **)(*(int *)puVar27 + 0xc);" (assignment_expression "piVar20 = *(int **)(*(int *)puVar27 + 0xc)" identifier = (pointer_expression "*(int **)(*(int *)puVar27 + 0xc)" * (cast_expression "(int **)(*(int *)puVar27 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)puVar27 + 0xc)" ( (binary_expression "*(int *)puVar27 + 0xc" (pointer_expression "*(int *)puVar27" * (cast_expression "(int *)puVar27" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (if_statement "if (piVar20 == (int *)0x0) goto LAB_002880fc;" if (parenthesized_expression "(piVar20 == (int *)0x0)" ( (binary_expression "piVar20 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002880fc;" goto statement_identifier ;)) comment (expression_statement "iVar17 = (**(code **)(*piVar20 + 0x54))(piVar20,pSVar22,puVar25,view,view_size);" (assignment_expression "iVar17 = (**(code **)(*piVar20 + 0x54))(piVar20,pSVar22,puVar25,view,view_size)" identifier = (call_expression "(**(code **)(*piVar20 + 0x54))(piVar20,pSVar22,puVar25,view,view_size)" (parenthesized_expression "(**(code **)(*piVar20 + 0x54))" ( (pointer_expression "**(code **)(*piVar20 + 0x54)" * (pointer_expression "*(code **)(*piVar20 + 0x54)" * (cast_expression "(code **)(*piVar20 + 0x54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar20 + 0x54)" ( (binary_expression "*piVar20 + 0x54" (pointer_expression "*piVar20" * identifier) + number_literal) ))))) )) (argument_list "(piVar20,pSVar22,puVar25,view,view_size)" ( identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar17 != 0) {\n            uVar7 = *puVar25;\n            offset = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish ==\n                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*(code *)puVar3)(local_58,non_split_refs.\n                                         super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                                         _M_finish,&offset);\n            }\n            else {\n              *non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   offset;\n              non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish +\n                   1;\n            }\n          }" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar7 = *puVar25;\n            offset = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;\n            if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish ==\n                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*(code *)puVar3)(local_58,non_split_refs.\n                                         super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                                         _M_finish,&offset);\n            }\n            else {\n              *non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   offset;\n              non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish +\n                   1;\n            }\n          }" { (expression_statement "uVar7 = *puVar25;" (assignment_expression "uVar7 = *puVar25" identifier = (pointer_expression "*puVar25" * identifier)) ;) (expression_statement "offset = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000;" (assignment_expression "offset = (((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10) +\n                     ((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10)" ( (binary_expression "(uVar7 >> 0x10) << 0x18 | (uVar7 >> 0x18) << 0x10" (binary_expression "(uVar7 >> 0x10) << 0x18" (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar7 >> 0x18) << 0x10" (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff)" ( (binary_expression "(uVar7 & 0xff) << 8 | uVar7 >> 8 & 0xff" (binary_expression "(uVar7 & 0xff) << 8" (parenthesized_expression "(uVar7 & 0xff)" ( (binary_expression "uVar7 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar7 >> 8 & 0xff" (binary_expression "uVar7 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish ==\n                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                _M_end_of_storage) {\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*(code *)puVar3)(local_58,non_split_refs.\n                                         super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                                         _M_finish,&offset);\n            }\n            else {\n              *non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   offset;\n              non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish +\n                   1;\n            }" if (parenthesized_expression "(non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish ==\n                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                _M_end_of_storage)" ( (ERROR "non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish ==\n                non_split_refs.super__Vector_base<int,_std::" (comma_expression "non_split_refs.super__Vector_base<int,_std" (binary_expression "non_split_refs.super__Vector_base<int" (field_expression "non_split_refs.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : : (comma_expression "allocator<int>_>._M_impl._M_finish ==\n                non_split_refs.super__Vector_base<int,_std" (binary_expression "allocator<int>_>._M_impl._M_finish ==\n                non_split_refs.super__Vector_base<int" (field_expression "allocator<int>_>._M_impl._M_finish" (field_expression "allocator<int>_>._M_impl" (binary_expression "allocator<int>_" (binary_expression "allocator<int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) == (binary_expression "non_split_refs.super__Vector_base<int" (field_expression "non_split_refs.super__Vector_base" identifier . field_identifier) < identifier)) , identifier) : :) (field_expression "allocator<int>_>._M_impl.\n                _M_end_of_storage" (field_expression "allocator<int>_>._M_impl" (binary_expression "allocator<int>_" (binary_expression "allocator<int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */\n              (*(code *)puVar3)(local_58,non_split_refs.\n                                         super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                                         _M_finish,&offset);\n            }" { comment (expression_statement "(*(code *)puVar3)(local_58,non_split_refs.\n                                         super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                                         _M_finish,&offset);" (call_expression "(*(code *)puVar3)(local_58,non_split_refs.\n                                         super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                                         _M_finish,&offset)" (parenthesized_expression "(*(code *)puVar3)" ( (pointer_expression "*(code *)puVar3" * (cast_expression "(code *)puVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_58,non_split_refs.\n                                         super__Vector_base<int,_std::allocator<int>_>._M_impl.\n                                         _M_finish,&offset)" ( identifier , (binary_expression "non_split_refs.\n                                         super__Vector_base<int" (field_expression "non_split_refs.\n                                         super__Vector_base" identifier . field_identifier) < identifier) , (ERROR "_std::" identifier : :) (field_expression "allocator<int>_>._M_impl.\n                                         _M_finish" (field_expression "allocator<int>_>._M_impl" (binary_expression "allocator<int>_" (binary_expression "allocator<int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) , (pointer_expression "&offset" & identifier) ))) ;) }) (else_clause "else {\n              *non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   offset;\n              non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish +\n                   1;\n            }" else (compound_statement "{\n              *non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   offset;\n              non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish +\n                   1;\n            }" { (ERROR "*non_split_refs.super__Vector_base<int,_std::" (comma_expression "*non_split_refs.super__Vector_base<int,_std" (binary_expression "*non_split_refs.super__Vector_base<int" (pointer_expression "*non_split_refs.super__Vector_base" * (field_expression "non_split_refs.super__Vector_base" identifier . field_identifier)) < identifier) , identifier) : :) (expression_statement "allocator<int>_>._M_impl._M_finish =\n                   offset;" (assignment_expression "allocator<int>_>._M_impl._M_finish =\n                   offset" (field_expression "allocator<int>_>._M_impl._M_finish" (field_expression "allocator<int>_>._M_impl" (binary_expression "allocator<int>_" (binary_expression "allocator<int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (ERROR "non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish =\n                   non_split_refs.super__Vector_base<int,_std::" (comma_expression "non_split_refs.super__Vector_base<int,_std" (binary_expression "non_split_refs.super__Vector_base<int" (field_expression "non_split_refs.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : : (comma_expression "allocator<int>_>._M_impl._M_finish =\n                   non_split_refs.super__Vector_base<int,_std" (assignment_expression "allocator<int>_>._M_impl._M_finish =\n                   non_split_refs.super__Vector_base<int" (field_expression "allocator<int>_>._M_impl._M_finish" (field_expression "allocator<int>_>._M_impl" (binary_expression "allocator<int>_" (binary_expression "allocator<int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "non_split_refs.super__Vector_base<int" (field_expression "non_split_refs.super__Vector_base" identifier . field_identifier) < identifier)) , identifier) : :) (expression_statement "allocator<int>_>._M_impl._M_finish +\n                   1;" (binary_expression "allocator<int>_>._M_impl._M_finish +\n                   1" (field_expression "allocator<int>_>._M_impl._M_finish" (field_expression "allocator<int>_>._M_impl" (binary_expression "allocator<int>_" (binary_expression "allocator<int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) + number_literal) ;) }))) })) })) (break_statement "break;" break ;) })) (if_statement "if (((uVar7 & 0xe000) == 0x8000) || ((uVar7 << 0x10) >> 0x1d != 0)) break;" if (parenthesized_expression "(((uVar7 & 0xe000) == 0x8000) || ((uVar7 << 0x10) >> 0x1d != 0))" ( (binary_expression "((uVar7 & 0xe000) == 0x8000) || ((uVar7 << 0x10) >> 0x1d != 0)" (parenthesized_expression "((uVar7 & 0xe000) == 0x8000)" ( (binary_expression "(uVar7 & 0xe000) == 0x8000" (parenthesized_expression "(uVar7 & 0xe000)" ( (binary_expression "uVar7 & 0xe000" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "((uVar7 << 0x10) >> 0x1d != 0)" ( (binary_expression "(uVar7 << 0x10) >> 0x1d != 0" (binary_expression "(uVar7 << 0x10) >> 0x1d" (parenthesized_expression "(uVar7 << 0x10)" ( (binary_expression "uVar7 << 0x10" identifier << number_literal) )) >> number_literal) != number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "p_Var28 = (_func_int_varargs *)PTR_do_gold_unreachable_004c1a30;" (assignment_expression "p_Var28 = (_func_int_varargs *)PTR_do_gold_unreachable_004c1a30" identifier = (cast_expression "(_func_int_varargs *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                 PTR_s_in_a_linker_script_004c191c + -0x5d0);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                 PTR_s_in_a_linker_script_004c191c + -0x5d0)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                 PTR_s_in_a_linker_script_004c191c + -0x5d0)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x5d0" identifier + number_literal) ))) ;) (labeled_statement "LAB_00287ae8:\n      uVar7 = (*p_Var28)(target);" statement_identifier : (expression_statement "uVar7 = (*p_Var28)(target);" (assignment_expression "uVar7 = (*p_Var28)(target)" identifier = (call_expression "(*p_Var28)(target)" (parenthesized_expression "(*p_Var28)" ( (pointer_expression "*p_Var28" * identifier) )) (argument_list "(target)" ( identifier )))) ;)) })) (expression_statement "uVar23 = uVar23 + 1;" (assignment_expression "uVar23 = uVar23 + 1" identifier = (binary_expression "uVar23 + 1" identifier + number_literal)) ;) (expression_statement "puVar25 = puVar25 + 3;" (assignment_expression "puVar25 = puVar25 + 3" identifier = (binary_expression "puVar25 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(reloc_count != uVar23)" ( (binary_expression "reloc_count != uVar23" identifier != identifier) )) ;) (expression_statement "local_38 = &function_offsets._M_t;" (assignment_expression "local_38 = &function_offsets._M_t" identifier = (pointer_expression "&function_offsets._M_t" & (field_expression "function_offsets._M_t" identifier . field_identifier))) ;) (if_statement "if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish ==\n      non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start)\n  goto LAB_00287b40;" if (parenthesized_expression "(non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish ==\n      non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start)" ( (ERROR "non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish ==\n      non_split_refs.super__Vector_base<int,_std::" (comma_expression "non_split_refs.super__Vector_base<int,_std" (binary_expression "non_split_refs.super__Vector_base<int" (field_expression "non_split_refs.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : : (comma_expression "allocator<int>_>._M_impl._M_finish ==\n      non_split_refs.super__Vector_base<int,_std" (binary_expression "allocator<int>_>._M_impl._M_finish ==\n      non_split_refs.super__Vector_base<int" (field_expression "allocator<int>_>._M_impl._M_finish" (field_expression "allocator<int>_>._M_impl" (binary_expression "allocator<int>_" (binary_expression "allocator<int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) == (binary_expression "non_split_refs.super__Vector_base<int" (field_expression "non_split_refs.super__Vector_base" identifier . field_identifier) < identifier)) , identifier) : :) (field_expression "allocator<int>_>._M_impl._M_start" (field_expression "allocator<int>_>._M_impl" (binary_expression "allocator<int>_" (binary_expression "allocator<int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (goto_statement "goto LAB_00287b40;" goto statement_identifier ;)) (expression_statement "p_Var26 = &function_offsets._M_t._M_impl.super__Rb_tree_header;" (assignment_expression "p_Var26 = &function_offsets._M_t._M_impl.super__Rb_tree_header" identifier = (pointer_expression "&function_offsets._M_t._M_impl.super__Rb_tree_header" & (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header" (field_expression "function_offsets._M_t._M_impl" (field_expression "function_offsets._M_t" identifier . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;" (assignment_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_color" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header" (field_expression "function_offsets._M_t._M_impl" (field_expression "function_offsets._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;" (assignment_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header" (field_expression "function_offsets._M_t._M_impl" (field_expression "function_offsets._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) ;) comment (expression_statement "function_offsets._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;" (assignment_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_node_count = 0" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_node_count" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header" (field_expression "function_offsets._M_t._M_impl" (field_expression "function_offsets._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_left = &p_Var26->_M_header;" (assignment_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_left = &p_Var26->_M_header" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_left" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header" (field_expression "function_offsets._M_t._M_impl" (field_expression "function_offsets._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (pointer_expression "&p_Var26->_M_header" & (field_expression "p_Var26->_M_header" identifier -> field_identifier))) ;) (expression_statement "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_right = &p_Var26->_M_header;" (assignment_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_right = &p_Var26->_M_header" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_right" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header" (field_expression "function_offsets._M_t._M_impl" (field_expression "function_offsets._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (pointer_expression "&p_Var26->_M_header" & (field_expression "p_Var26->_M_header" identifier -> field_identifier))) ;) (expression_statement "find_functions(this,pshdrs,shndx,(Function_offsets *)local_38);" (call_expression "find_functions(this,pshdrs,shndx,(Function_offsets *)local_38)" identifier (argument_list "(this,pshdrs,shndx,(Function_offsets *)local_38)" ( identifier , identifier , identifier , (cast_expression "(Function_offsets *)local_38" ( (type_descriptor "Function_offsets *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "puVar27 = PTR__M_insert_unique<const_std_pair<int_const,_unsigned_int>&>_004c45ec;" (update_expression "puVar27 = PTR__M_insert_unique<const_std_pair<int_const,_unsigned_int>&>_004c45ec" (binary_expression "puVar27 = PTR__M_insert_unique<const_std_pair<int_const,_unsigned_int>&>_004c45ec" (assignment_expression "puVar27 = PTR__M_insert_unique<const_std_pair<int_const" identifier = (binary_expression "PTR__M_insert_unique<const_std_pair<int_const" (binary_expression "PTR__M_insert_unique<const_std_pair" identifier < identifier) < identifier)) (ERROR ",_unsigned_int" , identifier) > (pointer_expression "&>_004c45ec" & (ERROR ">" >) identifier)) --) ;) (if_statement "if (function_offsets._M_t._M_impl.super__Rb_tree_header._M_node_count != 0) {\n    p_Var9 = &calls_non_split._M_t._M_impl.super__Rb_tree_header;\n    calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;\n    calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;\n    calls_non_split._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;\n    calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left = &p_Var9->_M_header;\n    calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_right = &p_Var9->_M_header;\n    if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start !=\n        non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish) {\n      p_Var19 = (_Rb_tree_color *)\n                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish;\n      p_Var24 = (_Rb_tree_color *)\n                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start;\n      do {\n        if (function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent ==\n            (_Base_ptr)0x0) {\nLAB_00287f40:\n          p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var26);\nLAB_00287c78:\n                    /* try { // try from 00287c84 to 00287c8b has its CatchHandler @ 002881b4 */\n          (*(code *)puVar27)(&offset,&calls_non_split,p_Var10 + 1);\n          p_Var19 = (_Rb_tree_color *)\n                    non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish;\n        }\n        else {\n          p_Var12 = &p_Var26->_M_header;\n          p_Var4 = function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n          do {\n            while (p_Var10 = p_Var4, (int)p_Var10[1]._M_color < (int)*p_Var24) {\n              pp_Var1 = &p_Var10->_M_right;\n              p_Var10 = p_Var12;\n              p_Var4 = *pp_Var1;\n              if (*pp_Var1 == (_Base_ptr)0x0) goto LAB_00287c50;\n            }\n            p_Var12 = p_Var10;\n            p_Var4 = p_Var10->_M_left;\n          } while (p_Var10->_M_left != (_Base_ptr)0x0);\nLAB_00287c50:\n          if ((_Rb_tree_header *)p_Var10 == p_Var26) goto LAB_00287f40;\n          if (p_Var10[1]._M_color == *p_Var24) goto LAB_00287c78;\n          if (function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_left != p_Var10) {\n            p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var10);\n            goto LAB_00287c78;\n          }\n        }\n        puVar3 = PTR_parameters_004c19b4;\n        p_Var24 = p_Var24 + 1;\n      } while (p_Var19 != p_Var24);\n      if (calls_non_split._M_t._M_impl.super__Rb_tree_header._M_node_count != 0) {\n        if ((_Rb_tree_header *)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left\n            != p_Var9) {\n          local_58 = &from.field_2;\n          local_c0[0] = 0;\n          puVar27 = local_c0;\n          from._M_string_length = 0;\n          from.field_2._M_local_buf[0] = '\0';\n          local_c4 = 0;\n          piVar20 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          offset = (section_offset_type)puVar27;\n          from._M_dataplus._M_p = (pointer)local_58;\n          if (piVar20 != (int *)0x0) {\n            puVar11 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            p_Var12 = calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left;\n            do {\n              from.field_2._M_local_buf[0] = '\0';\n              from._M_string_length = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar20 + 0x58))\n                        (piVar20,this,shndx,p_Var12[1]._M_color,p_Var12[1]._M_parent,prelocs,uVar23,\n                         view,view_size,&from,&offset);\n              if (from._M_string_length != 0) {\n                uVar7 = 0;\n                if (local_c4 == 0) goto LAB_002880d4;\n                local_50 = (Symbol *)0x0;\n                puVar25 = (uint *)prelocs;\n                do {\n                  p_Var28 = (target->super_Target)._vptr_Target[0x3e];\n                  if (p_Var28 == (_func_int_varargs *)puVar21) {\n                    uVar8 = puVar25[1];\n                    uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 >> 8;\n                  }\n                  else {\n                    uVar8 = (*p_Var28)(target,puVar25);\n                  }\n                  if (uVar6 <= uVar8) {\n                    uVar16 = *puVar25;\n                    iVar17 = (((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff) * 0x10000;\n                    if (((int)p_Var12[1]._M_color <= iVar17) &&\n                       (iVar17 < (int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)\n                       )) {\n                      uVar16 = uVar8 - this->local_symbol_count_;\n                      if (uVar8 < this->local_symbol_count_) {\n                    /* WARNING: Does not return */\n                        pcVar2 = (code *)trap(0);\n                        (*pcVar2)();\n                      }\n                      ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                                 _M_impl._M_start;\n                      if ((uint)((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2) <= uVar16)\n                      goto LAB_00288080;\n                      iVar17 = (*(code *)PTR_compare_004c27e8)(&from,ppSVar18[uVar16]->name_);\n                      if (iVar17 == 0) {\n                        if ((local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)) {\n                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);\n                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);\n                          break;\n                        }\n                        if (*reloc_map == (Reloc_symbol_changes *)0x0) {\n                          pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;\n                          if (0x3fffffff < uVar23) goto LAB_002880f0;\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;\n                          uVar8 = uVar23;\n                          ppSVar18 = ppSVar13;\n                          do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;\n                          *reloc_map = pRVar15;\n                        }\n                        else {\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }\n                        ppSVar13[uVar7] = local_50;\n                      }\n                    }\n                  }\n                  uVar7 = uVar7 + 1;\n                  puVar25 = puVar25 + 3;\n                } while (uVar7 < uVar23);\n              }\n              if ((undefined *)offset != puVar27) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)from._M_dataplus._M_p != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              p_Var12 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var12);\n              if ((_Rb_tree_header *)p_Var12 == p_Var9) goto LAB_00288010;\n              local_c0[0] = 0;\n              from._M_string_length = 0;\n              from.field_2._M_local_buf[0] = '\0';\n              local_c4 = 0;\n              piVar20 = *(int **)(*(int *)puVar3 + 0xc);\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n            } while (piVar20 != (int *)0x0);\n          }\n          goto LAB_002880bc;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::pair<int_const,_unsigned_int>_>_>\n        ::_M_erase(&calls_non_split._M_t,\n                   (_Link_type)\n                   calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);\n        goto LAB_00287b2c;\n      }\n    }\n    std::\n    _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::pair<int_const,_unsigned_int>_>_>\n    ::_M_erase(&calls_non_split._M_t,\n               (_Link_type)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);\n  }" if (parenthesized_expression "(function_offsets._M_t._M_impl.super__Rb_tree_header._M_node_count != 0)" ( (binary_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_node_count != 0" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_node_count" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header" (field_expression "function_offsets._M_t._M_impl" (field_expression "function_offsets._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) != number_literal) )) (compound_statement "{\n    p_Var9 = &calls_non_split._M_t._M_impl.super__Rb_tree_header;\n    calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;\n    calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;\n    calls_non_split._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;\n    calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left = &p_Var9->_M_header;\n    calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_right = &p_Var9->_M_header;\n    if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start !=\n        non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish) {\n      p_Var19 = (_Rb_tree_color *)\n                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish;\n      p_Var24 = (_Rb_tree_color *)\n                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start;\n      do {\n        if (function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent ==\n            (_Base_ptr)0x0) {\nLAB_00287f40:\n          p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var26);\nLAB_00287c78:\n                    /* try { // try from 00287c84 to 00287c8b has its CatchHandler @ 002881b4 */\n          (*(code *)puVar27)(&offset,&calls_non_split,p_Var10 + 1);\n          p_Var19 = (_Rb_tree_color *)\n                    non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish;\n        }\n        else {\n          p_Var12 = &p_Var26->_M_header;\n          p_Var4 = function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n          do {\n            while (p_Var10 = p_Var4, (int)p_Var10[1]._M_color < (int)*p_Var24) {\n              pp_Var1 = &p_Var10->_M_right;\n              p_Var10 = p_Var12;\n              p_Var4 = *pp_Var1;\n              if (*pp_Var1 == (_Base_ptr)0x0) goto LAB_00287c50;\n            }\n            p_Var12 = p_Var10;\n            p_Var4 = p_Var10->_M_left;\n          } while (p_Var10->_M_left != (_Base_ptr)0x0);\nLAB_00287c50:\n          if ((_Rb_tree_header *)p_Var10 == p_Var26) goto LAB_00287f40;\n          if (p_Var10[1]._M_color == *p_Var24) goto LAB_00287c78;\n          if (function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_left != p_Var10) {\n            p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var10);\n            goto LAB_00287c78;\n          }\n        }\n        puVar3 = PTR_parameters_004c19b4;\n        p_Var24 = p_Var24 + 1;\n      } while (p_Var19 != p_Var24);\n      if (calls_non_split._M_t._M_impl.super__Rb_tree_header._M_node_count != 0) {\n        if ((_Rb_tree_header *)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left\n            != p_Var9) {\n          local_58 = &from.field_2;\n          local_c0[0] = 0;\n          puVar27 = local_c0;\n          from._M_string_length = 0;\n          from.field_2._M_local_buf[0] = '\0';\n          local_c4 = 0;\n          piVar20 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          offset = (section_offset_type)puVar27;\n          from._M_dataplus._M_p = (pointer)local_58;\n          if (piVar20 != (int *)0x0) {\n            puVar11 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            p_Var12 = calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left;\n            do {\n              from.field_2._M_local_buf[0] = '\0';\n              from._M_string_length = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar20 + 0x58))\n                        (piVar20,this,shndx,p_Var12[1]._M_color,p_Var12[1]._M_parent,prelocs,uVar23,\n                         view,view_size,&from,&offset);\n              if (from._M_string_length != 0) {\n                uVar7 = 0;\n                if (local_c4 == 0) goto LAB_002880d4;\n                local_50 = (Symbol *)0x0;\n                puVar25 = (uint *)prelocs;\n                do {\n                  p_Var28 = (target->super_Target)._vptr_Target[0x3e];\n                  if (p_Var28 == (_func_int_varargs *)puVar21) {\n                    uVar8 = puVar25[1];\n                    uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 >> 8;\n                  }\n                  else {\n                    uVar8 = (*p_Var28)(target,puVar25);\n                  }\n                  if (uVar6 <= uVar8) {\n                    uVar16 = *puVar25;\n                    iVar17 = (((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff) * 0x10000;\n                    if (((int)p_Var12[1]._M_color <= iVar17) &&\n                       (iVar17 < (int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)\n                       )) {\n                      uVar16 = uVar8 - this->local_symbol_count_;\n                      if (uVar8 < this->local_symbol_count_) {\n                    /* WARNING: Does not return */\n                        pcVar2 = (code *)trap(0);\n                        (*pcVar2)();\n                      }\n                      ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                                 _M_impl._M_start;\n                      if ((uint)((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2) <= uVar16)\n                      goto LAB_00288080;\n                      iVar17 = (*(code *)PTR_compare_004c27e8)(&from,ppSVar18[uVar16]->name_);\n                      if (iVar17 == 0) {\n                        if ((local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)) {\n                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);\n                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);\n                          break;\n                        }\n                        if (*reloc_map == (Reloc_symbol_changes *)0x0) {\n                          pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;\n                          if (0x3fffffff < uVar23) goto LAB_002880f0;\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;\n                          uVar8 = uVar23;\n                          ppSVar18 = ppSVar13;\n                          do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;\n                          *reloc_map = pRVar15;\n                        }\n                        else {\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }\n                        ppSVar13[uVar7] = local_50;\n                      }\n                    }\n                  }\n                  uVar7 = uVar7 + 1;\n                  puVar25 = puVar25 + 3;\n                } while (uVar7 < uVar23);\n              }\n              if ((undefined *)offset != puVar27) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)from._M_dataplus._M_p != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              p_Var12 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var12);\n              if ((_Rb_tree_header *)p_Var12 == p_Var9) goto LAB_00288010;\n              local_c0[0] = 0;\n              from._M_string_length = 0;\n              from.field_2._M_local_buf[0] = '\0';\n              local_c4 = 0;\n              piVar20 = *(int **)(*(int *)puVar3 + 0xc);\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n            } while (piVar20 != (int *)0x0);\n          }\n          goto LAB_002880bc;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::pair<int_const,_unsigned_int>_>_>\n        ::_M_erase(&calls_non_split._M_t,\n                   (_Link_type)\n                   calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);\n        goto LAB_00287b2c;\n      }\n    }\n    std::\n    _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::pair<int_const,_unsigned_int>_>_>\n    ::_M_erase(&calls_non_split._M_t,\n               (_Link_type)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);\n  }" { (expression_statement "p_Var9 = &calls_non_split._M_t._M_impl.super__Rb_tree_header;" (assignment_expression "p_Var9 = &calls_non_split._M_t._M_impl.super__Rb_tree_header" identifier = (pointer_expression "&calls_non_split._M_t._M_impl.super__Rb_tree_header" & (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header" (field_expression "calls_non_split._M_t._M_impl" (field_expression "calls_non_split._M_t" identifier . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;" (assignment_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_color" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header" (field_expression "calls_non_split._M_t._M_impl" (field_expression "calls_non_split._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0;" (assignment_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent = (_Base_ptr)0x0" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header" (field_expression "calls_non_split._M_t._M_impl" (field_expression "calls_non_split._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) ;) (expression_statement "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;" (assignment_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_node_count = 0" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_node_count" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header" (field_expression "calls_non_split._M_t._M_impl" (field_expression "calls_non_split._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left = &p_Var9->_M_header;" (assignment_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left = &p_Var9->_M_header" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header" (field_expression "calls_non_split._M_t._M_impl" (field_expression "calls_non_split._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (pointer_expression "&p_Var9->_M_header" & (field_expression "p_Var9->_M_header" identifier -> field_identifier))) ;) (expression_statement "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_right = &p_Var9->_M_header;" (assignment_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_right = &p_Var9->_M_header" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_right" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header" (field_expression "calls_non_split._M_t._M_impl" (field_expression "calls_non_split._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (pointer_expression "&p_Var9->_M_header" & (field_expression "p_Var9->_M_header" identifier -> field_identifier))) ;) (if_statement "if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start !=\n        non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish) {\n      p_Var19 = (_Rb_tree_color *)\n                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish;\n      p_Var24 = (_Rb_tree_color *)\n                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start;\n      do {\n        if (function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent ==\n            (_Base_ptr)0x0) {\nLAB_00287f40:\n          p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var26);\nLAB_00287c78:\n                    /* try { // try from 00287c84 to 00287c8b has its CatchHandler @ 002881b4 */\n          (*(code *)puVar27)(&offset,&calls_non_split,p_Var10 + 1);\n          p_Var19 = (_Rb_tree_color *)\n                    non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish;\n        }\n        else {\n          p_Var12 = &p_Var26->_M_header;\n          p_Var4 = function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n          do {\n            while (p_Var10 = p_Var4, (int)p_Var10[1]._M_color < (int)*p_Var24) {\n              pp_Var1 = &p_Var10->_M_right;\n              p_Var10 = p_Var12;\n              p_Var4 = *pp_Var1;\n              if (*pp_Var1 == (_Base_ptr)0x0) goto LAB_00287c50;\n            }\n            p_Var12 = p_Var10;\n            p_Var4 = p_Var10->_M_left;\n          } while (p_Var10->_M_left != (_Base_ptr)0x0);\nLAB_00287c50:\n          if ((_Rb_tree_header *)p_Var10 == p_Var26) goto LAB_00287f40;\n          if (p_Var10[1]._M_color == *p_Var24) goto LAB_00287c78;\n          if (function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_left != p_Var10) {\n            p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var10);\n            goto LAB_00287c78;\n          }\n        }\n        puVar3 = PTR_parameters_004c19b4;\n        p_Var24 = p_Var24 + 1;\n      } while (p_Var19 != p_Var24);\n      if (calls_non_split._M_t._M_impl.super__Rb_tree_header._M_node_count != 0) {\n        if ((_Rb_tree_header *)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left\n            != p_Var9) {\n          local_58 = &from.field_2;\n          local_c0[0] = 0;\n          puVar27 = local_c0;\n          from._M_string_length = 0;\n          from.field_2._M_local_buf[0] = '\0';\n          local_c4 = 0;\n          piVar20 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          offset = (section_offset_type)puVar27;\n          from._M_dataplus._M_p = (pointer)local_58;\n          if (piVar20 != (int *)0x0) {\n            puVar11 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            p_Var12 = calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left;\n            do {\n              from.field_2._M_local_buf[0] = '\0';\n              from._M_string_length = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar20 + 0x58))\n                        (piVar20,this,shndx,p_Var12[1]._M_color,p_Var12[1]._M_parent,prelocs,uVar23,\n                         view,view_size,&from,&offset);\n              if (from._M_string_length != 0) {\n                uVar7 = 0;\n                if (local_c4 == 0) goto LAB_002880d4;\n                local_50 = (Symbol *)0x0;\n                puVar25 = (uint *)prelocs;\n                do {\n                  p_Var28 = (target->super_Target)._vptr_Target[0x3e];\n                  if (p_Var28 == (_func_int_varargs *)puVar21) {\n                    uVar8 = puVar25[1];\n                    uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 >> 8;\n                  }\n                  else {\n                    uVar8 = (*p_Var28)(target,puVar25);\n                  }\n                  if (uVar6 <= uVar8) {\n                    uVar16 = *puVar25;\n                    iVar17 = (((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff) * 0x10000;\n                    if (((int)p_Var12[1]._M_color <= iVar17) &&\n                       (iVar17 < (int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)\n                       )) {\n                      uVar16 = uVar8 - this->local_symbol_count_;\n                      if (uVar8 < this->local_symbol_count_) {\n                    /* WARNING: Does not return */\n                        pcVar2 = (code *)trap(0);\n                        (*pcVar2)();\n                      }\n                      ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                                 _M_impl._M_start;\n                      if ((uint)((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2) <= uVar16)\n                      goto LAB_00288080;\n                      iVar17 = (*(code *)PTR_compare_004c27e8)(&from,ppSVar18[uVar16]->name_);\n                      if (iVar17 == 0) {\n                        if ((local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)) {\n                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);\n                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);\n                          break;\n                        }\n                        if (*reloc_map == (Reloc_symbol_changes *)0x0) {\n                          pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;\n                          if (0x3fffffff < uVar23) goto LAB_002880f0;\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;\n                          uVar8 = uVar23;\n                          ppSVar18 = ppSVar13;\n                          do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;\n                          *reloc_map = pRVar15;\n                        }\n                        else {\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }\n                        ppSVar13[uVar7] = local_50;\n                      }\n                    }\n                  }\n                  uVar7 = uVar7 + 1;\n                  puVar25 = puVar25 + 3;\n                } while (uVar7 < uVar23);\n              }\n              if ((undefined *)offset != puVar27) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)from._M_dataplus._M_p != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              p_Var12 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var12);\n              if ((_Rb_tree_header *)p_Var12 == p_Var9) goto LAB_00288010;\n              local_c0[0] = 0;\n              from._M_string_length = 0;\n              from.field_2._M_local_buf[0] = '\0';\n              local_c4 = 0;\n              piVar20 = *(int **)(*(int *)puVar3 + 0xc);\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n            } while (piVar20 != (int *)0x0);\n          }\n          goto LAB_002880bc;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::pair<int_const,_unsigned_int>_>_>\n        ::_M_erase(&calls_non_split._M_t,\n                   (_Link_type)\n                   calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);\n        goto LAB_00287b2c;\n      }\n    }" if (parenthesized_expression "(non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start !=\n        non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish)" ( (ERROR "non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start !=\n        non_split_refs.super__Vector_base<int,_std::" (comma_expression "non_split_refs.super__Vector_base<int,_std" (binary_expression "non_split_refs.super__Vector_base<int" (field_expression "non_split_refs.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : : (comma_expression "allocator<int>_>._M_impl._M_start !=\n        non_split_refs.super__Vector_base<int,_std" (binary_expression "allocator<int>_>._M_impl._M_start !=\n        non_split_refs.super__Vector_base<int" (field_expression "allocator<int>_>._M_impl._M_start" (field_expression "allocator<int>_>._M_impl" (binary_expression "allocator<int>_" (binary_expression "allocator<int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (binary_expression "non_split_refs.super__Vector_base<int" (field_expression "non_split_refs.super__Vector_base" identifier . field_identifier) < identifier)) , identifier) : :) (field_expression "allocator<int>_>._M_impl._M_finish" (field_expression "allocator<int>_>._M_impl" (binary_expression "allocator<int>_" (binary_expression "allocator<int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n      p_Var19 = (_Rb_tree_color *)\n                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish;\n      p_Var24 = (_Rb_tree_color *)\n                non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start;\n      do {\n        if (function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent ==\n            (_Base_ptr)0x0) {\nLAB_00287f40:\n          p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var26);\nLAB_00287c78:\n                    /* try { // try from 00287c84 to 00287c8b has its CatchHandler @ 002881b4 */\n          (*(code *)puVar27)(&offset,&calls_non_split,p_Var10 + 1);\n          p_Var19 = (_Rb_tree_color *)\n                    non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish;\n        }\n        else {\n          p_Var12 = &p_Var26->_M_header;\n          p_Var4 = function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n          do {\n            while (p_Var10 = p_Var4, (int)p_Var10[1]._M_color < (int)*p_Var24) {\n              pp_Var1 = &p_Var10->_M_right;\n              p_Var10 = p_Var12;\n              p_Var4 = *pp_Var1;\n              if (*pp_Var1 == (_Base_ptr)0x0) goto LAB_00287c50;\n            }\n            p_Var12 = p_Var10;\n            p_Var4 = p_Var10->_M_left;\n          } while (p_Var10->_M_left != (_Base_ptr)0x0);\nLAB_00287c50:\n          if ((_Rb_tree_header *)p_Var10 == p_Var26) goto LAB_00287f40;\n          if (p_Var10[1]._M_color == *p_Var24) goto LAB_00287c78;\n          if (function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_left != p_Var10) {\n            p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var10);\n            goto LAB_00287c78;\n          }\n        }\n        puVar3 = PTR_parameters_004c19b4;\n        p_Var24 = p_Var24 + 1;\n      } while (p_Var19 != p_Var24);\n      if (calls_non_split._M_t._M_impl.super__Rb_tree_header._M_node_count != 0) {\n        if ((_Rb_tree_header *)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left\n            != p_Var9) {\n          local_58 = &from.field_2;\n          local_c0[0] = 0;\n          puVar27 = local_c0;\n          from._M_string_length = 0;\n          from.field_2._M_local_buf[0] = '\0';\n          local_c4 = 0;\n          piVar20 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          offset = (section_offset_type)puVar27;\n          from._M_dataplus._M_p = (pointer)local_58;\n          if (piVar20 != (int *)0x0) {\n            puVar11 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            p_Var12 = calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left;\n            do {\n              from.field_2._M_local_buf[0] = '\0';\n              from._M_string_length = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar20 + 0x58))\n                        (piVar20,this,shndx,p_Var12[1]._M_color,p_Var12[1]._M_parent,prelocs,uVar23,\n                         view,view_size,&from,&offset);\n              if (from._M_string_length != 0) {\n                uVar7 = 0;\n                if (local_c4 == 0) goto LAB_002880d4;\n                local_50 = (Symbol *)0x0;\n                puVar25 = (uint *)prelocs;\n                do {\n                  p_Var28 = (target->super_Target)._vptr_Target[0x3e];\n                  if (p_Var28 == (_func_int_varargs *)puVar21) {\n                    uVar8 = puVar25[1];\n                    uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 >> 8;\n                  }\n                  else {\n                    uVar8 = (*p_Var28)(target,puVar25);\n                  }\n                  if (uVar6 <= uVar8) {\n                    uVar16 = *puVar25;\n                    iVar17 = (((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff) * 0x10000;\n                    if (((int)p_Var12[1]._M_color <= iVar17) &&\n                       (iVar17 < (int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)\n                       )) {\n                      uVar16 = uVar8 - this->local_symbol_count_;\n                      if (uVar8 < this->local_symbol_count_) {\n                    /* WARNING: Does not return */\n                        pcVar2 = (code *)trap(0);\n                        (*pcVar2)();\n                      }\n                      ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                                 _M_impl._M_start;\n                      if ((uint)((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2) <= uVar16)\n                      goto LAB_00288080;\n                      iVar17 = (*(code *)PTR_compare_004c27e8)(&from,ppSVar18[uVar16]->name_);\n                      if (iVar17 == 0) {\n                        if ((local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)) {\n                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);\n                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);\n                          break;\n                        }\n                        if (*reloc_map == (Reloc_symbol_changes *)0x0) {\n                          pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;\n                          if (0x3fffffff < uVar23) goto LAB_002880f0;\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;\n                          uVar8 = uVar23;\n                          ppSVar18 = ppSVar13;\n                          do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;\n                          *reloc_map = pRVar15;\n                        }\n                        else {\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }\n                        ppSVar13[uVar7] = local_50;\n                      }\n                    }\n                  }\n                  uVar7 = uVar7 + 1;\n                  puVar25 = puVar25 + 3;\n                } while (uVar7 < uVar23);\n              }\n              if ((undefined *)offset != puVar27) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)from._M_dataplus._M_p != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              p_Var12 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var12);\n              if ((_Rb_tree_header *)p_Var12 == p_Var9) goto LAB_00288010;\n              local_c0[0] = 0;\n              from._M_string_length = 0;\n              from.field_2._M_local_buf[0] = '\0';\n              local_c4 = 0;\n              piVar20 = *(int **)(*(int *)puVar3 + 0xc);\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n            } while (piVar20 != (int *)0x0);\n          }\n          goto LAB_002880bc;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::pair<int_const,_unsigned_int>_>_>\n        ::_M_erase(&calls_non_split._M_t,\n                   (_Link_type)\n                   calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);\n        goto LAB_00287b2c;\n      }\n    }" { (ERROR "p_Var19 = (_Rb_tree_color *)\n                non_split_refs.super__Vector_base<int,_std::" (comma_expression "p_Var19 = (_Rb_tree_color *)\n                non_split_refs.super__Vector_base<int,_std" (assignment_expression "p_Var19 = (_Rb_tree_color *)\n                non_split_refs.super__Vector_base<int" identifier = (binary_expression "(_Rb_tree_color *)\n                non_split_refs.super__Vector_base<int" (cast_expression "(_Rb_tree_color *)\n                non_split_refs.super__Vector_base" ( (type_descriptor "_Rb_tree_color *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "non_split_refs.super__Vector_base" identifier . field_identifier)) < identifier)) , identifier) : :) (expression_statement "allocator<int>_>._M_impl._M_finish;" (field_expression "allocator<int>_>._M_impl._M_finish" (field_expression "allocator<int>_>._M_impl" (binary_expression "allocator<int>_" (binary_expression "allocator<int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (ERROR "p_Var24 = (_Rb_tree_color *)\n                non_split_refs.super__Vector_base<int,_std::" (comma_expression "p_Var24 = (_Rb_tree_color *)\n                non_split_refs.super__Vector_base<int,_std" (assignment_expression "p_Var24 = (_Rb_tree_color *)\n                non_split_refs.super__Vector_base<int" identifier = (binary_expression "(_Rb_tree_color *)\n                non_split_refs.super__Vector_base<int" (cast_expression "(_Rb_tree_color *)\n                non_split_refs.super__Vector_base" ( (type_descriptor "_Rb_tree_color *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "non_split_refs.super__Vector_base" identifier . field_identifier)) < identifier)) , identifier) : :) (expression_statement "allocator<int>_>._M_impl._M_start;" (field_expression "allocator<int>_>._M_impl._M_start" (field_expression "allocator<int>_>._M_impl" (binary_expression "allocator<int>_" (binary_expression "allocator<int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (do_statement "do {\n        if (function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent ==\n            (_Base_ptr)0x0) {\nLAB_00287f40:\n          p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var26);\nLAB_00287c78:\n                    /* try { // try from 00287c84 to 00287c8b has its CatchHandler @ 002881b4 */\n          (*(code *)puVar27)(&offset,&calls_non_split,p_Var10 + 1);\n          p_Var19 = (_Rb_tree_color *)\n                    non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish;\n        }\n        else {\n          p_Var12 = &p_Var26->_M_header;\n          p_Var4 = function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n          do {\n            while (p_Var10 = p_Var4, (int)p_Var10[1]._M_color < (int)*p_Var24) {\n              pp_Var1 = &p_Var10->_M_right;\n              p_Var10 = p_Var12;\n              p_Var4 = *pp_Var1;\n              if (*pp_Var1 == (_Base_ptr)0x0) goto LAB_00287c50;\n            }\n            p_Var12 = p_Var10;\n            p_Var4 = p_Var10->_M_left;\n          } while (p_Var10->_M_left != (_Base_ptr)0x0);\nLAB_00287c50:\n          if ((_Rb_tree_header *)p_Var10 == p_Var26) goto LAB_00287f40;\n          if (p_Var10[1]._M_color == *p_Var24) goto LAB_00287c78;\n          if (function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_left != p_Var10) {\n            p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var10);\n            goto LAB_00287c78;\n          }\n        }\n        puVar3 = PTR_parameters_004c19b4;\n        p_Var24 = p_Var24 + 1;\n      } while (p_Var19 != p_Var24);" do (compound_statement "{\n        if (function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent ==\n            (_Base_ptr)0x0) {\nLAB_00287f40:\n          p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var26);\nLAB_00287c78:\n                    /* try { // try from 00287c84 to 00287c8b has its CatchHandler @ 002881b4 */\n          (*(code *)puVar27)(&offset,&calls_non_split,p_Var10 + 1);\n          p_Var19 = (_Rb_tree_color *)\n                    non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish;\n        }\n        else {\n          p_Var12 = &p_Var26->_M_header;\n          p_Var4 = function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n          do {\n            while (p_Var10 = p_Var4, (int)p_Var10[1]._M_color < (int)*p_Var24) {\n              pp_Var1 = &p_Var10->_M_right;\n              p_Var10 = p_Var12;\n              p_Var4 = *pp_Var1;\n              if (*pp_Var1 == (_Base_ptr)0x0) goto LAB_00287c50;\n            }\n            p_Var12 = p_Var10;\n            p_Var4 = p_Var10->_M_left;\n          } while (p_Var10->_M_left != (_Base_ptr)0x0);\nLAB_00287c50:\n          if ((_Rb_tree_header *)p_Var10 == p_Var26) goto LAB_00287f40;\n          if (p_Var10[1]._M_color == *p_Var24) goto LAB_00287c78;\n          if (function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_left != p_Var10) {\n            p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var10);\n            goto LAB_00287c78;\n          }\n        }\n        puVar3 = PTR_parameters_004c19b4;\n        p_Var24 = p_Var24 + 1;\n      }" { (if_statement "if (function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent ==\n            (_Base_ptr)0x0) {\nLAB_00287f40:\n          p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var26);\nLAB_00287c78:\n                    /* try { // try from 00287c84 to 00287c8b has its CatchHandler @ 002881b4 */\n          (*(code *)puVar27)(&offset,&calls_non_split,p_Var10 + 1);\n          p_Var19 = (_Rb_tree_color *)\n                    non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish;\n        }\n        else {\n          p_Var12 = &p_Var26->_M_header;\n          p_Var4 = function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n          do {\n            while (p_Var10 = p_Var4, (int)p_Var10[1]._M_color < (int)*p_Var24) {\n              pp_Var1 = &p_Var10->_M_right;\n              p_Var10 = p_Var12;\n              p_Var4 = *pp_Var1;\n              if (*pp_Var1 == (_Base_ptr)0x0) goto LAB_00287c50;\n            }\n            p_Var12 = p_Var10;\n            p_Var4 = p_Var10->_M_left;\n          } while (p_Var10->_M_left != (_Base_ptr)0x0);\nLAB_00287c50:\n          if ((_Rb_tree_header *)p_Var10 == p_Var26) goto LAB_00287f40;\n          if (p_Var10[1]._M_color == *p_Var24) goto LAB_00287c78;\n          if (function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_left != p_Var10) {\n            p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var10);\n            goto LAB_00287c78;\n          }\n        }" if (parenthesized_expression "(function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent ==\n            (_Base_ptr)0x0)" ( (binary_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent ==\n            (_Base_ptr)0x0" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header" (field_expression "function_offsets._M_t._M_impl" (field_expression "function_offsets._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (compound_statement "{\nLAB_00287f40:\n          p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var26);\nLAB_00287c78:\n                    /* try { // try from 00287c84 to 00287c8b has its CatchHandler @ 002881b4 */\n          (*(code *)puVar27)(&offset,&calls_non_split,p_Var10 + 1);\n          p_Var19 = (_Rb_tree_color *)\n                    non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_finish;\n        }" { (labeled_statement "LAB_00287f40:\n          p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var26);" statement_identifier : (expression_statement "p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var26);" (assignment_expression "p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var26)" identifier = (call_expression "(_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var26)" (call_expression "(_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)" (parenthesized_expression "(_Base_ptr)" ( identifier )) (argument_list "(*(code *)PTR__Rb_tree_decrement_004c45f0)" ( (pointer_expression "*(code *)PTR__Rb_tree_decrement_004c45f0" * (cast_expression "(code *)PTR__Rb_tree_decrement_004c45f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) (argument_list "(p_Var26)" ( identifier )))) ;)) (labeled_statement "LAB_00287c78:\n                    /* try { // try from 00287c84 to 00287c8b has its CatchHandler @ 002881b4 */\n          (*(code *)puVar27)(&offset,&calls_non_split,p_Var10 + 1);" statement_identifier : comment (expression_statement "(*(code *)puVar27)(&offset,&calls_non_split,p_Var10 + 1);" (call_expression "(*(code *)puVar27)(&offset,&calls_non_split,p_Var10 + 1)" (parenthesized_expression "(*(code *)puVar27)" ( (pointer_expression "*(code *)puVar27" * (cast_expression "(code *)puVar27" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&offset,&calls_non_split,p_Var10 + 1)" ( (pointer_expression "&offset" & identifier) , (pointer_expression "&calls_non_split" & identifier) , (binary_expression "p_Var10 + 1" identifier + number_literal) ))) ;)) (ERROR "p_Var19 = (_Rb_tree_color *)\n                    non_split_refs.super__Vector_base<int,_std::" (comma_expression "p_Var19 = (_Rb_tree_color *)\n                    non_split_refs.super__Vector_base<int,_std" (assignment_expression "p_Var19 = (_Rb_tree_color *)\n                    non_split_refs.super__Vector_base<int" identifier = (binary_expression "(_Rb_tree_color *)\n                    non_split_refs.super__Vector_base<int" (cast_expression "(_Rb_tree_color *)\n                    non_split_refs.super__Vector_base" ( (type_descriptor "_Rb_tree_color *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "non_split_refs.super__Vector_base" identifier . field_identifier)) < identifier)) , identifier) : :) (expression_statement "allocator<int>_>._M_impl._M_finish;" (field_expression "allocator<int>_>._M_impl._M_finish" (field_expression "allocator<int>_>._M_impl" (binary_expression "allocator<int>_" (binary_expression "allocator<int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) }) (else_clause "else {\n          p_Var12 = &p_Var26->_M_header;\n          p_Var4 = function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n          do {\n            while (p_Var10 = p_Var4, (int)p_Var10[1]._M_color < (int)*p_Var24) {\n              pp_Var1 = &p_Var10->_M_right;\n              p_Var10 = p_Var12;\n              p_Var4 = *pp_Var1;\n              if (*pp_Var1 == (_Base_ptr)0x0) goto LAB_00287c50;\n            }\n            p_Var12 = p_Var10;\n            p_Var4 = p_Var10->_M_left;\n          } while (p_Var10->_M_left != (_Base_ptr)0x0);\nLAB_00287c50:\n          if ((_Rb_tree_header *)p_Var10 == p_Var26) goto LAB_00287f40;\n          if (p_Var10[1]._M_color == *p_Var24) goto LAB_00287c78;\n          if (function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_left != p_Var10) {\n            p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var10);\n            goto LAB_00287c78;\n          }\n        }" else (compound_statement "{\n          p_Var12 = &p_Var26->_M_header;\n          p_Var4 = function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;\n          do {\n            while (p_Var10 = p_Var4, (int)p_Var10[1]._M_color < (int)*p_Var24) {\n              pp_Var1 = &p_Var10->_M_right;\n              p_Var10 = p_Var12;\n              p_Var4 = *pp_Var1;\n              if (*pp_Var1 == (_Base_ptr)0x0) goto LAB_00287c50;\n            }\n            p_Var12 = p_Var10;\n            p_Var4 = p_Var10->_M_left;\n          } while (p_Var10->_M_left != (_Base_ptr)0x0);\nLAB_00287c50:\n          if ((_Rb_tree_header *)p_Var10 == p_Var26) goto LAB_00287f40;\n          if (p_Var10[1]._M_color == *p_Var24) goto LAB_00287c78;\n          if (function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_left != p_Var10) {\n            p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var10);\n            goto LAB_00287c78;\n          }\n        }" { (expression_statement "p_Var12 = &p_Var26->_M_header;" (assignment_expression "p_Var12 = &p_Var26->_M_header" identifier = (pointer_expression "&p_Var26->_M_header" & (field_expression "p_Var26->_M_header" identifier -> field_identifier))) ;) (expression_statement "p_Var4 = function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent;" (assignment_expression "p_Var4 = function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" identifier = (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header" (field_expression "function_offsets._M_t._M_impl" (field_expression "function_offsets._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (do_statement "do {\n            while (p_Var10 = p_Var4, (int)p_Var10[1]._M_color < (int)*p_Var24) {\n              pp_Var1 = &p_Var10->_M_right;\n              p_Var10 = p_Var12;\n              p_Var4 = *pp_Var1;\n              if (*pp_Var1 == (_Base_ptr)0x0) goto LAB_00287c50;\n            }\n            p_Var12 = p_Var10;\n            p_Var4 = p_Var10->_M_left;\n          } while (p_Var10->_M_left != (_Base_ptr)0x0);" do (compound_statement "{\n            while (p_Var10 = p_Var4, (int)p_Var10[1]._M_color < (int)*p_Var24) {\n              pp_Var1 = &p_Var10->_M_right;\n              p_Var10 = p_Var12;\n              p_Var4 = *pp_Var1;\n              if (*pp_Var1 == (_Base_ptr)0x0) goto LAB_00287c50;\n            }\n            p_Var12 = p_Var10;\n            p_Var4 = p_Var10->_M_left;\n          }" { (while_statement "while (p_Var10 = p_Var4, (int)p_Var10[1]._M_color < (int)*p_Var24) {\n              pp_Var1 = &p_Var10->_M_right;\n              p_Var10 = p_Var12;\n              p_Var4 = *pp_Var1;\n              if (*pp_Var1 == (_Base_ptr)0x0) goto LAB_00287c50;\n            }" while (parenthesized_expression "(p_Var10 = p_Var4, (int)p_Var10[1]._M_color < (int)*p_Var24)" ( (comma_expression "p_Var10 = p_Var4, (int)p_Var10[1]._M_color < (int)*p_Var24" (assignment_expression "p_Var10 = p_Var4" identifier = identifier) , (binary_expression "(int)p_Var10[1]._M_color < (int)*p_Var24" (cast_expression "(int)p_Var10[1]._M_color" ( (type_descriptor "int" primitive_type) ) (field_expression "p_Var10[1]._M_color" (subscript_expression "p_Var10[1]" identifier [ number_literal ]) . field_identifier)) < (cast_expression "(int)*p_Var24" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*p_Var24" * identifier)))) )) (compound_statement "{\n              pp_Var1 = &p_Var10->_M_right;\n              p_Var10 = p_Var12;\n              p_Var4 = *pp_Var1;\n              if (*pp_Var1 == (_Base_ptr)0x0) goto LAB_00287c50;\n            }" { (expression_statement "pp_Var1 = &p_Var10->_M_right;" (assignment_expression "pp_Var1 = &p_Var10->_M_right" identifier = (pointer_expression "&p_Var10->_M_right" & (field_expression "p_Var10->_M_right" identifier -> field_identifier))) ;) (expression_statement "p_Var10 = p_Var12;" (assignment_expression "p_Var10 = p_Var12" identifier = identifier) ;) (expression_statement "p_Var4 = *pp_Var1;" (assignment_expression "p_Var4 = *pp_Var1" identifier = (pointer_expression "*pp_Var1" * identifier)) ;) (if_statement "if (*pp_Var1 == (_Base_ptr)0x0) goto LAB_00287c50;" if (parenthesized_expression "(*pp_Var1 == (_Base_ptr)0x0)" ( (binary_expression "*pp_Var1 == (_Base_ptr)0x0" (pointer_expression "*pp_Var1" * identifier) == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_00287c50;" goto statement_identifier ;)) })) (expression_statement "p_Var12 = p_Var10;" (assignment_expression "p_Var12 = p_Var10" identifier = identifier) ;) (expression_statement "p_Var4 = p_Var10->_M_left;" (assignment_expression "p_Var4 = p_Var10->_M_left" identifier = (field_expression "p_Var10->_M_left" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(p_Var10->_M_left != (_Base_ptr)0x0)" ( (binary_expression "p_Var10->_M_left != (_Base_ptr)0x0" (field_expression "p_Var10->_M_left" identifier -> field_identifier) != (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) ;) (labeled_statement "LAB_00287c50:\n          if ((_Rb_tree_header *)p_Var10 == p_Var26) goto LAB_00287f40;" statement_identifier : (if_statement "if ((_Rb_tree_header *)p_Var10 == p_Var26) goto LAB_00287f40;" if (parenthesized_expression "((_Rb_tree_header *)p_Var10 == p_Var26)" ( (binary_expression "(_Rb_tree_header *)p_Var10 == p_Var26" (cast_expression "(_Rb_tree_header *)p_Var10" ( (type_descriptor "_Rb_tree_header *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == identifier) )) (goto_statement "goto LAB_00287f40;" goto statement_identifier ;))) (if_statement "if (p_Var10[1]._M_color == *p_Var24) goto LAB_00287c78;" if (parenthesized_expression "(p_Var10[1]._M_color == *p_Var24)" ( (binary_expression "p_Var10[1]._M_color == *p_Var24" (field_expression "p_Var10[1]._M_color" (subscript_expression "p_Var10[1]" identifier [ number_literal ]) . field_identifier) == (pointer_expression "*p_Var24" * identifier)) )) (goto_statement "goto LAB_00287c78;" goto statement_identifier ;)) (if_statement "if (function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_left != p_Var10) {\n            p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var10);\n            goto LAB_00287c78;\n          }" if (parenthesized_expression "(function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_left != p_Var10)" ( (binary_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_left != p_Var10" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_left" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header" (field_expression "function_offsets._M_t._M_impl" (field_expression "function_offsets._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) != identifier) )) (compound_statement "{\n            p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var10);\n            goto LAB_00287c78;\n          }" { (expression_statement "p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var10);" (assignment_expression "p_Var10 = (_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var10)" identifier = (call_expression "(_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var10)" (call_expression "(_Base_ptr)(*(code *)PTR__Rb_tree_decrement_004c45f0)" (parenthesized_expression "(_Base_ptr)" ( identifier )) (argument_list "(*(code *)PTR__Rb_tree_decrement_004c45f0)" ( (pointer_expression "*(code *)PTR__Rb_tree_decrement_004c45f0" * (cast_expression "(code *)PTR__Rb_tree_decrement_004c45f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) (argument_list "(p_Var10)" ( identifier )))) ;) (goto_statement "goto LAB_00287c78;" goto statement_identifier ;) })) }))) (expression_statement "puVar3 = PTR_parameters_004c19b4;" (assignment_expression "puVar3 = PTR_parameters_004c19b4" identifier = identifier) ;) (expression_statement "p_Var24 = p_Var24 + 1;" (assignment_expression "p_Var24 = p_Var24 + 1" identifier = (binary_expression "p_Var24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(p_Var19 != p_Var24)" ( (binary_expression "p_Var19 != p_Var24" identifier != identifier) )) ;) (if_statement "if (calls_non_split._M_t._M_impl.super__Rb_tree_header._M_node_count != 0) {\n        if ((_Rb_tree_header *)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left\n            != p_Var9) {\n          local_58 = &from.field_2;\n          local_c0[0] = 0;\n          puVar27 = local_c0;\n          from._M_string_length = 0;\n          from.field_2._M_local_buf[0] = '\0';\n          local_c4 = 0;\n          piVar20 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          offset = (section_offset_type)puVar27;\n          from._M_dataplus._M_p = (pointer)local_58;\n          if (piVar20 != (int *)0x0) {\n            puVar11 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            p_Var12 = calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left;\n            do {\n              from.field_2._M_local_buf[0] = '\0';\n              from._M_string_length = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar20 + 0x58))\n                        (piVar20,this,shndx,p_Var12[1]._M_color,p_Var12[1]._M_parent,prelocs,uVar23,\n                         view,view_size,&from,&offset);\n              if (from._M_string_length != 0) {\n                uVar7 = 0;\n                if (local_c4 == 0) goto LAB_002880d4;\n                local_50 = (Symbol *)0x0;\n                puVar25 = (uint *)prelocs;\n                do {\n                  p_Var28 = (target->super_Target)._vptr_Target[0x3e];\n                  if (p_Var28 == (_func_int_varargs *)puVar21) {\n                    uVar8 = puVar25[1];\n                    uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 >> 8;\n                  }\n                  else {\n                    uVar8 = (*p_Var28)(target,puVar25);\n                  }\n                  if (uVar6 <= uVar8) {\n                    uVar16 = *puVar25;\n                    iVar17 = (((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff) * 0x10000;\n                    if (((int)p_Var12[1]._M_color <= iVar17) &&\n                       (iVar17 < (int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)\n                       )) {\n                      uVar16 = uVar8 - this->local_symbol_count_;\n                      if (uVar8 < this->local_symbol_count_) {\n                    /* WARNING: Does not return */\n                        pcVar2 = (code *)trap(0);\n                        (*pcVar2)();\n                      }\n                      ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                                 _M_impl._M_start;\n                      if ((uint)((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2) <= uVar16)\n                      goto LAB_00288080;\n                      iVar17 = (*(code *)PTR_compare_004c27e8)(&from,ppSVar18[uVar16]->name_);\n                      if (iVar17 == 0) {\n                        if ((local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)) {\n                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);\n                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);\n                          break;\n                        }\n                        if (*reloc_map == (Reloc_symbol_changes *)0x0) {\n                          pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;\n                          if (0x3fffffff < uVar23) goto LAB_002880f0;\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;\n                          uVar8 = uVar23;\n                          ppSVar18 = ppSVar13;\n                          do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;\n                          *reloc_map = pRVar15;\n                        }\n                        else {\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }\n                        ppSVar13[uVar7] = local_50;\n                      }\n                    }\n                  }\n                  uVar7 = uVar7 + 1;\n                  puVar25 = puVar25 + 3;\n                } while (uVar7 < uVar23);\n              }\n              if ((undefined *)offset != puVar27) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)from._M_dataplus._M_p != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              p_Var12 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var12);\n              if ((_Rb_tree_header *)p_Var12 == p_Var9) goto LAB_00288010;\n              local_c0[0] = 0;\n              from._M_string_length = 0;\n              from.field_2._M_local_buf[0] = '\0';\n              local_c4 = 0;\n              piVar20 = *(int **)(*(int *)puVar3 + 0xc);\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n            } while (piVar20 != (int *)0x0);\n          }\n          goto LAB_002880bc;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::pair<int_const,_unsigned_int>_>_>\n        ::_M_erase(&calls_non_split._M_t,\n                   (_Link_type)\n                   calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);\n        goto LAB_00287b2c;\n      }" if (parenthesized_expression "(calls_non_split._M_t._M_impl.super__Rb_tree_header._M_node_count != 0)" ( (binary_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_node_count != 0" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_node_count" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header" (field_expression "calls_non_split._M_t._M_impl" (field_expression "calls_non_split._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) != number_literal) )) (compound_statement "{\n        if ((_Rb_tree_header *)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left\n            != p_Var9) {\n          local_58 = &from.field_2;\n          local_c0[0] = 0;\n          puVar27 = local_c0;\n          from._M_string_length = 0;\n          from.field_2._M_local_buf[0] = '\0';\n          local_c4 = 0;\n          piVar20 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          offset = (section_offset_type)puVar27;\n          from._M_dataplus._M_p = (pointer)local_58;\n          if (piVar20 != (int *)0x0) {\n            puVar11 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            p_Var12 = calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left;\n            do {\n              from.field_2._M_local_buf[0] = '\0';\n              from._M_string_length = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar20 + 0x58))\n                        (piVar20,this,shndx,p_Var12[1]._M_color,p_Var12[1]._M_parent,prelocs,uVar23,\n                         view,view_size,&from,&offset);\n              if (from._M_string_length != 0) {\n                uVar7 = 0;\n                if (local_c4 == 0) goto LAB_002880d4;\n                local_50 = (Symbol *)0x0;\n                puVar25 = (uint *)prelocs;\n                do {\n                  p_Var28 = (target->super_Target)._vptr_Target[0x3e];\n                  if (p_Var28 == (_func_int_varargs *)puVar21) {\n                    uVar8 = puVar25[1];\n                    uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 >> 8;\n                  }\n                  else {\n                    uVar8 = (*p_Var28)(target,puVar25);\n                  }\n                  if (uVar6 <= uVar8) {\n                    uVar16 = *puVar25;\n                    iVar17 = (((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff) * 0x10000;\n                    if (((int)p_Var12[1]._M_color <= iVar17) &&\n                       (iVar17 < (int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)\n                       )) {\n                      uVar16 = uVar8 - this->local_symbol_count_;\n                      if (uVar8 < this->local_symbol_count_) {\n                    /* WARNING: Does not return */\n                        pcVar2 = (code *)trap(0);\n                        (*pcVar2)();\n                      }\n                      ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                                 _M_impl._M_start;\n                      if ((uint)((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2) <= uVar16)\n                      goto LAB_00288080;\n                      iVar17 = (*(code *)PTR_compare_004c27e8)(&from,ppSVar18[uVar16]->name_);\n                      if (iVar17 == 0) {\n                        if ((local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)) {\n                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);\n                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);\n                          break;\n                        }\n                        if (*reloc_map == (Reloc_symbol_changes *)0x0) {\n                          pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;\n                          if (0x3fffffff < uVar23) goto LAB_002880f0;\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;\n                          uVar8 = uVar23;\n                          ppSVar18 = ppSVar13;\n                          do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;\n                          *reloc_map = pRVar15;\n                        }\n                        else {\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }\n                        ppSVar13[uVar7] = local_50;\n                      }\n                    }\n                  }\n                  uVar7 = uVar7 + 1;\n                  puVar25 = puVar25 + 3;\n                } while (uVar7 < uVar23);\n              }\n              if ((undefined *)offset != puVar27) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)from._M_dataplus._M_p != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              p_Var12 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var12);\n              if ((_Rb_tree_header *)p_Var12 == p_Var9) goto LAB_00288010;\n              local_c0[0] = 0;\n              from._M_string_length = 0;\n              from.field_2._M_local_buf[0] = '\0';\n              local_c4 = 0;\n              piVar20 = *(int **)(*(int *)puVar3 + 0xc);\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n            } while (piVar20 != (int *)0x0);\n          }\n          goto LAB_002880bc;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::pair<int_const,_unsigned_int>_>_>\n        ::_M_erase(&calls_non_split._M_t,\n                   (_Link_type)\n                   calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);\n        goto LAB_00287b2c;\n      }" { (if_statement "if ((_Rb_tree_header *)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left\n            != p_Var9) {\n          local_58 = &from.field_2;\n          local_c0[0] = 0;\n          puVar27 = local_c0;\n          from._M_string_length = 0;\n          from.field_2._M_local_buf[0] = '\0';\n          local_c4 = 0;\n          piVar20 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          offset = (section_offset_type)puVar27;\n          from._M_dataplus._M_p = (pointer)local_58;\n          if (piVar20 != (int *)0x0) {\n            puVar11 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            p_Var12 = calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left;\n            do {\n              from.field_2._M_local_buf[0] = '\0';\n              from._M_string_length = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar20 + 0x58))\n                        (piVar20,this,shndx,p_Var12[1]._M_color,p_Var12[1]._M_parent,prelocs,uVar23,\n                         view,view_size,&from,&offset);\n              if (from._M_string_length != 0) {\n                uVar7 = 0;\n                if (local_c4 == 0) goto LAB_002880d4;\n                local_50 = (Symbol *)0x0;\n                puVar25 = (uint *)prelocs;\n                do {\n                  p_Var28 = (target->super_Target)._vptr_Target[0x3e];\n                  if (p_Var28 == (_func_int_varargs *)puVar21) {\n                    uVar8 = puVar25[1];\n                    uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 >> 8;\n                  }\n                  else {\n                    uVar8 = (*p_Var28)(target,puVar25);\n                  }\n                  if (uVar6 <= uVar8) {\n                    uVar16 = *puVar25;\n                    iVar17 = (((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff) * 0x10000;\n                    if (((int)p_Var12[1]._M_color <= iVar17) &&\n                       (iVar17 < (int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)\n                       )) {\n                      uVar16 = uVar8 - this->local_symbol_count_;\n                      if (uVar8 < this->local_symbol_count_) {\n                    /* WARNING: Does not return */\n                        pcVar2 = (code *)trap(0);\n                        (*pcVar2)();\n                      }\n                      ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                                 _M_impl._M_start;\n                      if ((uint)((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2) <= uVar16)\n                      goto LAB_00288080;\n                      iVar17 = (*(code *)PTR_compare_004c27e8)(&from,ppSVar18[uVar16]->name_);\n                      if (iVar17 == 0) {\n                        if ((local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)) {\n                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);\n                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);\n                          break;\n                        }\n                        if (*reloc_map == (Reloc_symbol_changes *)0x0) {\n                          pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;\n                          if (0x3fffffff < uVar23) goto LAB_002880f0;\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;\n                          uVar8 = uVar23;\n                          ppSVar18 = ppSVar13;\n                          do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;\n                          *reloc_map = pRVar15;\n                        }\n                        else {\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }\n                        ppSVar13[uVar7] = local_50;\n                      }\n                    }\n                  }\n                  uVar7 = uVar7 + 1;\n                  puVar25 = puVar25 + 3;\n                } while (uVar7 < uVar23);\n              }\n              if ((undefined *)offset != puVar27) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)from._M_dataplus._M_p != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              p_Var12 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var12);\n              if ((_Rb_tree_header *)p_Var12 == p_Var9) goto LAB_00288010;\n              local_c0[0] = 0;\n              from._M_string_length = 0;\n              from.field_2._M_local_buf[0] = '\0';\n              local_c4 = 0;\n              piVar20 = *(int **)(*(int *)puVar3 + 0xc);\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n            } while (piVar20 != (int *)0x0);\n          }\n          goto LAB_002880bc;\n        }" if (parenthesized_expression "((_Rb_tree_header *)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left\n            != p_Var9)" ( (binary_expression "(_Rb_tree_header *)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left\n            != p_Var9" (cast_expression "(_Rb_tree_header *)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left" ( (type_descriptor "_Rb_tree_header *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header" (field_expression "calls_non_split._M_t._M_impl" (field_expression "calls_non_split._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) != identifier) )) (compound_statement "{\n          local_58 = &from.field_2;\n          local_c0[0] = 0;\n          puVar27 = local_c0;\n          from._M_string_length = 0;\n          from.field_2._M_local_buf[0] = '\0';\n          local_c4 = 0;\n          piVar20 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          offset = (section_offset_type)puVar27;\n          from._M_dataplus._M_p = (pointer)local_58;\n          if (piVar20 != (int *)0x0) {\n            puVar11 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            p_Var12 = calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left;\n            do {\n              from.field_2._M_local_buf[0] = '\0';\n              from._M_string_length = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar20 + 0x58))\n                        (piVar20,this,shndx,p_Var12[1]._M_color,p_Var12[1]._M_parent,prelocs,uVar23,\n                         view,view_size,&from,&offset);\n              if (from._M_string_length != 0) {\n                uVar7 = 0;\n                if (local_c4 == 0) goto LAB_002880d4;\n                local_50 = (Symbol *)0x0;\n                puVar25 = (uint *)prelocs;\n                do {\n                  p_Var28 = (target->super_Target)._vptr_Target[0x3e];\n                  if (p_Var28 == (_func_int_varargs *)puVar21) {\n                    uVar8 = puVar25[1];\n                    uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 >> 8;\n                  }\n                  else {\n                    uVar8 = (*p_Var28)(target,puVar25);\n                  }\n                  if (uVar6 <= uVar8) {\n                    uVar16 = *puVar25;\n                    iVar17 = (((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff) * 0x10000;\n                    if (((int)p_Var12[1]._M_color <= iVar17) &&\n                       (iVar17 < (int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)\n                       )) {\n                      uVar16 = uVar8 - this->local_symbol_count_;\n                      if (uVar8 < this->local_symbol_count_) {\n                    /* WARNING: Does not return */\n                        pcVar2 = (code *)trap(0);\n                        (*pcVar2)();\n                      }\n                      ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                                 _M_impl._M_start;\n                      if ((uint)((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2) <= uVar16)\n                      goto LAB_00288080;\n                      iVar17 = (*(code *)PTR_compare_004c27e8)(&from,ppSVar18[uVar16]->name_);\n                      if (iVar17 == 0) {\n                        if ((local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)) {\n                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);\n                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);\n                          break;\n                        }\n                        if (*reloc_map == (Reloc_symbol_changes *)0x0) {\n                          pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;\n                          if (0x3fffffff < uVar23) goto LAB_002880f0;\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;\n                          uVar8 = uVar23;\n                          ppSVar18 = ppSVar13;\n                          do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;\n                          *reloc_map = pRVar15;\n                        }\n                        else {\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }\n                        ppSVar13[uVar7] = local_50;\n                      }\n                    }\n                  }\n                  uVar7 = uVar7 + 1;\n                  puVar25 = puVar25 + 3;\n                } while (uVar7 < uVar23);\n              }\n              if ((undefined *)offset != puVar27) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)from._M_dataplus._M_p != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              p_Var12 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var12);\n              if ((_Rb_tree_header *)p_Var12 == p_Var9) goto LAB_00288010;\n              local_c0[0] = 0;\n              from._M_string_length = 0;\n              from.field_2._M_local_buf[0] = '\0';\n              local_c4 = 0;\n              piVar20 = *(int **)(*(int *)puVar3 + 0xc);\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n            } while (piVar20 != (int *)0x0);\n          }\n          goto LAB_002880bc;\n        }" { (expression_statement "local_58 = &from.field_2;" (assignment_expression "local_58 = &from.field_2" identifier = (pointer_expression "&from.field_2" & (field_expression "from.field_2" identifier . field_identifier))) ;) (expression_statement "local_c0[0] = 0;" (assignment_expression "local_c0[0] = 0" (subscript_expression "local_c0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar27 = local_c0;" (assignment_expression "puVar27 = local_c0" identifier = identifier) ;) (expression_statement "from._M_string_length = 0;" (assignment_expression "from._M_string_length = 0" (field_expression "from._M_string_length" identifier . field_identifier) = number_literal) ;) (expression_statement "from.field_2._M_local_buf[0] = '\0';" (assignment_expression "from.field_2._M_local_buf[0] = '\0'" (subscript_expression "from.field_2._M_local_buf[0]" (field_expression "from.field_2._M_local_buf" (field_expression "from.field_2" identifier . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" identifier = number_literal) ;) (expression_statement "piVar20 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);" (assignment_expression "piVar20 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" identifier = (pointer_expression "*(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (expression_statement "offset = (section_offset_type)puVar27;" (assignment_expression "offset = (section_offset_type)puVar27" identifier = (cast_expression "(section_offset_type)puVar27" ( (type_descriptor "section_offset_type" type_identifier) ) identifier)) ;) (expression_statement "from._M_dataplus._M_p = (pointer)local_58;" (assignment_expression "from._M_dataplus._M_p = (pointer)local_58" (field_expression "from._M_dataplus._M_p" (field_expression "from._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)local_58" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (if_statement "if (piVar20 != (int *)0x0) {\n            puVar11 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            p_Var12 = calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left;\n            do {\n              from.field_2._M_local_buf[0] = '\0';\n              from._M_string_length = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar20 + 0x58))\n                        (piVar20,this,shndx,p_Var12[1]._M_color,p_Var12[1]._M_parent,prelocs,uVar23,\n                         view,view_size,&from,&offset);\n              if (from._M_string_length != 0) {\n                uVar7 = 0;\n                if (local_c4 == 0) goto LAB_002880d4;\n                local_50 = (Symbol *)0x0;\n                puVar25 = (uint *)prelocs;\n                do {\n                  p_Var28 = (target->super_Target)._vptr_Target[0x3e];\n                  if (p_Var28 == (_func_int_varargs *)puVar21) {\n                    uVar8 = puVar25[1];\n                    uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 >> 8;\n                  }\n                  else {\n                    uVar8 = (*p_Var28)(target,puVar25);\n                  }\n                  if (uVar6 <= uVar8) {\n                    uVar16 = *puVar25;\n                    iVar17 = (((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff) * 0x10000;\n                    if (((int)p_Var12[1]._M_color <= iVar17) &&\n                       (iVar17 < (int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)\n                       )) {\n                      uVar16 = uVar8 - this->local_symbol_count_;\n                      if (uVar8 < this->local_symbol_count_) {\n                    /* WARNING: Does not return */\n                        pcVar2 = (code *)trap(0);\n                        (*pcVar2)();\n                      }\n                      ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                                 _M_impl._M_start;\n                      if ((uint)((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2) <= uVar16)\n                      goto LAB_00288080;\n                      iVar17 = (*(code *)PTR_compare_004c27e8)(&from,ppSVar18[uVar16]->name_);\n                      if (iVar17 == 0) {\n                        if ((local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)) {\n                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);\n                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);\n                          break;\n                        }\n                        if (*reloc_map == (Reloc_symbol_changes *)0x0) {\n                          pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;\n                          if (0x3fffffff < uVar23) goto LAB_002880f0;\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;\n                          uVar8 = uVar23;\n                          ppSVar18 = ppSVar13;\n                          do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;\n                          *reloc_map = pRVar15;\n                        }\n                        else {\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }\n                        ppSVar13[uVar7] = local_50;\n                      }\n                    }\n                  }\n                  uVar7 = uVar7 + 1;\n                  puVar25 = puVar25 + 3;\n                } while (uVar7 < uVar23);\n              }\n              if ((undefined *)offset != puVar27) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)from._M_dataplus._M_p != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              p_Var12 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var12);\n              if ((_Rb_tree_header *)p_Var12 == p_Var9) goto LAB_00288010;\n              local_c0[0] = 0;\n              from._M_string_length = 0;\n              from.field_2._M_local_buf[0] = '\0';\n              local_c4 = 0;\n              piVar20 = *(int **)(*(int *)puVar3 + 0xc);\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n            } while (piVar20 != (int *)0x0);\n          }" if (parenthesized_expression "(piVar20 != (int *)0x0)" ( (binary_expression "piVar20 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            puVar11 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            p_Var12 = calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left;\n            do {\n              from.field_2._M_local_buf[0] = '\0';\n              from._M_string_length = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar20 + 0x58))\n                        (piVar20,this,shndx,p_Var12[1]._M_color,p_Var12[1]._M_parent,prelocs,uVar23,\n                         view,view_size,&from,&offset);\n              if (from._M_string_length != 0) {\n                uVar7 = 0;\n                if (local_c4 == 0) goto LAB_002880d4;\n                local_50 = (Symbol *)0x0;\n                puVar25 = (uint *)prelocs;\n                do {\n                  p_Var28 = (target->super_Target)._vptr_Target[0x3e];\n                  if (p_Var28 == (_func_int_varargs *)puVar21) {\n                    uVar8 = puVar25[1];\n                    uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 >> 8;\n                  }\n                  else {\n                    uVar8 = (*p_Var28)(target,puVar25);\n                  }\n                  if (uVar6 <= uVar8) {\n                    uVar16 = *puVar25;\n                    iVar17 = (((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff) * 0x10000;\n                    if (((int)p_Var12[1]._M_color <= iVar17) &&\n                       (iVar17 < (int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)\n                       )) {\n                      uVar16 = uVar8 - this->local_symbol_count_;\n                      if (uVar8 < this->local_symbol_count_) {\n                    /* WARNING: Does not return */\n                        pcVar2 = (code *)trap(0);\n                        (*pcVar2)();\n                      }\n                      ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                                 _M_impl._M_start;\n                      if ((uint)((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2) <= uVar16)\n                      goto LAB_00288080;\n                      iVar17 = (*(code *)PTR_compare_004c27e8)(&from,ppSVar18[uVar16]->name_);\n                      if (iVar17 == 0) {\n                        if ((local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)) {\n                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);\n                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);\n                          break;\n                        }\n                        if (*reloc_map == (Reloc_symbol_changes *)0x0) {\n                          pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;\n                          if (0x3fffffff < uVar23) goto LAB_002880f0;\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;\n                          uVar8 = uVar23;\n                          ppSVar18 = ppSVar13;\n                          do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;\n                          *reloc_map = pRVar15;\n                        }\n                        else {\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }\n                        ppSVar13[uVar7] = local_50;\n                      }\n                    }\n                  }\n                  uVar7 = uVar7 + 1;\n                  puVar25 = puVar25 + 3;\n                } while (uVar7 < uVar23);\n              }\n              if ((undefined *)offset != puVar27) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)from._M_dataplus._M_p != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              p_Var12 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var12);\n              if ((_Rb_tree_header *)p_Var12 == p_Var9) goto LAB_00288010;\n              local_c0[0] = 0;\n              from._M_string_length = 0;\n              from.field_2._M_local_buf[0] = '\0';\n              local_c4 = 0;\n              piVar20 = *(int **)(*(int *)puVar3 + 0xc);\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n            } while (piVar20 != (int *)0x0);\n          }" { (expression_statement "puVar11 = PTR_s_in_a_linker_script_004c191c + -0xd34;" (assignment_expression "puVar11 = PTR_s_in_a_linker_script_004c191c + -0xd34" identifier = (binary_expression "PTR_s_in_a_linker_script_004c191c + -0xd34" identifier + number_literal)) ;) (expression_statement "p_Var12 = calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left;" (assignment_expression "p_Var12 = calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left" identifier = (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_left" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header" (field_expression "calls_non_split._M_t._M_impl" (field_expression "calls_non_split._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;) (do_statement "do {\n              from.field_2._M_local_buf[0] = '\0';\n              from._M_string_length = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar20 + 0x58))\n                        (piVar20,this,shndx,p_Var12[1]._M_color,p_Var12[1]._M_parent,prelocs,uVar23,\n                         view,view_size,&from,&offset);\n              if (from._M_string_length != 0) {\n                uVar7 = 0;\n                if (local_c4 == 0) goto LAB_002880d4;\n                local_50 = (Symbol *)0x0;\n                puVar25 = (uint *)prelocs;\n                do {\n                  p_Var28 = (target->super_Target)._vptr_Target[0x3e];\n                  if (p_Var28 == (_func_int_varargs *)puVar21) {\n                    uVar8 = puVar25[1];\n                    uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 >> 8;\n                  }\n                  else {\n                    uVar8 = (*p_Var28)(target,puVar25);\n                  }\n                  if (uVar6 <= uVar8) {\n                    uVar16 = *puVar25;\n                    iVar17 = (((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff) * 0x10000;\n                    if (((int)p_Var12[1]._M_color <= iVar17) &&\n                       (iVar17 < (int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)\n                       )) {\n                      uVar16 = uVar8 - this->local_symbol_count_;\n                      if (uVar8 < this->local_symbol_count_) {\n                    /* WARNING: Does not return */\n                        pcVar2 = (code *)trap(0);\n                        (*pcVar2)();\n                      }\n                      ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                                 _M_impl._M_start;\n                      if ((uint)((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2) <= uVar16)\n                      goto LAB_00288080;\n                      iVar17 = (*(code *)PTR_compare_004c27e8)(&from,ppSVar18[uVar16]->name_);\n                      if (iVar17 == 0) {\n                        if ((local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)) {\n                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);\n                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);\n                          break;\n                        }\n                        if (*reloc_map == (Reloc_symbol_changes *)0x0) {\n                          pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;\n                          if (0x3fffffff < uVar23) goto LAB_002880f0;\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;\n                          uVar8 = uVar23;\n                          ppSVar18 = ppSVar13;\n                          do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;\n                          *reloc_map = pRVar15;\n                        }\n                        else {\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }\n                        ppSVar13[uVar7] = local_50;\n                      }\n                    }\n                  }\n                  uVar7 = uVar7 + 1;\n                  puVar25 = puVar25 + 3;\n                } while (uVar7 < uVar23);\n              }\n              if ((undefined *)offset != puVar27) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)from._M_dataplus._M_p != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              p_Var12 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var12);\n              if ((_Rb_tree_header *)p_Var12 == p_Var9) goto LAB_00288010;\n              local_c0[0] = 0;\n              from._M_string_length = 0;\n              from.field_2._M_local_buf[0] = '\0';\n              local_c4 = 0;\n              piVar20 = *(int **)(*(int *)puVar3 + 0xc);\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n            } while (piVar20 != (int *)0x0);" do (compound_statement "{\n              from.field_2._M_local_buf[0] = '\0';\n              from._M_string_length = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */\n              (**(code **)(*piVar20 + 0x58))\n                        (piVar20,this,shndx,p_Var12[1]._M_color,p_Var12[1]._M_parent,prelocs,uVar23,\n                         view,view_size,&from,&offset);\n              if (from._M_string_length != 0) {\n                uVar7 = 0;\n                if (local_c4 == 0) goto LAB_002880d4;\n                local_50 = (Symbol *)0x0;\n                puVar25 = (uint *)prelocs;\n                do {\n                  p_Var28 = (target->super_Target)._vptr_Target[0x3e];\n                  if (p_Var28 == (_func_int_varargs *)puVar21) {\n                    uVar8 = puVar25[1];\n                    uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 >> 8;\n                  }\n                  else {\n                    uVar8 = (*p_Var28)(target,puVar25);\n                  }\n                  if (uVar6 <= uVar8) {\n                    uVar16 = *puVar25;\n                    iVar17 = (((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff) * 0x10000;\n                    if (((int)p_Var12[1]._M_color <= iVar17) &&\n                       (iVar17 < (int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)\n                       )) {\n                      uVar16 = uVar8 - this->local_symbol_count_;\n                      if (uVar8 < this->local_symbol_count_) {\n                    /* WARNING: Does not return */\n                        pcVar2 = (code *)trap(0);\n                        (*pcVar2)();\n                      }\n                      ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                                 _M_impl._M_start;\n                      if ((uint)((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2) <= uVar16)\n                      goto LAB_00288080;\n                      iVar17 = (*(code *)PTR_compare_004c27e8)(&from,ppSVar18[uVar16]->name_);\n                      if (iVar17 == 0) {\n                        if ((local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)) {\n                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);\n                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);\n                          break;\n                        }\n                        if (*reloc_map == (Reloc_symbol_changes *)0x0) {\n                          pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;\n                          if (0x3fffffff < uVar23) goto LAB_002880f0;\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;\n                          uVar8 = uVar23;\n                          ppSVar18 = ppSVar13;\n                          do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;\n                          *reloc_map = pRVar15;\n                        }\n                        else {\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }\n                        ppSVar13[uVar7] = local_50;\n                      }\n                    }\n                  }\n                  uVar7 = uVar7 + 1;\n                  puVar25 = puVar25 + 3;\n                } while (uVar7 < uVar23);\n              }\n              if ((undefined *)offset != puVar27) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)from._M_dataplus._M_p != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              p_Var12 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var12);\n              if ((_Rb_tree_header *)p_Var12 == p_Var9) goto LAB_00288010;\n              local_c0[0] = 0;\n              from._M_string_length = 0;\n              from.field_2._M_local_buf[0] = '\0';\n              local_c4 = 0;\n              piVar20 = *(int **)(*(int *)puVar3 + 0xc);\n              offset = (section_offset_type)puVar27;\n              from._M_dataplus._M_p = (pointer)local_58;\n            }" { (expression_statement "from.field_2._M_local_buf[0] = '\0';" (assignment_expression "from.field_2._M_local_buf[0] = '\0'" (subscript_expression "from.field_2._M_local_buf[0]" (field_expression "from.field_2._M_local_buf" (field_expression "from.field_2" identifier . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "from._M_string_length = 0;" (assignment_expression "from._M_string_length = 0" (field_expression "from._M_string_length" identifier . field_identifier) = number_literal) ;) (expression_statement "local_c0[0] = 0;" (assignment_expression "local_c0[0] = 0" (subscript_expression "local_c0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" identifier = number_literal) ;) (expression_statement "offset = (section_offset_type)puVar27;" (assignment_expression "offset = (section_offset_type)puVar27" identifier = (cast_expression "(section_offset_type)puVar27" ( (type_descriptor "section_offset_type" type_identifier) ) identifier)) ;) (expression_statement "from._M_dataplus._M_p = (pointer)local_58;" (assignment_expression "from._M_dataplus._M_p = (pointer)local_58" (field_expression "from._M_dataplus._M_p" (field_expression "from._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)local_58" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) comment (expression_statement "(**(code **)(*piVar20 + 0x58))\n                        (piVar20,this,shndx,p_Var12[1]._M_color,p_Var12[1]._M_parent,prelocs,uVar23,\n                         view,view_size,&from,&offset);" (call_expression "(**(code **)(*piVar20 + 0x58))\n                        (piVar20,this,shndx,p_Var12[1]._M_color,p_Var12[1]._M_parent,prelocs,uVar23,\n                         view,view_size,&from,&offset)" (parenthesized_expression "(**(code **)(*piVar20 + 0x58))" ( (pointer_expression "**(code **)(*piVar20 + 0x58)" * (pointer_expression "*(code **)(*piVar20 + 0x58)" * (cast_expression "(code **)(*piVar20 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar20 + 0x58)" ( (binary_expression "*piVar20 + 0x58" (pointer_expression "*piVar20" * identifier) + number_literal) ))))) )) (argument_list "(piVar20,this,shndx,p_Var12[1]._M_color,p_Var12[1]._M_parent,prelocs,uVar23,\n                         view,view_size,&from,&offset)" ( identifier , identifier , identifier , (field_expression "p_Var12[1]._M_color" (subscript_expression "p_Var12[1]" identifier [ number_literal ]) . field_identifier) , (field_expression "p_Var12[1]._M_parent" (subscript_expression "p_Var12[1]" identifier [ number_literal ]) . field_identifier) , identifier , identifier , identifier , identifier , (pointer_expression "&from" & identifier) , (pointer_expression "&offset" & identifier) ))) ;) (if_statement "if (from._M_string_length != 0) {\n                uVar7 = 0;\n                if (local_c4 == 0) goto LAB_002880d4;\n                local_50 = (Symbol *)0x0;\n                puVar25 = (uint *)prelocs;\n                do {\n                  p_Var28 = (target->super_Target)._vptr_Target[0x3e];\n                  if (p_Var28 == (_func_int_varargs *)puVar21) {\n                    uVar8 = puVar25[1];\n                    uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 >> 8;\n                  }\n                  else {\n                    uVar8 = (*p_Var28)(target,puVar25);\n                  }\n                  if (uVar6 <= uVar8) {\n                    uVar16 = *puVar25;\n                    iVar17 = (((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff) * 0x10000;\n                    if (((int)p_Var12[1]._M_color <= iVar17) &&\n                       (iVar17 < (int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)\n                       )) {\n                      uVar16 = uVar8 - this->local_symbol_count_;\n                      if (uVar8 < this->local_symbol_count_) {\n                    /* WARNING: Does not return */\n                        pcVar2 = (code *)trap(0);\n                        (*pcVar2)();\n                      }\n                      ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                                 _M_impl._M_start;\n                      if ((uint)((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2) <= uVar16)\n                      goto LAB_00288080;\n                      iVar17 = (*(code *)PTR_compare_004c27e8)(&from,ppSVar18[uVar16]->name_);\n                      if (iVar17 == 0) {\n                        if ((local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)) {\n                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);\n                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);\n                          break;\n                        }\n                        if (*reloc_map == (Reloc_symbol_changes *)0x0) {\n                          pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;\n                          if (0x3fffffff < uVar23) goto LAB_002880f0;\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;\n                          uVar8 = uVar23;\n                          ppSVar18 = ppSVar13;\n                          do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;\n                          *reloc_map = pRVar15;\n                        }\n                        else {\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }\n                        ppSVar13[uVar7] = local_50;\n                      }\n                    }\n                  }\n                  uVar7 = uVar7 + 1;\n                  puVar25 = puVar25 + 3;\n                } while (uVar7 < uVar23);\n              }" if (parenthesized_expression "(from._M_string_length != 0)" ( (binary_expression "from._M_string_length != 0" (field_expression "from._M_string_length" identifier . field_identifier) != number_literal) )) (compound_statement "{\n                uVar7 = 0;\n                if (local_c4 == 0) goto LAB_002880d4;\n                local_50 = (Symbol *)0x0;\n                puVar25 = (uint *)prelocs;\n                do {\n                  p_Var28 = (target->super_Target)._vptr_Target[0x3e];\n                  if (p_Var28 == (_func_int_varargs *)puVar21) {\n                    uVar8 = puVar25[1];\n                    uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 >> 8;\n                  }\n                  else {\n                    uVar8 = (*p_Var28)(target,puVar25);\n                  }\n                  if (uVar6 <= uVar8) {\n                    uVar16 = *puVar25;\n                    iVar17 = (((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff) * 0x10000;\n                    if (((int)p_Var12[1]._M_color <= iVar17) &&\n                       (iVar17 < (int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)\n                       )) {\n                      uVar16 = uVar8 - this->local_symbol_count_;\n                      if (uVar8 < this->local_symbol_count_) {\n                    /* WARNING: Does not return */\n                        pcVar2 = (code *)trap(0);\n                        (*pcVar2)();\n                      }\n                      ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                                 _M_impl._M_start;\n                      if ((uint)((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2) <= uVar16)\n                      goto LAB_00288080;\n                      iVar17 = (*(code *)PTR_compare_004c27e8)(&from,ppSVar18[uVar16]->name_);\n                      if (iVar17 == 0) {\n                        if ((local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)) {\n                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);\n                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);\n                          break;\n                        }\n                        if (*reloc_map == (Reloc_symbol_changes *)0x0) {\n                          pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;\n                          if (0x3fffffff < uVar23) goto LAB_002880f0;\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;\n                          uVar8 = uVar23;\n                          ppSVar18 = ppSVar13;\n                          do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;\n                          *reloc_map = pRVar15;\n                        }\n                        else {\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }\n                        ppSVar13[uVar7] = local_50;\n                      }\n                    }\n                  }\n                  uVar7 = uVar7 + 1;\n                  puVar25 = puVar25 + 3;\n                } while (uVar7 < uVar23);\n              }" { (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;) (if_statement "if (local_c4 == 0) goto LAB_002880d4;" if (parenthesized_expression "(local_c4 == 0)" ( (binary_expression "local_c4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002880d4;" goto statement_identifier ;)) (expression_statement "local_50 = (Symbol *)0x0;" (assignment_expression "local_50 = (Symbol *)0x0" identifier = (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar25 = (uint *)prelocs;" (assignment_expression "puVar25 = (uint *)prelocs" identifier = (cast_expression "(uint *)prelocs" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n                  p_Var28 = (target->super_Target)._vptr_Target[0x3e];\n                  if (p_Var28 == (_func_int_varargs *)puVar21) {\n                    uVar8 = puVar25[1];\n                    uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 >> 8;\n                  }\n                  else {\n                    uVar8 = (*p_Var28)(target,puVar25);\n                  }\n                  if (uVar6 <= uVar8) {\n                    uVar16 = *puVar25;\n                    iVar17 = (((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff) * 0x10000;\n                    if (((int)p_Var12[1]._M_color <= iVar17) &&\n                       (iVar17 < (int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)\n                       )) {\n                      uVar16 = uVar8 - this->local_symbol_count_;\n                      if (uVar8 < this->local_symbol_count_) {\n                    /* WARNING: Does not return */\n                        pcVar2 = (code *)trap(0);\n                        (*pcVar2)();\n                      }\n                      ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                                 _M_impl._M_start;\n                      if ((uint)((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2) <= uVar16)\n                      goto LAB_00288080;\n                      iVar17 = (*(code *)PTR_compare_004c27e8)(&from,ppSVar18[uVar16]->name_);\n                      if (iVar17 == 0) {\n                        if ((local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)) {\n                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);\n                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);\n                          break;\n                        }\n                        if (*reloc_map == (Reloc_symbol_changes *)0x0) {\n                          pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;\n                          if (0x3fffffff < uVar23) goto LAB_002880f0;\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;\n                          uVar8 = uVar23;\n                          ppSVar18 = ppSVar13;\n                          do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;\n                          *reloc_map = pRVar15;\n                        }\n                        else {\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }\n                        ppSVar13[uVar7] = local_50;\n                      }\n                    }\n                  }\n                  uVar7 = uVar7 + 1;\n                  puVar25 = puVar25 + 3;\n                } while (uVar7 < uVar23);" do (compound_statement "{\n                  p_Var28 = (target->super_Target)._vptr_Target[0x3e];\n                  if (p_Var28 == (_func_int_varargs *)puVar21) {\n                    uVar8 = puVar25[1];\n                    uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 >> 8;\n                  }\n                  else {\n                    uVar8 = (*p_Var28)(target,puVar25);\n                  }\n                  if (uVar6 <= uVar8) {\n                    uVar16 = *puVar25;\n                    iVar17 = (((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff) * 0x10000;\n                    if (((int)p_Var12[1]._M_color <= iVar17) &&\n                       (iVar17 < (int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)\n                       )) {\n                      uVar16 = uVar8 - this->local_symbol_count_;\n                      if (uVar8 < this->local_symbol_count_) {\n                    /* WARNING: Does not return */\n                        pcVar2 = (code *)trap(0);\n                        (*pcVar2)();\n                      }\n                      ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                                 _M_impl._M_start;\n                      if ((uint)((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2) <= uVar16)\n                      goto LAB_00288080;\n                      iVar17 = (*(code *)PTR_compare_004c27e8)(&from,ppSVar18[uVar16]->name_);\n                      if (iVar17 == 0) {\n                        if ((local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)) {\n                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);\n                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);\n                          break;\n                        }\n                        if (*reloc_map == (Reloc_symbol_changes *)0x0) {\n                          pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;\n                          if (0x3fffffff < uVar23) goto LAB_002880f0;\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;\n                          uVar8 = uVar23;\n                          ppSVar18 = ppSVar13;\n                          do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;\n                          *reloc_map = pRVar15;\n                        }\n                        else {\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }\n                        ppSVar13[uVar7] = local_50;\n                      }\n                    }\n                  }\n                  uVar7 = uVar7 + 1;\n                  puVar25 = puVar25 + 3;\n                }" { (expression_statement "p_Var28 = (target->super_Target)._vptr_Target[0x3e];" (assignment_expression "p_Var28 = (target->super_Target)._vptr_Target[0x3e]" identifier = (subscript_expression "(target->super_Target)._vptr_Target[0x3e]" (field_expression "(target->super_Target)._vptr_Target" (parenthesized_expression "(target->super_Target)" ( (field_expression "target->super_Target" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var28 == (_func_int_varargs *)puVar21) {\n                    uVar8 = puVar25[1];\n                    uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 >> 8;\n                  }\n                  else {\n                    uVar8 = (*p_Var28)(target,puVar25);\n                  }" if (parenthesized_expression "(p_Var28 == (_func_int_varargs *)puVar21)" ( (binary_expression "p_Var28 == (_func_int_varargs *)puVar21" identifier == (cast_expression "(_func_int_varargs *)puVar21" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n                    uVar8 = puVar25[1];\n                    uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 >> 8;\n                  }" { (expression_statement "uVar8 = puVar25[1];" (assignment_expression "uVar8 = puVar25[1]" identifier = (subscript_expression "puVar25[1]" identifier [ number_literal ])) ;) (expression_statement "uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 >> 8;" (assignment_expression "uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 >> 8" identifier = (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000 >> 8" (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10)" ( (binary_expression "(uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10" (binary_expression "(uVar8 >> 0x10) << 0x18" (parenthesized_expression "(uVar8 >> 0x10)" ( (binary_expression "uVar8 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar8 >> 0x18) << 0x10" (parenthesized_expression "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff)" ( (binary_expression "(uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff" (binary_expression "(uVar8 & 0xff) << 8" (parenthesized_expression "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar8 >> 8 & 0xff" (binary_expression "uVar8 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) >> number_literal)) ;) }) (else_clause "else {\n                    uVar8 = (*p_Var28)(target,puVar25);\n                  }" else (compound_statement "{\n                    uVar8 = (*p_Var28)(target,puVar25);\n                  }" { (expression_statement "uVar8 = (*p_Var28)(target,puVar25);" (assignment_expression "uVar8 = (*p_Var28)(target,puVar25)" identifier = (call_expression "(*p_Var28)(target,puVar25)" (parenthesized_expression "(*p_Var28)" ( (pointer_expression "*p_Var28" * identifier) )) (argument_list "(target,puVar25)" ( identifier , identifier )))) ;) }))) (if_statement "if (uVar6 <= uVar8) {\n                    uVar16 = *puVar25;\n                    iVar17 = (((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff) * 0x10000;\n                    if (((int)p_Var12[1]._M_color <= iVar17) &&\n                       (iVar17 < (int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)\n                       )) {\n                      uVar16 = uVar8 - this->local_symbol_count_;\n                      if (uVar8 < this->local_symbol_count_) {\n                    /* WARNING: Does not return */\n                        pcVar2 = (code *)trap(0);\n                        (*pcVar2)();\n                      }\n                      ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                                 _M_impl._M_start;\n                      if ((uint)((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2) <= uVar16)\n                      goto LAB_00288080;\n                      iVar17 = (*(code *)PTR_compare_004c27e8)(&from,ppSVar18[uVar16]->name_);\n                      if (iVar17 == 0) {\n                        if ((local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)) {\n                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);\n                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);\n                          break;\n                        }\n                        if (*reloc_map == (Reloc_symbol_changes *)0x0) {\n                          pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;\n                          if (0x3fffffff < uVar23) goto LAB_002880f0;\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;\n                          uVar8 = uVar23;\n                          ppSVar18 = ppSVar13;\n                          do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;\n                          *reloc_map = pRVar15;\n                        }\n                        else {\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }\n                        ppSVar13[uVar7] = local_50;\n                      }\n                    }\n                  }" if (parenthesized_expression "(uVar6 <= uVar8)" ( (binary_expression "uVar6 <= uVar8" identifier <= identifier) )) (compound_statement "{\n                    uVar16 = *puVar25;\n                    iVar17 = (((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff) * 0x10000;\n                    if (((int)p_Var12[1]._M_color <= iVar17) &&\n                       (iVar17 < (int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)\n                       )) {\n                      uVar16 = uVar8 - this->local_symbol_count_;\n                      if (uVar8 < this->local_symbol_count_) {\n                    /* WARNING: Does not return */\n                        pcVar2 = (code *)trap(0);\n                        (*pcVar2)();\n                      }\n                      ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                                 _M_impl._M_start;\n                      if ((uint)((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2) <= uVar16)\n                      goto LAB_00288080;\n                      iVar17 = (*(code *)PTR_compare_004c27e8)(&from,ppSVar18[uVar16]->name_);\n                      if (iVar17 == 0) {\n                        if ((local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)) {\n                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);\n                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);\n                          break;\n                        }\n                        if (*reloc_map == (Reloc_symbol_changes *)0x0) {\n                          pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;\n                          if (0x3fffffff < uVar23) goto LAB_002880f0;\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;\n                          uVar8 = uVar23;\n                          ppSVar18 = ppSVar13;\n                          do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;\n                          *reloc_map = pRVar15;\n                        }\n                        else {\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }\n                        ppSVar13[uVar7] = local_50;\n                      }\n                    }\n                  }" { (expression_statement "uVar16 = *puVar25;" (assignment_expression "uVar16 = *puVar25" identifier = (pointer_expression "*puVar25" * identifier)) ;) (expression_statement "iVar17 = (((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar17 = (((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10)" ( (binary_expression "(uVar16 >> 0x10) << 0x18 | (uVar16 >> 0x18) << 0x10" (binary_expression "(uVar16 >> 0x10) << 0x18" (parenthesized_expression "(uVar16 >> 0x10)" ( (binary_expression "uVar16 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar16 >> 0x18) << 0x10" (parenthesized_expression "(uVar16 >> 0x18)" ( (binary_expression "uVar16 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff)" ( (binary_expression "(uVar16 & 0xff) << 8 | uVar16 >> 8 & 0xff" (binary_expression "(uVar16 & 0xff) << 8" (parenthesized_expression "(uVar16 & 0xff)" ( (binary_expression "uVar16 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar16 >> 8 & 0xff" (binary_expression "uVar16 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if (((int)p_Var12[1]._M_color <= iVar17) &&\n                       (iVar17 < (int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)\n                       )) {\n                      uVar16 = uVar8 - this->local_symbol_count_;\n                      if (uVar8 < this->local_symbol_count_) {\n                    /* WARNING: Does not return */\n                        pcVar2 = (code *)trap(0);\n                        (*pcVar2)();\n                      }\n                      ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                                 _M_impl._M_start;\n                      if ((uint)((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2) <= uVar16)\n                      goto LAB_00288080;\n                      iVar17 = (*(code *)PTR_compare_004c27e8)(&from,ppSVar18[uVar16]->name_);\n                      if (iVar17 == 0) {\n                        if ((local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)) {\n                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);\n                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);\n                          break;\n                        }\n                        if (*reloc_map == (Reloc_symbol_changes *)0x0) {\n                          pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;\n                          if (0x3fffffff < uVar23) goto LAB_002880f0;\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;\n                          uVar8 = uVar23;\n                          ppSVar18 = ppSVar13;\n                          do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;\n                          *reloc_map = pRVar15;\n                        }\n                        else {\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }\n                        ppSVar13[uVar7] = local_50;\n                      }\n                    }" if (parenthesized_expression "(((int)p_Var12[1]._M_color <= iVar17) &&\n                       (iVar17 < (int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)\n                       ))" ( (binary_expression "((int)p_Var12[1]._M_color <= iVar17) &&\n                       (iVar17 < (int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)\n                       )" (parenthesized_expression "((int)p_Var12[1]._M_color <= iVar17)" ( (binary_expression "(int)p_Var12[1]._M_color <= iVar17" (cast_expression "(int)p_Var12[1]._M_color" ( (type_descriptor "int" primitive_type) ) (field_expression "p_Var12[1]._M_color" (subscript_expression "p_Var12[1]" identifier [ number_literal ]) . field_identifier)) <= identifier) )) && (parenthesized_expression "(iVar17 < (int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)\n                       )" ( (binary_expression "iVar17 < (int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)" identifier < (cast_expression "(int)((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color)" ( (binary_expression "(int)&(p_Var12[1]._M_parent)->_M_color + p_Var12[1]._M_color" (cast_expression "(int)&(p_Var12[1]._M_parent)->_M_color" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(p_Var12[1]._M_parent)->_M_color" & (field_expression "(p_Var12[1]._M_parent)->_M_color" (parenthesized_expression "(p_Var12[1]._M_parent)" ( (field_expression "p_Var12[1]._M_parent" (subscript_expression "p_Var12[1]" identifier [ number_literal ]) . field_identifier) )) -> field_identifier))) + (field_expression "p_Var12[1]._M_color" (subscript_expression "p_Var12[1]" identifier [ number_literal ]) . field_identifier)) )))) ))) )) (compound_statement "{\n                      uVar16 = uVar8 - this->local_symbol_count_;\n                      if (uVar8 < this->local_symbol_count_) {\n                    /* WARNING: Does not return */\n                        pcVar2 = (code *)trap(0);\n                        (*pcVar2)();\n                      }\n                      ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                                 _M_impl._M_start;\n                      if ((uint)((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2) <= uVar16)\n                      goto LAB_00288080;\n                      iVar17 = (*(code *)PTR_compare_004c27e8)(&from,ppSVar18[uVar16]->name_);\n                      if (iVar17 == 0) {\n                        if ((local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)) {\n                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);\n                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);\n                          break;\n                        }\n                        if (*reloc_map == (Reloc_symbol_changes *)0x0) {\n                          pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;\n                          if (0x3fffffff < uVar23) goto LAB_002880f0;\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;\n                          uVar8 = uVar23;\n                          ppSVar18 = ppSVar13;\n                          do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;\n                          *reloc_map = pRVar15;\n                        }\n                        else {\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }\n                        ppSVar13[uVar7] = local_50;\n                      }\n                    }" { (expression_statement "uVar16 = uVar8 - this->local_symbol_count_;" (assignment_expression "uVar16 = uVar8 - this->local_symbol_count_" identifier = (binary_expression "uVar8 - this->local_symbol_count_" identifier - (field_expression "this->local_symbol_count_" identifier -> field_identifier))) ;) (if_statement "if (uVar8 < this->local_symbol_count_) {\n                    /* WARNING: Does not return */\n                        pcVar2 = (code *)trap(0);\n                        (*pcVar2)();\n                      }" if (parenthesized_expression "(uVar8 < this->local_symbol_count_)" ( (binary_expression "uVar8 < this->local_symbol_count_" identifier < (field_expression "this->local_symbol_count_" identifier -> field_identifier)) )) (compound_statement "{\n                    /* WARNING: Does not return */\n                        pcVar2 = (code *)trap(0);\n                        (*pcVar2)();\n                      }" { comment (expression_statement "pcVar2 = (code *)trap(0);" (assignment_expression "pcVar2 = (code *)trap(0)" identifier = (cast_expression "(code *)trap(0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "trap(0)" identifier (argument_list "(0)" ( number_literal ))))) ;) (expression_statement "(*pcVar2)();" (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( ))) ;) })) (expression_statement "ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                                 _M_impl._M_start;" (field_expression "ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                                 _M_impl._M_start" (field_expression "ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>.\n                                 _M_impl" (binary_expression "ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold::Symbol*,_std" (assignment_expression "ppSVar18 = (this->symbols_).\n                                 super__Vector_base<gold" identifier = (binary_expression "(this->symbols_).\n                                 super__Vector_base<gold" (field_expression "(this->symbols_).\n                                 super__Vector_base" (parenthesized_expression "(this->symbols_)" ( (field_expression "this->symbols_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((uint)((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2) <= uVar16)\n                      goto LAB_00288080;" if (parenthesized_expression "((uint)((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2) <= uVar16)" ( (binary_expression "(uint)((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2) <= uVar16" (call_expression "(uint)((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2)" ( (binary_expression "(int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18 >> 2" (binary_expression "(int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish - (int)ppSVar18" (field_expression "(int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl._M_finish" (field_expression "(int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                      ._M_impl" (binary_expression "(int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(int)(this->symbols_).\n                                      super__Vector_base<gold::Symbol*,_std" (binary_expression "(int)(this->symbols_).\n                                      super__Vector_base<gold" (cast_expression "(int)(this->symbols_).\n                                      super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(this->symbols_).\n                                      super__Vector_base" (parenthesized_expression "(this->symbols_)" ( (field_expression "this->symbols_" identifier -> field_identifier) )) . field_identifier)) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)ppSVar18" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (goto_statement "goto LAB_00288080;" goto statement_identifier ;)) (expression_statement "iVar17 = (*(code *)PTR_compare_004c27e8)(&from,ppSVar18[uVar16]->name_);" (assignment_expression "iVar17 = (*(code *)PTR_compare_004c27e8)(&from,ppSVar18[uVar16]->name_)" identifier = (call_expression "(*(code *)PTR_compare_004c27e8)(&from,ppSVar18[uVar16]->name_)" (parenthesized_expression "(*(code *)PTR_compare_004c27e8)" ( (pointer_expression "*(code *)PTR_compare_004c27e8" * (cast_expression "(code *)PTR_compare_004c27e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&from,ppSVar18[uVar16]->name_)" ( (pointer_expression "&from" & identifier) , (field_expression "ppSVar18[uVar16]->name_" (subscript_expression "ppSVar18[uVar16]" identifier [ identifier ]) -> field_identifier) )))) ;) (if_statement "if (iVar17 == 0) {\n                        if ((local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)) {\n                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);\n                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);\n                          break;\n                        }\n                        if (*reloc_map == (Reloc_symbol_changes *)0x0) {\n                          pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;\n                          if (0x3fffffff < uVar23) goto LAB_002880f0;\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;\n                          uVar8 = uVar23;\n                          ppSVar18 = ppSVar13;\n                          do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;\n                          *reloc_map = pRVar15;\n                        }\n                        else {\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }\n                        ppSVar13[uVar7] = local_50;\n                      }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n                        if ((local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)) {\n                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);\n                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);\n                          break;\n                        }\n                        if (*reloc_map == (Reloc_symbol_changes *)0x0) {\n                          pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;\n                          if (0x3fffffff < uVar23) goto LAB_002880f0;\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;\n                          uVar8 = uVar23;\n                          ppSVar18 = ppSVar13;\n                          do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;\n                          *reloc_map = pRVar15;\n                        }\n                        else {\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }\n                        ppSVar13[uVar7] = local_50;\n                      }" { (if_statement "if ((local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)) {\n                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);\n                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);\n                          break;\n                        }" if (parenthesized_expression "((local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0))" ( (binary_expression "(local_50 == (Symbol *)0x0) &&\n                           (local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)" (parenthesized_expression "(local_50 == (Symbol *)0x0)" ( (binary_expression "local_50 == (Symbol *)0x0" identifier == (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0)" ( (comma_expression "local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0),\n                           local_50 == (Symbol *)0x0" (assignment_expression "local_50 = (Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0)" identifier = (cast_expression "(Symbol *)(*(code *)PTR_lookup_004c1e40)(symtab,offset,0)" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_lookup_004c1e40)(symtab,offset,0)" (parenthesized_expression "(*(code *)PTR_lookup_004c1e40)" ( (pointer_expression "*(code *)PTR_lookup_004c1e40" * (cast_expression "(code *)PTR_lookup_004c1e40" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(symtab,offset,0)" ( identifier , identifier , number_literal ))))) , (binary_expression "local_50 == (Symbol *)0x0" identifier == (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n                          uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);\n                          (*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);\n                          break;\n                        }" { (expression_statement "uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11);" (assignment_expression "uVar14 = (*(code *)PTR_gettext_004c5c30)(puVar11)" identifier = (call_expression "(*(code *)PTR_gettext_004c5c30)(puVar11)" (parenthesized_expression "(*(code *)PTR_gettext_004c5c30)" ( (pointer_expression "*(code *)PTR_gettext_004c5c30" * (cast_expression "(code *)PTR_gettext_004c5c30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar11)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset);" (call_expression "(*(code *)PTR_error_004c1a54)(this,uVar14,from._M_dataplus._M_p,offset)" (parenthesized_expression "(*(code *)PTR_error_004c1a54)" ( (pointer_expression "*(code *)PTR_error_004c1a54" * (cast_expression "(code *)PTR_error_004c1a54" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(this,uVar14,from._M_dataplus._M_p,offset)" ( identifier , identifier , (field_expression "from._M_dataplus._M_p" (field_expression "from._M_dataplus" identifier . field_identifier) . field_identifier) , identifier ))) ;) (break_statement "break;" break ;) })) (if_statement "if (*reloc_map == (Reloc_symbol_changes *)0x0) {\n                          pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;\n                          if (0x3fffffff < uVar23) goto LAB_002880f0;\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;\n                          uVar8 = uVar23;\n                          ppSVar18 = ppSVar13;\n                          do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;\n                          *reloc_map = pRVar15;\n                        }\n                        else {\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }" if (parenthesized_expression "(*reloc_map == (Reloc_symbol_changes *)0x0)" ( (binary_expression "*reloc_map == (Reloc_symbol_changes *)0x0" (pointer_expression "*reloc_map" * identifier) == (cast_expression "(Reloc_symbol_changes *)0x0" ( (type_descriptor "Reloc_symbol_changes *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                          pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;\n                          if (0x3fffffff < uVar23) goto LAB_002880f0;\n                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */\n                          ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;\n                          uVar8 = uVar23;\n                          ppSVar18 = ppSVar13;\n                          do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);\n                          (pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;\n                          *reloc_map = pRVar15;\n                        }" { (expression_statement "pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc);" (assignment_expression "pRVar15 = (Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc)" identifier = (cast_expression "(Reloc_symbol_changes *)\n                                    (*(code *)PTR_operator_new_004c13a8)(0xc)" ( (type_descriptor "Reloc_symbol_changes *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new_004c13a8)(0xc)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" ( (pointer_expression "*(code *)PTR_operator_new_004c13a8" * (cast_expression "(code *)PTR_operator_new_004c13a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) (expression_statement "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0;" (assignment_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = (pointer)0x0" (field_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start" (field_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std" (binary_expression "(pRVar15->vec_).\n                          super__Vector_base<gold" (field_expression "(pRVar15->vec_).\n                          super__Vector_base" (parenthesized_expression "(pRVar15->vec_)" ( (field_expression "pRVar15->vec_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0;" (assignment_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = (pointer)0x0" (field_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish" (field_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std" (binary_expression "(pRVar15->vec_).\n                          super__Vector_base<gold" (field_expression "(pRVar15->vec_).\n                          super__Vector_base" (parenthesized_expression "(pRVar15->vec_)" ( (field_expression "pRVar15->vec_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0;" (assignment_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = (pointer)0x0" (field_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage" (field_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std" (binary_expression "(pRVar15->vec_).\n                          super__Vector_base<gold" (field_expression "(pRVar15->vec_).\n                          super__Vector_base" (parenthesized_expression "(pRVar15->vec_)" ( (field_expression "pRVar15->vec_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (if_statement "if (0x3fffffff < uVar23) goto LAB_002880f0;" if (parenthesized_expression "(0x3fffffff < uVar23)" ( (binary_expression "0x3fffffff < uVar23" number_literal < identifier) )) (goto_statement "goto LAB_002880f0;" goto statement_identifier ;)) comment (expression_statement "ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4);" (assignment_expression "ppSVar13 = (pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4)" identifier = (call_expression "(pointer)(*(code *)PTR_operator_new_004c13a8)(uVar23 * 4)" (call_expression "(pointer)(*(code *)PTR_operator_new_004c13a8)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "(*(code *)PTR_operator_new_004c13a8)" ( (pointer_expression "*(code *)PTR_operator_new_004c13a8" * (cast_expression "(code *)PTR_operator_new_004c13a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) (argument_list "(uVar23 * 4)" ( (binary_expression "uVar23 * 4" identifier * number_literal) )))) ;) (expression_statement "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13;" (assignment_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start = ppSVar13" (field_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_start" (field_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std" (binary_expression "(pRVar15->vec_).\n                          super__Vector_base<gold" (field_expression "(pRVar15->vec_).\n                          super__Vector_base" (parenthesized_expression "(pRVar15->vec_)" ( (field_expression "pRVar15->vec_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23;" (assignment_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage = ppSVar13 + uVar23" (field_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_end_of_storage" (field_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std" (binary_expression "(pRVar15->vec_).\n                          super__Vector_base<gold" (field_expression "(pRVar15->vec_).\n                          super__Vector_base" (parenthesized_expression "(pRVar15->vec_)" ( (field_expression "pRVar15->vec_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "ppSVar13 + uVar23" identifier + identifier)) ;) (expression_statement "uVar8 = uVar23;" (assignment_expression "uVar8 = uVar23" identifier = identifier) ;) (expression_statement "ppSVar18 = ppSVar13;" (assignment_expression "ppSVar18 = ppSVar13" identifier = identifier) ;) (do_statement "do {\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          } while (uVar8 != 0);" do (compound_statement "{\n                            uVar8 = uVar8 - 1;\n                            *ppSVar18 = (Symbol *)0x0;\n                            ppSVar18 = ppSVar18 + 1;\n                          }" { (expression_statement "uVar8 = uVar8 - 1;" (assignment_expression "uVar8 = uVar8 - 1" identifier = (binary_expression "uVar8 - 1" identifier - number_literal)) ;) (expression_statement "*ppSVar18 = (Symbol *)0x0;" (assignment_expression "*ppSVar18 = (Symbol *)0x0" (pointer_expression "*ppSVar18" * identifier) = (cast_expression "(Symbol *)0x0" ( (type_descriptor "Symbol *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppSVar18 = ppSVar18 + 1;" (assignment_expression "ppSVar18 = ppSVar18 + 1" identifier = (binary_expression "ppSVar18 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar8 != 0)" ( (binary_expression "uVar8 != 0" identifier != number_literal) )) ;) (expression_statement "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23;" (assignment_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish = ppSVar13 + uVar23" (field_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl.\n                          _M_finish" (field_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>._M_impl" (binary_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "(pRVar15->vec_).\n                          super__Vector_base<gold::Symbol*,_std" (binary_expression "(pRVar15->vec_).\n                          super__Vector_base<gold" (field_expression "(pRVar15->vec_).\n                          super__Vector_base" (parenthesized_expression "(pRVar15->vec_)" ( (field_expression "pRVar15->vec_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "ppSVar13 + uVar23" identifier + identifier)) ;) (expression_statement "*reloc_map = pRVar15;" (assignment_expression "*reloc_map = pRVar15" (pointer_expression "*reloc_map" * identifier) = identifier) ;) }) (else_clause "else {\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }" else (compound_statement "{\n                          ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;\n                        }" { (expression_statement "ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start;" (field_expression "ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl._M_start" (field_expression "ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_>\n                                     ._M_impl" (binary_expression "ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold::Symbol*>_" (binary_expression "ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std::allocator<gold" (binary_expression "ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold::Symbol*,_std" (assignment_expression "ppSVar13 = ((*reloc_map)->vec_).\n                                     super__Vector_base<gold" identifier = (binary_expression "((*reloc_map)->vec_).\n                                     super__Vector_base<gold" (field_expression "((*reloc_map)->vec_).\n                                     super__Vector_base" (parenthesized_expression "((*reloc_map)->vec_)" ( (field_expression "(*reloc_map)->vec_" (parenthesized_expression "(*reloc_map)" ( (pointer_expression "*reloc_map" * identifier) )) -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Symbol" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Symbol" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) }))) (expression_statement "ppSVar13[uVar7] = local_50;" (assignment_expression "ppSVar13[uVar7] = local_50" (subscript_expression "ppSVar13[uVar7]" identifier [ identifier ]) = identifier) ;) })) })) })) (expression_statement "uVar7 = uVar7 + 1;" (assignment_expression "uVar7 = uVar7 + 1" identifier = (binary_expression "uVar7 + 1" identifier + number_literal)) ;) (expression_statement "puVar25 = puVar25 + 3;" (assignment_expression "puVar25 = puVar25 + 3" identifier = (binary_expression "puVar25 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar7 < uVar23)" ( (binary_expression "uVar7 < uVar23" identifier < identifier) )) ;) })) (if_statement "if ((undefined *)offset != puVar27) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }" if (parenthesized_expression "((undefined *)offset != puVar27)" ( (binary_expression "(undefined *)offset != puVar27" (cast_expression "(undefined *)offset" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (compound_statement "{\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)from._M_dataplus._M_p != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)from._M_dataplus._M_p != local_58)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n                   *)from._M_dataplus._M_p != local_58)" ( (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                   *)from._M_dataplus._M_p != local_58" (binary_expression "allocator<char>_>_9\n                   *)from._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n                   *)from._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "from._M_dataplus._M_p" (field_expression "from._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "p_Var12 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var12);" (assignment_expression "p_Var12 = (_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var12)" identifier = (call_expression "(_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)(p_Var12)" (call_expression "(_Base_ptr)(*(code *)PTR__Rb_tree_increment_004c1e5c)" (parenthesized_expression "(_Base_ptr)" ( identifier )) (argument_list "(*(code *)PTR__Rb_tree_increment_004c1e5c)" ( (pointer_expression "*(code *)PTR__Rb_tree_increment_004c1e5c" * (cast_expression "(code *)PTR__Rb_tree_increment_004c1e5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) (argument_list "(p_Var12)" ( identifier )))) ;) (if_statement "if ((_Rb_tree_header *)p_Var12 == p_Var9) goto LAB_00288010;" if (parenthesized_expression "((_Rb_tree_header *)p_Var12 == p_Var9)" ( (binary_expression "(_Rb_tree_header *)p_Var12 == p_Var9" (cast_expression "(_Rb_tree_header *)p_Var12" ( (type_descriptor "_Rb_tree_header *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == identifier) )) (goto_statement "goto LAB_00288010;" goto statement_identifier ;)) (expression_statement "local_c0[0] = 0;" (assignment_expression "local_c0[0] = 0" (subscript_expression "local_c0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "from._M_string_length = 0;" (assignment_expression "from._M_string_length = 0" (field_expression "from._M_string_length" identifier . field_identifier) = number_literal) ;) (expression_statement "from.field_2._M_local_buf[0] = '\0';" (assignment_expression "from.field_2._M_local_buf[0] = '\0'" (subscript_expression "from.field_2._M_local_buf[0]" (field_expression "from.field_2._M_local_buf" (field_expression "from.field_2" identifier . field_identifier) . field_identifier) [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" identifier = number_literal) ;) (expression_statement "piVar20 = *(int **)(*(int *)puVar3 + 0xc);" (assignment_expression "piVar20 = *(int **)(*(int *)puVar3 + 0xc)" identifier = (pointer_expression "*(int **)(*(int *)puVar3 + 0xc)" * (cast_expression "(int **)(*(int *)puVar3 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)puVar3 + 0xc)" ( (binary_expression "*(int *)puVar3 + 0xc" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (expression_statement "offset = (section_offset_type)puVar27;" (assignment_expression "offset = (section_offset_type)puVar27" identifier = (cast_expression "(section_offset_type)puVar27" ( (type_descriptor "section_offset_type" type_identifier) ) identifier)) ;) (expression_statement "from._M_dataplus._M_p = (pointer)local_58;" (assignment_expression "from._M_dataplus._M_p = (pointer)local_58" (field_expression "from._M_dataplus._M_p" (field_expression "from._M_dataplus" identifier . field_identifier) . field_identifier) = (cast_expression "(pointer)local_58" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) }) while (parenthesized_expression "(piVar20 != (int *)0x0)" ( (binary_expression "piVar20 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (goto_statement "goto LAB_002880bc;" goto statement_identifier ;) })) (labeled_statement "LAB_00288010:\n        std::\n        _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::pair<int_const,_unsigned_int>_>_>\n        ::_M_erase(&calls_non_split._M_t,\n                   (_Link_type)\n                   calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);" statement_identifier : (ERROR "std::\n        _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::" (comma_expression "std::\n        _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std" identifier (ERROR "::\n        _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>" : : (comma_expression "_Rb_tree<int,_std" (binary_expression "_Rb_tree<int" identifier < identifier) , identifier) : : (comma_expression "pair<int_const,_unsigned_int>,_std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<int_const,_unsigned_int>_>,_std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "less<int" identifier < identifier) >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<int_const,_unsigned_int>_>_>\n        ::_M_erase(&calls_non_split._M_t,\n                   (_Link_type)\n                   calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);" (comma_expression "pair<int_const,_unsigned_int>_>_>\n        ::_M_erase(&calls_non_split._M_t,\n                   (_Link_type)\n                   calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent)" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "_unsigned_int>_>_>\n        ::_M_erase(&calls_non_split._M_t,\n                   (_Link_type)\n                   calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent)" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > (ERROR "::" : :) (call_expression "_M_erase(&calls_non_split._M_t,\n                   (_Link_type)\n                   calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent)" identifier (argument_list "(&calls_non_split._M_t,\n                   (_Link_type)\n                   calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent)" ( (pointer_expression "&calls_non_split._M_t" & (field_expression "calls_non_split._M_t" identifier . field_identifier)) , (cast_expression "(_Link_type)\n                   calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" ( (type_descriptor "_Link_type" type_identifier) ) (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header" (field_expression "calls_non_split._M_t._M_impl" (field_expression "calls_non_split._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ))))) ;)) (goto_statement "goto LAB_00287b2c;" goto statement_identifier ;) })) })) (ERROR "std::\n    _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::" (comma_expression "std::\n    _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std" identifier (ERROR "::\n    _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>" : : (comma_expression "_Rb_tree<int,_std" (binary_expression "_Rb_tree<int" identifier < identifier) , identifier) : : (comma_expression "pair<int_const,_unsigned_int>,_std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<int_const,_unsigned_int>_>,_std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "less<int" identifier < identifier) >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<int_const,_unsigned_int>_>_>\n    ::_M_erase(&calls_non_split._M_t,\n               (_Link_type)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);" (comma_expression "pair<int_const,_unsigned_int>_>_>\n    ::_M_erase(&calls_non_split._M_t,\n               (_Link_type)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent)" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "_unsigned_int>_>_>\n    ::_M_erase(&calls_non_split._M_t,\n               (_Link_type)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent)" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > (ERROR "::" : :) (call_expression "_M_erase(&calls_non_split._M_t,\n               (_Link_type)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent)" identifier (argument_list "(&calls_non_split._M_t,\n               (_Link_type)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent)" ( (pointer_expression "&calls_non_split._M_t" & (field_expression "calls_non_split._M_t" identifier . field_identifier)) , (cast_expression "(_Link_type)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" ( (type_descriptor "_Link_type" type_identifier) ) (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header" (field_expression "calls_non_split._M_t._M_impl" (field_expression "calls_non_split._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ))))) ;) })) (labeled_statement "LAB_00287b2c:\n  std::\n  _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::pair<int_const,_unsigned_int>_>_>\n  ::_M_erase(local_38,(_Link_type)\n                      function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);" statement_identifier : (ERROR "std::\n  _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::" (comma_expression "std::\n  _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std" identifier (ERROR "::\n  _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>" : : (comma_expression "_Rb_tree<int,_std" (binary_expression "_Rb_tree<int" identifier < identifier) , identifier) : : (comma_expression "pair<int_const,_unsigned_int>,_std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<int_const,_unsigned_int>_>,_std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "less<int" identifier < identifier) >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<int_const,_unsigned_int>_>_>\n  ::_M_erase(local_38,(_Link_type)\n                      function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);" (comma_expression "pair<int_const,_unsigned_int>_>_>\n  ::_M_erase(local_38,(_Link_type)\n                      function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent)" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "_unsigned_int>_>_>\n  ::_M_erase(local_38,(_Link_type)\n                      function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent)" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > (ERROR "::" : :) (call_expression "_M_erase(local_38,(_Link_type)\n                      function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent)" identifier (argument_list "(local_38,(_Link_type)\n                      function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent)" ( identifier , (cast_expression "(_Link_type)\n                      function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" ( (type_descriptor "_Link_type" type_identifier) ) (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header" (field_expression "function_offsets._M_t._M_impl" (field_expression "function_offsets._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ))))) ;)) (labeled_statement "LAB_00287b40:\n  if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start != (pointer)0x0)\n  {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" statement_identifier : (if_statement "if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start != (pointer)0x0)\n  {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" if (parenthesized_expression "(non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start != (pointer)0x0)" ( (ERROR "non_split_refs.super__Vector_base<int,_std::" (comma_expression "non_split_refs.super__Vector_base<int,_std" (binary_expression "non_split_refs.super__Vector_base<int" (field_expression "non_split_refs.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<int>_>._M_impl._M_start != (pointer)0x0" (field_expression "allocator<int>_>._M_impl._M_start" (field_expression "allocator<int>_>._M_impl" (binary_expression "allocator<int>_" (binary_expression "allocator<int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }))) (return_statement "return;" return ;) (labeled_statement "LAB_00288080:\n                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n             PTR_s_in_a_linker_script_004c191c + -0x5f8);" statement_identifier : comment (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n             PTR_s_in_a_linker_script_004c191c + -0x5f8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n             PTR_s_in_a_linker_script_004c191c + -0x5f8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n             PTR_s_in_a_linker_script_004c191c + -0x5f8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x5f8" identifier + number_literal) ))) ;)) (labeled_statement "LAB_0028809c:\n                    /* try { // try from 002880b0 to 002880b7 has its CatchHandler @ 002881c4 */\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n             PTR_s_in_a_linker_script_004c191c + -0x5f8);" statement_identifier : comment (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n             PTR_s_in_a_linker_script_004c191c + -0x5f8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n             PTR_s_in_a_linker_script_004c191c + -0x5f8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n             PTR_s_in_a_linker_script_004c191c + -0x5f8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x5f8" identifier + number_literal) ))) ;)) (labeled_statement "LAB_002880bc:\n                    /* try { // try from 002880cc to 002880ef has its CatchHandler @ 00288118 */\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n             PTR_s_in_a_linker_script_004c191c + -0x5e8);" statement_identifier : comment (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n             PTR_s_in_a_linker_script_004c191c + -0x5e8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n             PTR_s_in_a_linker_script_004c191c + -0x5e8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n             PTR_s_in_a_linker_script_004c191c + -0x5e8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x5e8" identifier + number_literal) ))) ;)) (labeled_statement "LAB_002880d4:\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n             PTR_s_in_a_linker_script_004c191c + -0x614);" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n             PTR_s_in_a_linker_script_004c191c + -0x614);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n             PTR_s_in_a_linker_script_004c191c + -0x614)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n             PTR_s_in_a_linker_script_004c191c + -0x614)" ( (binary_expression "PTR_s_in_a_linker_script_004c191c + -0xe14" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x614" identifier + number_literal) ))) ;)) (labeled_statement "LAB_002880f0:\n                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */\n  (*(code *)PTR___throw_bad_alloc_004c1ac0)();" statement_identifier : comment (expression_statement "(*(code *)PTR___throw_bad_alloc_004c1ac0)();" (call_expression "(*(code *)PTR___throw_bad_alloc_004c1ac0)()" (parenthesized_expression "(*(code *)PTR___throw_bad_alloc_004c1ac0)" ( (pointer_expression "*(code *)PTR___throw_bad_alloc_004c1ac0" * (cast_expression "(code *)PTR___throw_bad_alloc_004c1ac0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;)) (labeled_statement "LAB_002880fc:\n                    /* try { // try from 00288110 to 00288117 has its CatchHandler @ 002881c4 */\n  puVar21 = PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8;" statement_identifier : comment (expression_statement "puVar21 = PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8;" (assignment_expression "puVar21 = PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier = (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal)) ;)) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (puVar21,0x69,PTR_s_in_a_linker_script_004c191c + -0x5e8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (puVar21,0x69,PTR_s_in_a_linker_script_004c191c + -0x5e8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar21,0x69,PTR_s_in_a_linker_script_004c191c + -0x5e8)" ( identifier , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x5e8" identifier + number_literal) ))) ;) comment (if_statement "if ((undefined *)offset != puVar27) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" if (parenthesized_expression "((undefined *)offset != puVar27)" ( (binary_expression "(undefined *)offset != puVar27" (cast_expression "(undefined *)offset" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)from._M_dataplus._M_p != local_58) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)from._M_dataplus._M_p != local_58)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n       *)from._M_dataplus._M_p != local_58)" ( (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       *)from._M_dataplus._M_p != local_58" (binary_expression "allocator<char>_>_9\n       *)from._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n       *)from._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "from._M_dataplus._M_p" (field_expression "from._M_dataplus" identifier . field_identifier) . field_identifier))) != identifier) )) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (labeled_statement "std::\n  _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::pair<int_const,_unsigned_int>_>_>\n  ::_M_erase(&calls_non_split._M_t,\n             (_Link_type)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);" statement_identifier (ERROR "::\n  _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std:" : : (comma_expression "_Rb_tree<int,_std" (binary_expression "_Rb_tree<int" identifier < identifier) , identifier) : : (comma_expression "pair<int_const,_unsigned_int>,_std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<int_const,_unsigned_int>_>,_std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "less<int>,_std" (binary_expression "less<int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) :) : (expression_statement "pair<int_const,_unsigned_int>_>_>\n  ::_M_erase(&calls_non_split._M_t,\n             (_Link_type)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);" (comma_expression "pair<int_const,_unsigned_int>_>_>\n  ::_M_erase(&calls_non_split._M_t,\n             (_Link_type)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent)" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "_unsigned_int>_>_>\n  ::_M_erase(&calls_non_split._M_t,\n             (_Link_type)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent)" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > (ERROR "::" : :) (call_expression "_M_erase(&calls_non_split._M_t,\n             (_Link_type)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent)" identifier (argument_list "(&calls_non_split._M_t,\n             (_Link_type)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent)" ( (pointer_expression "&calls_non_split._M_t" & (field_expression "calls_non_split._M_t" identifier . field_identifier)) , (cast_expression "(_Link_type)calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" ( (type_descriptor "_Link_type" type_identifier) ) (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "calls_non_split._M_t._M_impl.super__Rb_tree_header" (field_expression "calls_non_split._M_t._M_impl" (field_expression "calls_non_split._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ))))) ;)) (labeled_statement "std::\n  _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std::pair<int_const,_unsigned_int>_>_>\n  ::_M_erase(local_38,(_Link_type)\n                      function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);" statement_identifier (ERROR "::\n  _Rb_tree<int,_std::pair<int_const,_unsigned_int>,_std::_Select1st<std::pair<int_const,_unsigned_int>_>,_std::less<int>,_std::allocator<std:" : : (comma_expression "_Rb_tree<int,_std" (binary_expression "_Rb_tree<int" identifier < identifier) , identifier) : : (comma_expression "pair<int_const,_unsigned_int>,_std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<int_const,_unsigned_int>_>,_std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "_unsigned_int>_>,_std" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier)) : : (binary_expression "less<int>,_std" (binary_expression "less<int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) :) : (expression_statement "pair<int_const,_unsigned_int>_>_>\n  ::_M_erase(local_38,(_Link_type)\n                      function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent);" (comma_expression "pair<int_const,_unsigned_int>_>_>\n  ::_M_erase(local_38,(_Link_type)\n                      function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent)" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "_unsigned_int>_>_>\n  ::_M_erase(local_38,(_Link_type)\n                      function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent)" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) > (ERROR "::" : :) (call_expression "_M_erase(local_38,(_Link_type)\n                      function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent)" identifier (argument_list "(local_38,(_Link_type)\n                      function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent)" ( identifier , (cast_expression "(_Link_type)\n                      function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" ( (type_descriptor "_Link_type" type_identifier) ) (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "function_offsets._M_t._M_impl.super__Rb_tree_header" (field_expression "function_offsets._M_t._M_impl" (field_expression "function_offsets._M_t" identifier . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ))))) ;)) (if_statement "if (non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start != (pointer)0x0)\n  {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" if (parenthesized_expression "(non_split_refs.super__Vector_base<int,_std::allocator<int>_>._M_impl._M_start != (pointer)0x0)" ( (ERROR "non_split_refs.super__Vector_base<int,_std::" (comma_expression "non_split_refs.super__Vector_base<int,_std" (binary_expression "non_split_refs.super__Vector_base<int" (field_expression "non_split_refs.super__Vector_base" identifier . field_identifier) < identifier) , identifier) : :) (binary_expression "allocator<int>_>._M_impl._M_start != (pointer)0x0" (field_expression "allocator<int>_>._M_impl._M_start" (field_expression "allocator<int>_>._M_impl" (binary_expression "allocator<int>_" (binary_expression "allocator<int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "(*(code *)PTR__Unwind_Resume_004c12c8)(puVar21);" (call_expression "(*(code *)PTR__Unwind_Resume_004c12c8)(puVar21)" (parenthesized_expression "(*(code *)PTR__Unwind_Resume_004c12c8)" ( (pointer_expression "*(code *)PTR__Unwind_Resume_004c12c8" * (cast_expression "(code *)PTR__Unwind_Resume_004c12c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar21)" ( identifier ))) ;) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void __thiscall\ngold::Sized_relobj_file<32,false>::split_stack_adjust_reltype<4>\n          (Sized_relobj_file<32,false> *this,Symbol_table *param_1,uchar *param_2,uint param_3,\n          uchar *param_4,uint param_5,uchar *param_6,uint param_7,Reloc_symbol_changes **param_8,\n          Sized_target *param_9)\n\n{\n  _Rb_tree_node *p_Var1;\n  undefined *puVar2;\n  undefined *puVar3;\n  _Rb_tree_node *p_Var4;\n  int ***pppiVar5;\n  uint uVar6;\n  int ***pppiVar7;\n  _Rb_tree_node *p_Var8;\n  _Rb_tree_node *p_Var9;\n  undefined4 *puVar10;\n  undefined4 *puVar11;\n  undefined4 uVar12;\n  uint uVar13;\n  int *piVar14;\n  undefined4 *puVar15;\n  int iVar16;\n  uint uVar17;\n  int *piVar18;\n  uint *puVar19;\n  code *pcVar20;\n  int **local_c8;\n  int local_c4;\n  undefined1 local_c0 [16];\n  int **local_b0;\n  int local_ac;\n  undefined1 local_a8 [16];\n  _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n  a_Stack_98 [4];\n  undefined4 local_94;\n  _Rb_tree_node *local_90;\n  undefined4 *local_8c;\n  undefined4 *local_88;\n  int local_84;\n  map local_80 [4];\n  undefined4 local_7c;\n  _Rb_tree_node *local_78;\n  _Rb_tree_node *local_74;\n  _Rb_tree_node *local_70;\n  int local_6c;\n  int *local_68;\n  int *local_64;\n  int *local_60;\n  int **local_58;\n  int ***local_54;\n  code *local_50;\n  undefined4 *local_4c;\n  int ***local_48;\n  int *local_44;\n  Reloc_symbol_changes *local_40;\n  int local_3c;\n  _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n  *local_38;\n  uint local_34;\n  undefined *local_30;\n  \n  pcVar20 = *(code **)(*(int *)this + 0x8c);\n  if (pcVar20 == (code *)PTR_local_symbol_count_004c1bc0) {\n    pppiVar5 = (int ***)(**(code **)(*(int *)this + 0xbc))();\n  }\n  else {\n    pppiVar5 = (int ***)(*pcVar20)();\n  }\n  puVar3 = PTR_get_r_sym_004c4580;\n  puVar2 = PTR_parameters_004c19b4;\n  local_68 = (int *)0x0;\n  local_64 = (int *)0x0;\n  local_60 = (int *)0x0;\n  if (param_5 == 0) {\n    return;\n  }\n  local_50 = (code *)PTR__M_realloc_insert<int_const&>_004c45e4;\n  uVar17 = 0;\n  local_58 = &local_68;\n  local_54 = &local_c8;\n  puVar19 = (uint *)param_4;\n  do {\n    if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n      uVar6 = puVar19[1];\n      pppiVar7 = (int ***)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8);\n    }\n    else {\n      pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n    }\n    if (pppiVar5 <= pppiVar7) {\n      uVar6 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n      if (pppiVar7 < *(int ****)(this + 0xb8)) {\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        return;\n      }\n      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar6) {\n                    \n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n        return;\n      }\n      iVar16 = *(int *)(*(int *)(this + 0xc4) + uVar6 * 4);\n      if (iVar16 == 0) goto LAB_00288064;\n      if (*(int *)(iVar16 + 0x28) << 0x14 < 0) {\n        iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1);\n      }\n      uVar6 = *(uint *)(iVar16 + 0x28);\n      if ((uVar6 & 0xe000) == 0) {\n        if ((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)) {\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    \n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    \n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    \n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }\n      }\n      else if (((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)) {\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }\n    }\n    uVar17 = uVar17 + 1;\n    puVar19 = puVar19 + 3;\n  } while (param_5 != uVar17);\n  if (local_64 == local_68) goto LAB_00287b40;\n  local_7c = 0;\n  local_78 = (_Rb_tree_node *)0x0;\n                    \n  local_6c = 0;\n  local_74 = (_Rb_tree_node *)&local_7c;\n  local_70 = (_Rb_tree_node *)&local_7c;\n  local_38 = (_Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n              *)local_80;\n  find_functions(this,param_2,param_3,local_80);\n  if (local_6c != 0) {\n    local_8c = &local_94;\n    local_4c = local_8c;\n    local_94 = 0;\n    local_90 = (_Rb_tree_node *)0x0;\n    local_84 = 0;\n    local_88 = local_8c;\n    if (local_68 != local_64) {\n      local_54 = pppiVar5;\n      local_58 = (int **)PTR__M_insert_unique<std_pair<int_const,unsigned_int>const&>_004c45ec;\n      piVar14 = local_64;\n      piVar18 = local_68;\n      do {\n        if (local_78 == (_Rb_tree_node *)0x0) {\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    \n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }\n        else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }\n        pppiVar5 = local_54;\n        piVar18 = piVar18 + 1;\n      } while (piVar14 != piVar18);\n      if (local_84 != 0) {\n        if (local_8c != local_4c) {\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    \n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    \n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);\n        goto LAB_00287b2c;\n      }\n    }\n    std::\n    _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n    ::_M_erase(a_Stack_98,local_90);\n  }\nLAB_00287b2c:\n  std::\n  _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n  ::_M_erase(local_38,local_78);\nLAB_00287b40:\n  if (local_68 != (int *)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }\n  return;\n}\n\n" (declaration "void __thiscall\ngold::Sized_relobj_file<32,false>::split_stack_adjust_reltype<4>\n          (Sized_relobj_file<32,false> *this,Symbol_table *param_1,uchar *param_2,uint param_3,\n          uchar *param_4,uint param_5,uchar *param_6,uint param_7,Reloc_symbol_changes **param_8,\n          Sized_target *param_9)\n\n{\n  _Rb_tree_node *p_Var1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "false>::split_stack_adjust_reltype<4>\n          (Sized_relobj_file<32,false> *this,Symbol_table *param_1,uchar *param_2,uint param_3,\n          uchar *param_4,uint param_5,uchar *param_6,uint param_7,Reloc_symbol_changes **param_8,\n          Sized_target *param_9)\n\n{\n  _Rb_tree_node" identifier > : : (function_declarator "split_stack_adjust_reltype<4>\n          (Sized_relobj_file<32,false> *this,Symbol_table *param_1,uchar *param_2,uint param_3,\n          uchar *param_4,uint param_5,uchar *param_6,uint param_7,Reloc_symbol_changes **param_8,\n          Sized_target *param_9)" identifier (ERROR "<4>" < number_literal >) (parameter_list "(Sized_relobj_file<32,false> *this,Symbol_table *param_1,uchar *param_2,uint param_3,\n          uchar *param_4,uint param_5,uchar *param_6,uint param_7,Reloc_symbol_changes **param_8,\n          Sized_target *param_9)" ( (parameter_declaration "Sized_relobj_file" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Symbol_table *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "uchar *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "uchar *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "uint param_5" type_identifier identifier) , (parameter_declaration "uchar *param_6" type_identifier (pointer_declarator "*param_6" * identifier)) , (parameter_declaration "uint param_7" type_identifier identifier) , (parameter_declaration "Reloc_symbol_changes **param_8" type_identifier (pointer_declarator "**param_8" * (pointer_declarator "*param_8" * identifier))) , (parameter_declaration "Sized_target *param_9" type_identifier (pointer_declarator "*param_9" * identifier)) ))) { identifier) (pointer_declarator "*p_Var1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "_Rb_tree_node *p_Var4;" type_identifier (pointer_declarator "*p_Var4" * identifier) ;) (declaration "int ***pppiVar5;" primitive_type (pointer_declarator "***pppiVar5" * (pointer_declarator "**pppiVar5" * (pointer_declarator "*pppiVar5" * identifier))) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int ***pppiVar7;" primitive_type (pointer_declarator "***pppiVar7" * (pointer_declarator "**pppiVar7" * (pointer_declarator "*pppiVar7" * identifier))) ;) (declaration "_Rb_tree_node *p_Var8;" type_identifier (pointer_declarator "*p_Var8" * identifier) ;) (declaration "_Rb_tree_node *p_Var9;" type_identifier (pointer_declarator "*p_Var9" * identifier) ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "undefined4 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "uint *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "code *pcVar20;" type_identifier (pointer_declarator "*pcVar20" * identifier) ;) (declaration "int **local_c8;" primitive_type (pointer_declarator "**local_c8" * (pointer_declarator "*local_c8" * identifier)) ;) (declaration "int local_c4;" primitive_type identifier ;) (declaration "undefined1 local_c0 [16];" type_identifier (array_declarator "local_c0 [16]" identifier [ number_literal ]) ;) (declaration "int **local_b0;" primitive_type (pointer_declarator "**local_b0" * (pointer_declarator "*local_b0" * identifier)) ;) (declaration "int local_ac;" primitive_type identifier ;) (declaration "undefined1 local_a8 [16];" type_identifier (array_declarator "local_a8 [16]" identifier [ number_literal ]) ;) (ERROR "_Rb_tree<int," (binary_expression "_Rb_tree<int" identifier < identifier) ,) (labeled_statement "std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n  a_Stack_98 [4];" statement_identifier (ERROR "::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std:" : : (comma_expression "pair<int_const,unsigned_int>,std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>,std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<int_const,unsigned_int>>,std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>>,std" identifier >> (ERROR "," ,) identifier)) : : (binary_expression "less<int>,std" (binary_expression "less<int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) :) : (expression_statement "pair<int_const,unsigned_int>>>\n  a_Stack_98 [4];" (comma_expression "pair<int_const,unsigned_int>>>\n  a_Stack_98 [4]" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>>>\n  a_Stack_98 [4]" identifier >> (ERROR ">" >) (subscript_expression "a_Stack_98 [4]" identifier [ number_literal ]))) ;)) (declaration "undefined4 local_94;" type_identifier identifier ;) (declaration "_Rb_tree_node *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "undefined4 *local_8c;" type_identifier (pointer_declarator "*local_8c" * identifier) ;) (declaration "undefined4 *local_88;" type_identifier (pointer_declarator "*local_88" * identifier) ;) (declaration "int local_84;" primitive_type identifier ;) (declaration "map local_80 [4];" type_identifier (array_declarator "local_80 [4]" identifier [ number_literal ]) ;) (declaration "undefined4 local_7c;" type_identifier identifier ;) (declaration "_Rb_tree_node *local_78;" type_identifier (pointer_declarator "*local_78" * identifier) ;) (declaration "_Rb_tree_node *local_74;" type_identifier (pointer_declarator "*local_74" * identifier) ;) (declaration "_Rb_tree_node *local_70;" type_identifier (pointer_declarator "*local_70" * identifier) ;) (declaration "int local_6c;" primitive_type identifier ;) (declaration "int *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "int *local_64;" primitive_type (pointer_declarator "*local_64" * identifier) ;) (declaration "int *local_60;" primitive_type (pointer_declarator "*local_60" * identifier) ;) (declaration "int **local_58;" primitive_type (pointer_declarator "**local_58" * (pointer_declarator "*local_58" * identifier)) ;) (declaration "int ***local_54;" primitive_type (pointer_declarator "***local_54" * (pointer_declarator "**local_54" * (pointer_declarator "*local_54" * identifier))) ;) (declaration "code *local_50;" type_identifier (pointer_declarator "*local_50" * identifier) ;) (declaration "undefined4 *local_4c;" type_identifier (pointer_declarator "*local_4c" * identifier) ;) (declaration "int ***local_48;" primitive_type (pointer_declarator "***local_48" * (pointer_declarator "**local_48" * (pointer_declarator "*local_48" * identifier))) ;) (declaration "int *local_44;" primitive_type (pointer_declarator "*local_44" * identifier) ;) (declaration "Reloc_symbol_changes *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "int local_3c;" primitive_type identifier ;) (ERROR "_Rb_tree<int," (binary_expression "_Rb_tree<int" identifier < identifier) ,) (labeled_statement "std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n  *local_38;" statement_identifier (ERROR "::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std:" : : (comma_expression "pair<int_const,unsigned_int>,std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>,std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<int_const,unsigned_int>>,std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>>,std" identifier >> (ERROR "," ,) identifier)) : : (binary_expression "less<int>,std" (binary_expression "less<int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) :) : (expression_statement "pair<int_const,unsigned_int>>>\n  *local_38;" (comma_expression "pair<int_const,unsigned_int>>>\n  *local_38" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>>>\n  *local_38" identifier >> (ERROR ">" >) (pointer_expression "*local_38" * identifier))) ;)) (declaration "uint local_34;" type_identifier identifier ;) (declaration "undefined *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (expression_statement "pcVar20 = *(code **)(*(int *)this + 0x8c);" (assignment_expression "pcVar20 = *(code **)(*(int *)this + 0x8c)" identifier = (pointer_expression "*(code **)(*(int *)this + 0x8c)" * (cast_expression "(code **)(*(int *)this + 0x8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)this + 0x8c)" ( (binary_expression "*(int *)this + 0x8c" (pointer_expression "*(int *)this" * (cast_expression "(int *)this" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (if_statement "if (pcVar20 == (code *)PTR_local_symbol_count_004c1bc0) {\n    pppiVar5 = (int ***)(**(code **)(*(int *)this + 0xbc))();\n  }\n  else {\n    pppiVar5 = (int ***)(*pcVar20)();\n  }" if (parenthesized_expression "(pcVar20 == (code *)PTR_local_symbol_count_004c1bc0)" ( (binary_expression "pcVar20 == (code *)PTR_local_symbol_count_004c1bc0" identifier == (cast_expression "(code *)PTR_local_symbol_count_004c1bc0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n    pppiVar5 = (int ***)(**(code **)(*(int *)this + 0xbc))();\n  }" { (expression_statement "pppiVar5 = (int ***)(**(code **)(*(int *)this + 0xbc))();" (assignment_expression "pppiVar5 = (int ***)(**(code **)(*(int *)this + 0xbc))()" identifier = (cast_expression "(int ***)(**(code **)(*(int *)this + 0xbc))()" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(**(code **)(*(int *)this + 0xbc))()" (parenthesized_expression "(**(code **)(*(int *)this + 0xbc))" ( (pointer_expression "**(code **)(*(int *)this + 0xbc)" * (pointer_expression "*(code **)(*(int *)this + 0xbc)" * (cast_expression "(code **)(*(int *)this + 0xbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)this + 0xbc)" ( (binary_expression "*(int *)this + 0xbc" (pointer_expression "*(int *)this" * (cast_expression "(int *)this" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "()" ( ))))) ;) }) (else_clause "else {\n    pppiVar5 = (int ***)(*pcVar20)();\n  }" else (compound_statement "{\n    pppiVar5 = (int ***)(*pcVar20)();\n  }" { (expression_statement "pppiVar5 = (int ***)(*pcVar20)();" (assignment_expression "pppiVar5 = (int ***)(*pcVar20)()" identifier = (cast_expression "(int ***)(*pcVar20)()" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "()" ( ))))) ;) }))) (expression_statement "puVar3 = PTR_get_r_sym_004c4580;" (assignment_expression "puVar3 = PTR_get_r_sym_004c4580" identifier = identifier) ;) (expression_statement "puVar2 = PTR_parameters_004c19b4;" (assignment_expression "puVar2 = PTR_parameters_004c19b4" identifier = identifier) ;) (expression_statement "local_68 = (int *)0x0;" (assignment_expression "local_68 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_64 = (int *)0x0;" (assignment_expression "local_64 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_60 = (int *)0x0;" (assignment_expression "local_60 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (param_5 == 0) {\n    return;\n  }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "local_50 = (code *)PTR__M_realloc_insert<int_const&>_004c45e4;" (assignment_expression "local_50 = (code *)PTR__M_realloc_insert<int_const&>_004c45e4" identifier = (binary_expression "(code *)PTR__M_realloc_insert<int_const&>_004c45e4" (binary_expression "(code *)PTR__M_realloc_insert<int_const" (cast_expression "(code *)PTR__M_realloc_insert" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) < identifier) (ERROR "&" &) > identifier)) ;) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" identifier = number_literal) ;) (expression_statement "local_58 = &local_68;" (assignment_expression "local_58 = &local_68" identifier = (pointer_expression "&local_68" & identifier)) ;) (expression_statement "local_54 = &local_c8;" (assignment_expression "local_54 = &local_c8" identifier = (pointer_expression "&local_c8" & identifier)) ;) (expression_statement "puVar19 = (uint *)param_4;" (assignment_expression "puVar19 = (uint *)param_4" identifier = (cast_expression "(uint *)param_4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n    if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n      uVar6 = puVar19[1];\n      pppiVar7 = (int ***)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8);\n    }\n    else {\n      pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n    }\n    if (pppiVar5 <= pppiVar7) {\n      uVar6 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n      if (pppiVar7 < *(int ****)(this + 0xb8)) {\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        return;\n      }\n      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar6) {\n                    \n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n        return;\n      }\n      iVar16 = *(int *)(*(int *)(this + 0xc4) + uVar6 * 4);\n      if (iVar16 == 0) goto LAB_00288064;\n      if (*(int *)(iVar16 + 0x28) << 0x14 < 0) {\n        iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1);\n      }\n      uVar6 = *(uint *)(iVar16 + 0x28);\n      if ((uVar6 & 0xe000) == 0) {\n        if ((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)) {\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    \n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    \n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    \n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }\n      }\n      else if (((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)) {\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }\n    }\n    uVar17 = uVar17 + 1;\n    puVar19 = puVar19 + 3;\n  } while (param_5 != uVar17);" do (compound_statement "{\n    if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n      uVar6 = puVar19[1];\n      pppiVar7 = (int ***)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8);\n    }\n    else {\n      pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n    }\n    if (pppiVar5 <= pppiVar7) {\n      uVar6 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n      if (pppiVar7 < *(int ****)(this + 0xb8)) {\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        return;\n      }\n      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar6) {\n                    \n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n        return;\n      }\n      iVar16 = *(int *)(*(int *)(this + 0xc4) + uVar6 * 4);\n      if (iVar16 == 0) goto LAB_00288064;\n      if (*(int *)(iVar16 + 0x28) << 0x14 < 0) {\n        iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1);\n      }\n      uVar6 = *(uint *)(iVar16 + 0x28);\n      if ((uVar6 & 0xe000) == 0) {\n        if ((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)) {\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    \n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    \n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    \n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }\n      }\n      else if (((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)) {\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }\n    }\n    uVar17 = uVar17 + 1;\n    puVar19 = puVar19 + 3;\n  }" { (if_statement "if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n      uVar6 = puVar19[1];\n      pppiVar7 = (int ***)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8);\n    }\n    else {\n      pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n    }" if (parenthesized_expression "(*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3)" ( (binary_expression "*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3" (pointer_expression "*(code **)(*(int *)param_9 + 0xf8)" * (cast_expression "(code **)(*(int *)param_9 + 0xf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)param_9 + 0xf8)" ( (binary_expression "*(int *)param_9 + 0xf8" (pointer_expression "*(int *)param_9" * (cast_expression "(int *)param_9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == (cast_expression "(code *)puVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      uVar6 = puVar19[1];\n      pppiVar7 = (int ***)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8);\n    }" { (expression_statement "uVar6 = puVar19[1];" (assignment_expression "uVar6 = puVar19[1]" identifier = (subscript_expression "puVar19[1]" identifier [ number_literal ])) ;) (expression_statement "pppiVar7 = (int ***)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8);" (assignment_expression "pppiVar7 = (int ***)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8)" identifier = (cast_expression "(int ***)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8)" ( (binary_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8" (binary_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10)" ( (binary_expression "(uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10" (binary_expression "(uVar6 >> 0x10) << 0x18" (parenthesized_expression "(uVar6 >> 0x10)" ( (binary_expression "uVar6 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar6 >> 0x18) << 0x10" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff)" ( (binary_expression "(uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff" (binary_expression "(uVar6 & 0xff) << 8" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) >> number_literal) )))) ;) }) (else_clause "else {\n      pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n    }" else (compound_statement "{\n      pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n    }" { (expression_statement "pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);" (assignment_expression "pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19)" identifier = (cast_expression "(int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19)" (parenthesized_expression "(**(code **)(*(int *)param_9 + 0xf8))" ( (pointer_expression "**(code **)(*(int *)param_9 + 0xf8)" * (pointer_expression "*(code **)(*(int *)param_9 + 0xf8)" * (cast_expression "(code **)(*(int *)param_9 + 0xf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)param_9 + 0xf8)" ( (binary_expression "*(int *)param_9 + 0xf8" (pointer_expression "*(int *)param_9" * (cast_expression "(int *)param_9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(param_9,puVar19)" ( identifier , identifier ))))) ;) }))) (if_statement "if (pppiVar5 <= pppiVar7) {\n      uVar6 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n      if (pppiVar7 < *(int ****)(this + 0xb8)) {\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        return;\n      }\n      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar6) {\n                    \n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n        return;\n      }\n      iVar16 = *(int *)(*(int *)(this + 0xc4) + uVar6 * 4);\n      if (iVar16 == 0) goto LAB_00288064;\n      if (*(int *)(iVar16 + 0x28) << 0x14 < 0) {\n        iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1);\n      }\n      uVar6 = *(uint *)(iVar16 + 0x28);\n      if ((uVar6 & 0xe000) == 0) {\n        if ((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)) {\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    \n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    \n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    \n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }\n      }\n      else if (((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)) {\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }\n    }" if (parenthesized_expression "(pppiVar5 <= pppiVar7)" ( (binary_expression "pppiVar5 <= pppiVar7" identifier <= identifier) )) (compound_statement "{\n      uVar6 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n      if (pppiVar7 < *(int ****)(this + 0xb8)) {\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        return;\n      }\n      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar6) {\n                    \n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n        return;\n      }\n      iVar16 = *(int *)(*(int *)(this + 0xc4) + uVar6 * 4);\n      if (iVar16 == 0) goto LAB_00288064;\n      if (*(int *)(iVar16 + 0x28) << 0x14 < 0) {\n        iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1);\n      }\n      uVar6 = *(uint *)(iVar16 + 0x28);\n      if ((uVar6 & 0xe000) == 0) {\n        if ((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)) {\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    \n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    \n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    \n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }\n      }\n      else if (((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)) {\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }\n    }" { (expression_statement "uVar6 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);" (assignment_expression "uVar6 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8)" identifier = (binary_expression "(int)pppiVar7 - (int)*(int ****)(this + 0xb8)" (cast_expression "(int)pppiVar7" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)*(int ****)(this + 0xb8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(int ****)(this + 0xb8)" * (cast_expression "(int ****)(this + 0xb8)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(this + 0xb8)" ( (binary_expression "this + 0xb8" identifier + number_literal) ))))))) ;) (if_statement "if (pppiVar7 < *(int ****)(this + 0xb8)) {\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        return;\n      }" if (parenthesized_expression "(pppiVar7 < *(int ****)(this + 0xb8))" ( (binary_expression "pppiVar7 < *(int ****)(this + 0xb8)" identifier < (pointer_expression "*(int ****)(this + 0xb8)" * (cast_expression "(int ****)(this + 0xb8)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(this + 0xb8)" ( (binary_expression "this + 0xb8" identifier + number_literal) ))))) )) (compound_statement "{\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        return;\n      }" { (labeled_statement "LAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614)" ( (binary_expression "PTR_s_in_a_linker_script_004c191c + -0xe14" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x614" identifier + number_literal) ))) ;)) (return_statement "return;" return ;) })) (if_statement "if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar6) {\n                    \n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n        return;\n      }" if (parenthesized_expression "((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar6)" ( (binary_expression "(uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar6" (call_expression "(uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2)" ( (binary_expression "*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2" (binary_expression "*(int *)(this + 200) - *(int *)(this + 0xc4)" (pointer_expression "*(int *)(this + 200)" * (cast_expression "(int *)(this + 200)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 200)" ( (binary_expression "this + 200" identifier + number_literal) )))) - (pointer_expression "*(int *)(this + 0xc4)" * (cast_expression "(int *)(this + 0xc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc4)" ( (binary_expression "this + 0xc4" identifier + number_literal) ))))) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    \n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n        return;\n      }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x5f8" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar16 = *(int *)(*(int *)(this + 0xc4) + uVar6 * 4);" (assignment_expression "iVar16 = *(int *)(*(int *)(this + 0xc4) + uVar6 * 4)" identifier = (pointer_expression "*(int *)(*(int *)(this + 0xc4) + uVar6 * 4)" * (cast_expression "(int *)(*(int *)(this + 0xc4) + uVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(this + 0xc4) + uVar6 * 4)" ( (binary_expression "*(int *)(this + 0xc4) + uVar6 * 4" (pointer_expression "*(int *)(this + 0xc4)" * (cast_expression "(int *)(this + 0xc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc4)" ( (binary_expression "this + 0xc4" identifier + number_literal) )))) + (binary_expression "uVar6 * 4" identifier * number_literal)) ))))) ;) (if_statement "if (iVar16 == 0) goto LAB_00288064;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00288064;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar16 + 0x28) << 0x14 < 0) {\n        iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1);\n      }" if (parenthesized_expression "(*(int *)(iVar16 + 0x28) << 0x14 < 0)" ( (binary_expression "*(int *)(iVar16 + 0x28) << 0x14 < 0" (binary_expression "*(int *)(iVar16 + 0x28) << 0x14" (pointer_expression "*(int *)(iVar16 + 0x28)" * (cast_expression "(int *)(iVar16 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x28)" ( (binary_expression "iVar16 + 0x28" identifier + number_literal) )))) << number_literal) < number_literal) )) (compound_statement "{\n        iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1);\n      }" { (expression_statement "iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1);" (assignment_expression "iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1)" identifier = (call_expression "(*(code *)PTR_resolve_forwards_004c1bc8)(param_1)" (parenthesized_expression "(*(code *)PTR_resolve_forwards_004c1bc8)" ( (pointer_expression "*(code *)PTR_resolve_forwards_004c1bc8" * (cast_expression "(code *)PTR_resolve_forwards_004c1bc8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier )))) ;) })) (expression_statement "uVar6 = *(uint *)(iVar16 + 0x28);" (assignment_expression "uVar6 = *(uint *)(iVar16 + 0x28)" identifier = (pointer_expression "*(uint *)(iVar16 + 0x28)" * (cast_expression "(uint *)(iVar16 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x28)" ( (binary_expression "iVar16 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if ((uVar6 & 0xe000) == 0) {\n        if ((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)) {\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    \n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    \n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    \n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }\n      }\n      else if (((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)) {\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }" if (parenthesized_expression "((uVar6 & 0xe000) == 0)" ( (binary_expression "(uVar6 & 0xe000) == 0" (parenthesized_expression "(uVar6 & 0xe000)" ( (binary_expression "uVar6 & 0xe000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if ((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)) {\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    \n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    \n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    \n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }\n      }" { (if_statement "if ((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)) {\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    \n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    \n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    \n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }" if (parenthesized_expression "((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2))" ( (binary_expression "(((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)" (parenthesized_expression "(((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0))" ( (binary_expression "((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)" (parenthesized_expression "((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d)))" ( (binary_expression "(*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))" (parenthesized_expression "(*(int *)(iVar16 + 0xc) != 0)" ( (binary_expression "*(int *)(iVar16 + 0xc) != 0" (pointer_expression "*(int *)(iVar16 + 0xc)" * (cast_expression "(int *)(iVar16 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xc)" ( (binary_expression "iVar16 + 0xc" identifier + number_literal) )))) != number_literal) )) || (parenthesized_expression "(-1 < (int)(uVar6 << 0x1d))" ( (binary_expression "-1 < (int)(uVar6 << 0x1d)" number_literal < (cast_expression "(int)(uVar6 << 0x1d)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar6 << 0x1d)" ( (binary_expression "uVar6 << 0x1d" identifier << number_literal) )))) ))) )) && (parenthesized_expression "((uVar6 << 0x10) >> 0x1d == 0)" ( (binary_expression "(uVar6 << 0x10) >> 0x1d == 0" (binary_expression "(uVar6 << 0x10) >> 0x1d" (parenthesized_expression "(uVar6 << 0x10)" ( (binary_expression "uVar6 << 0x10" identifier << number_literal) )) >> number_literal) == number_literal) ))) )) && (parenthesized_expression "(-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)" ( (binary_expression "-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2" number_literal < (binary_expression "*(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2" (pointer_expression "*(int *)(*(int *)(iVar16 + 8) + 0x2c)" * (cast_expression "(int *)(*(int *)(iVar16 + 8) + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar16 + 8) + 0x2c)" ( (binary_expression "*(int *)(iVar16 + 8) + 0x2c" (pointer_expression "*(int *)(iVar16 + 8)" * (cast_expression "(int *)(iVar16 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 8)" ( (binary_expression "iVar16 + 8" identifier + number_literal) )))) + number_literal) )))) << number_literal)) ))) )) (compound_statement "{\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    \n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    \n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    \n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }" { (expression_statement "piVar14 = *(int **)(*(int *)puVar2 + 0xc);" (assignment_expression "piVar14 = *(int **)(*(int *)puVar2 + 0xc)" identifier = (pointer_expression "*(int **)(*(int *)puVar2 + 0xc)" * (cast_expression "(int **)(*(int *)puVar2 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)puVar2 + 0xc)" ( (binary_expression "*(int *)puVar2 + 0xc" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (if_statement "if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    \n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }" if (parenthesized_expression "(piVar14 == (int *)0x0)" ( (binary_expression "piVar14 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_002880fc:\n                    \n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }" { (labeled_statement "LAB_002880fc:\n                    \n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x5e8" identifier + number_literal) ))) ;)) (return_statement "return;" return ;) })) (expression_statement "iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);" (assignment_expression "iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7)" identifier = (call_expression "(**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7)" (parenthesized_expression "(**(code **)(*piVar14 + 0x54))" ( (pointer_expression "**(code **)(*piVar14 + 0x54)" * (pointer_expression "*(code **)(*piVar14 + 0x54)" * (cast_expression "(code **)(*piVar14 + 0x54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x54)" ( (binary_expression "*piVar14 + 0x54" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14,iVar16,puVar19,param_6,param_7)" ( identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    \n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }" if (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) (compound_statement "{\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    \n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }" { (expression_statement "uVar6 = *puVar19;" (assignment_expression "uVar6 = *puVar19" identifier = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);" (assignment_expression "local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000)" identifier = (cast_expression "(int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000)" ( (binary_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10)" ( (binary_expression "(uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10" (binary_expression "(uVar6 >> 0x10) << 0x18" (parenthesized_expression "(uVar6 >> 0x10)" ( (binary_expression "uVar6 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar6 >> 0x18) << 0x10" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff)" ( (binary_expression "(uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff" (binary_expression "(uVar6 & 0xff) << 8" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) )))) ;) (if_statement "if (local_64 == local_60) {\n                    \n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }" if (parenthesized_expression "(local_64 == local_60)" ( (binary_expression "local_64 == local_60" identifier == identifier) )) (compound_statement "{\n                    \n              (*local_50)(local_58,local_64,local_54);\n            }" { (expression_statement "(*local_50)(local_58,local_64,local_54);" (call_expression "(*local_50)(local_58,local_64,local_54)" (parenthesized_expression "(*local_50)" ( (pointer_expression "*local_50" * identifier) )) (argument_list "(local_58,local_64,local_54)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }" else (compound_statement "{\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }" { (expression_statement "*local_64 = (int)local_c8;" (assignment_expression "*local_64 = (int)local_c8" (pointer_expression "*local_64" * identifier) = (cast_expression "(int)local_c8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_64 = local_64 + 1;" (assignment_expression "local_64 = local_64 + 1" identifier = (binary_expression "local_64 + 1" identifier + number_literal)) ;) }))) })) })) }) (else_clause "else if (((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)) {\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }" else (if_statement "if (((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)) {\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }" if (parenthesized_expression "(((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0))" ( (binary_expression "((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)" (parenthesized_expression "((uVar6 & 0xe000) != 0x8000)" ( (binary_expression "(uVar6 & 0xe000) != 0x8000" (parenthesized_expression "(uVar6 & 0xe000)" ( (binary_expression "uVar6 & 0xe000" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((uVar6 << 0x10) >> 0x1d == 0)" ( (binary_expression "(uVar6 << 0x10) >> 0x1d == 0" (binary_expression "(uVar6 << 0x10) >> 0x1d" (parenthesized_expression "(uVar6 << 0x10)" ( (binary_expression "uVar6 << 0x10" identifier << number_literal) )) >> number_literal) == number_literal) ))) )) (compound_statement "{\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x5d0" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })))) })) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" identifier = (binary_expression "uVar17 + 1" identifier + number_literal)) ;) (expression_statement "puVar19 = puVar19 + 3;" (assignment_expression "puVar19 = puVar19 + 3" identifier = (binary_expression "puVar19 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(param_5 != uVar17)" ( (binary_expression "param_5 != uVar17" identifier != identifier) )) ;) (if_statement "if (local_64 == local_68) goto LAB_00287b40;" if (parenthesized_expression "(local_64 == local_68)" ( (binary_expression "local_64 == local_68" identifier == identifier) )) (goto_statement "goto LAB_00287b40;" goto statement_identifier ;)) (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" identifier = number_literal) ;) (expression_statement "local_78 = (_Rb_tree_node *)0x0;" (assignment_expression "local_78 = (_Rb_tree_node *)0x0" identifier = (cast_expression "(_Rb_tree_node *)0x0" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" identifier = number_literal) ;) (expression_statement "local_74 = (_Rb_tree_node *)&local_7c;" (assignment_expression "local_74 = (_Rb_tree_node *)&local_7c" identifier = (cast_expression "(_Rb_tree_node *)&local_7c" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_7c" & identifier))) ;) (expression_statement "local_70 = (_Rb_tree_node *)&local_7c;" (assignment_expression "local_70 = (_Rb_tree_node *)&local_7c" identifier = (cast_expression "(_Rb_tree_node *)&local_7c" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_7c" & identifier))) ;) (expression_statement "local_38 = (_Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n              *)local_80;\n  find_functions(this,param_2,param_3,local_80);" (assignment_expression "local_38 = (_Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n              *)local_80;\n  find_functions(this,param_2,param_3,local_80)" identifier = (parenthesized_expression "(_Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n              *)local_80;\n  find_functions(this,param_2,param_3,local_80)" ( (ERROR "_Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n              *)local_80;" (comma_expression "_Rb_tree<int,std" (binary_expression "_Rb_tree<int" identifier < identifier) , identifier) : : (comma_expression "pair<int_const,unsigned_int>,std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>,std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<int_const,unsigned_int>>,std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>>,std" identifier >> (ERROR "," ,) identifier)) : : (binary_expression "less<int>,std" (binary_expression "less<int" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "pair<int_const,unsigned_int>>>\n              *)local_80" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>>>\n              *)local_80" identifier >> (ERROR ">" >) (pointer_expression "*)local_80" * (ERROR ")" )) identifier))) ;) (call_expression "find_functions(this,param_2,param_3,local_80)" identifier (argument_list "(this,param_2,param_3,local_80)" ( identifier , identifier , identifier , identifier ))) ))) ;) (if_statement "if (local_6c != 0) {\n    local_8c = &local_94;\n    local_4c = local_8c;\n    local_94 = 0;\n    local_90 = (_Rb_tree_node *)0x0;\n    local_84 = 0;\n    local_88 = local_8c;\n    if (local_68 != local_64) {\n      local_54 = pppiVar5;\n      local_58 = (int **)PTR__M_insert_unique<std_pair<int_const,unsigned_int>const&>_004c45ec;\n      piVar14 = local_64;\n      piVar18 = local_68;\n      do {\n        if (local_78 == (_Rb_tree_node *)0x0) {\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    \n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }\n        else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }\n        pppiVar5 = local_54;\n        piVar18 = piVar18 + 1;\n      } while (piVar14 != piVar18);\n      if (local_84 != 0) {\n        if (local_8c != local_4c) {\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    \n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    \n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);\n        goto LAB_00287b2c;\n      }\n    }\n    std::\n    _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n    ::_M_erase(a_Stack_98,local_90);\n  }" if (parenthesized_expression "(local_6c != 0)" ( (binary_expression "local_6c != 0" identifier != number_literal) )) (compound_statement "{\n    local_8c = &local_94;\n    local_4c = local_8c;\n    local_94 = 0;\n    local_90 = (_Rb_tree_node *)0x0;\n    local_84 = 0;\n    local_88 = local_8c;\n    if (local_68 != local_64) {\n      local_54 = pppiVar5;\n      local_58 = (int **)PTR__M_insert_unique<std_pair<int_const,unsigned_int>const&>_004c45ec;\n      piVar14 = local_64;\n      piVar18 = local_68;\n      do {\n        if (local_78 == (_Rb_tree_node *)0x0) {\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    \n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }\n        else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }\n        pppiVar5 = local_54;\n        piVar18 = piVar18 + 1;\n      } while (piVar14 != piVar18);\n      if (local_84 != 0) {\n        if (local_8c != local_4c) {\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    \n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    \n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);\n        goto LAB_00287b2c;\n      }\n    }\n    std::\n    _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n    ::_M_erase(a_Stack_98,local_90);\n  }" { (expression_statement "local_8c = &local_94;" (assignment_expression "local_8c = &local_94" identifier = (pointer_expression "&local_94" & identifier)) ;) (expression_statement "local_4c = local_8c;" (assignment_expression "local_4c = local_8c" identifier = identifier) ;) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_90 = (_Rb_tree_node *)0x0;" (assignment_expression "local_90 = (_Rb_tree_node *)0x0" identifier = (cast_expression "(_Rb_tree_node *)0x0" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) (expression_statement "local_88 = local_8c;" (assignment_expression "local_88 = local_8c" identifier = identifier) ;) (if_statement "if (local_68 != local_64) {\n      local_54 = pppiVar5;\n      local_58 = (int **)PTR__M_insert_unique<std_pair<int_const,unsigned_int>const&>_004c45ec;\n      piVar14 = local_64;\n      piVar18 = local_68;\n      do {\n        if (local_78 == (_Rb_tree_node *)0x0) {\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    \n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }\n        else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }\n        pppiVar5 = local_54;\n        piVar18 = piVar18 + 1;\n      } while (piVar14 != piVar18);\n      if (local_84 != 0) {\n        if (local_8c != local_4c) {\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    \n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    \n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);\n        goto LAB_00287b2c;\n      }\n    }" if (parenthesized_expression "(local_68 != local_64)" ( (binary_expression "local_68 != local_64" identifier != identifier) )) (compound_statement "{\n      local_54 = pppiVar5;\n      local_58 = (int **)PTR__M_insert_unique<std_pair<int_const,unsigned_int>const&>_004c45ec;\n      piVar14 = local_64;\n      piVar18 = local_68;\n      do {\n        if (local_78 == (_Rb_tree_node *)0x0) {\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    \n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }\n        else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }\n        pppiVar5 = local_54;\n        piVar18 = piVar18 + 1;\n      } while (piVar14 != piVar18);\n      if (local_84 != 0) {\n        if (local_8c != local_4c) {\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    \n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    \n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);\n        goto LAB_00287b2c;\n      }\n    }" { (expression_statement "local_54 = pppiVar5;" (assignment_expression "local_54 = pppiVar5" identifier = identifier) ;) (expression_statement "local_58 = (int **)PTR__M_insert_unique<std_pair<int_const,unsigned_int>const&>_004c45ec;" (comma_expression "local_58 = (int **)PTR__M_insert_unique<std_pair<int_const,unsigned_int>const&>_004c45ec" (assignment_expression "local_58 = (int **)PTR__M_insert_unique<std_pair<int_const" identifier = (binary_expression "(int **)PTR__M_insert_unique<std_pair<int_const" (binary_expression "(int **)PTR__M_insert_unique<std_pair" (cast_expression "(int **)PTR__M_insert_unique" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) < identifier) < identifier)) , (binary_expression "unsigned_int>const&>_004c45ec" (binary_expression "unsigned_int>const" identifier > identifier) (ERROR "&" &) > identifier)) ;) (expression_statement "piVar14 = local_64;" (assignment_expression "piVar14 = local_64" identifier = identifier) ;) (expression_statement "piVar18 = local_68;" (assignment_expression "piVar18 = local_68" identifier = identifier) ;) (do_statement "do {\n        if (local_78 == (_Rb_tree_node *)0x0) {\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    \n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }\n        else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }\n        pppiVar5 = local_54;\n        piVar18 = piVar18 + 1;\n      } while (piVar14 != piVar18);" do (compound_statement "{\n        if (local_78 == (_Rb_tree_node *)0x0) {\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    \n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }\n        else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }\n        pppiVar5 = local_54;\n        piVar18 = piVar18 + 1;\n      }" { (if_statement "if (local_78 == (_Rb_tree_node *)0x0) {\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    \n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }\n        else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }" if (parenthesized_expression "(local_78 == (_Rb_tree_node *)0x0)" ( (binary_expression "local_78 == (_Rb_tree_node *)0x0" identifier == (cast_expression "(_Rb_tree_node *)0x0" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    \n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }" { (labeled_statement "LAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);" statement_identifier : (expression_statement "p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);" (assignment_expression "p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c)" identifier = (cast_expression "(_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c)" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c)" (parenthesized_expression "(*(code *)PTR__Rb_tree_decrement_004c45f0)" ( (pointer_expression "*(code *)PTR__Rb_tree_decrement_004c45f0" * (cast_expression "(code *)PTR__Rb_tree_decrement_004c45f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "((_Rb_tree_node *)&local_7c)" ( (cast_expression "(_Rb_tree_node *)&local_7c" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_7c" & identifier)) ))))) ;)) (labeled_statement "LAB_00287c78:\n                    \n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);" statement_identifier : (expression_statement "(*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);" (call_expression "(*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10)" (parenthesized_expression "(*(code *)local_58)" ( (pointer_expression "*(code *)local_58" * (cast_expression "(code *)local_58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_c8,a_Stack_98,p_Var9 + 0x10)" ( (pointer_expression "&local_c8" & identifier) , identifier , (binary_expression "p_Var9 + 0x10" identifier + number_literal) ))) ;)) (expression_statement "piVar14 = local_64;" (assignment_expression "piVar14 = local_64" identifier = identifier) ;) }) (else_clause "else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }" else (compound_statement "{\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }" { (expression_statement "p_Var8 = (_Rb_tree_node *)&local_7c;" (assignment_expression "p_Var8 = (_Rb_tree_node *)&local_7c" identifier = (cast_expression "(_Rb_tree_node *)&local_7c" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_7c" & identifier))) ;) (expression_statement "p_Var4 = local_78;" (assignment_expression "p_Var4 = local_78" identifier = identifier) ;) (do_statement "do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);" do (compound_statement "{\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          }" { (while_statement "while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }" while (parenthesized_expression "(p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18)" ( (comma_expression "p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18" (assignment_expression "p_Var9 = p_Var4" identifier = identifier) , (binary_expression "*(int *)(p_Var9 + 0x10) < *piVar18" (pointer_expression "*(int *)(p_Var9 + 0x10)" * (cast_expression "(int *)(p_Var9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var9 + 0x10)" ( (binary_expression "p_Var9 + 0x10" identifier + number_literal) )))) < (pointer_expression "*piVar18" * identifier))) )) (compound_statement "{\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }" { (expression_statement "p_Var1 = p_Var9 + 0xc;" (assignment_expression "p_Var1 = p_Var9 + 0xc" identifier = (binary_expression "p_Var9 + 0xc" identifier + number_literal)) ;) (expression_statement "p_Var9 = p_Var8;" (assignment_expression "p_Var9 = p_Var8" identifier = identifier) ;) (expression_statement "p_Var4 = *(_Rb_tree_node **)p_Var1;" (assignment_expression "p_Var4 = *(_Rb_tree_node **)p_Var1" identifier = (pointer_expression "*(_Rb_tree_node **)p_Var1" * (cast_expression "(_Rb_tree_node **)p_Var1" ( (type_descriptor "_Rb_tree_node **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;" if (parenthesized_expression "(*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0)" ( (binary_expression "*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0" (pointer_expression "*(_Rb_tree_node **)p_Var1" * (cast_expression "(_Rb_tree_node **)p_Var1" ( (type_descriptor "_Rb_tree_node **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) == (cast_expression "(_Rb_tree_node *)0x0" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00287c50;" goto statement_identifier ;)) })) (expression_statement "p_Var8 = p_Var9;" (assignment_expression "p_Var8 = p_Var9" identifier = identifier) ;) (expression_statement "p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);" (assignment_expression "p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8)" identifier = (pointer_expression "*(_Rb_tree_node **)(p_Var9 + 8)" * (cast_expression "(_Rb_tree_node **)(p_Var9 + 8)" ( (type_descriptor "_Rb_tree_node **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(p_Var9 + 8)" ( (binary_expression "p_Var9 + 8" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0)" ( (binary_expression "*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0" (pointer_expression "*(_Rb_tree_node **)(p_Var9 + 8)" * (cast_expression "(_Rb_tree_node **)(p_Var9 + 8)" ( (type_descriptor "_Rb_tree_node **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(p_Var9 + 8)" ( (binary_expression "p_Var9 + 8" identifier + number_literal) )))) != (cast_expression "(_Rb_tree_node *)0x0" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;" statement_identifier : (if_statement "if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;" if (parenthesized_expression "(p_Var9 == (_Rb_tree_node *)&local_7c)" ( (binary_expression "p_Var9 == (_Rb_tree_node *)&local_7c" identifier == (cast_expression "(_Rb_tree_node *)&local_7c" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&local_7c" & identifier))) )) (goto_statement "goto LAB_00287f40;" goto statement_identifier ;))) (if_statement "if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;" if (parenthesized_expression "(*(int *)(p_Var9 + 0x10) == *piVar18)" ( (binary_expression "*(int *)(p_Var9 + 0x10) == *piVar18" (pointer_expression "*(int *)(p_Var9 + 0x10)" * (cast_expression "(int *)(p_Var9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var9 + 0x10)" ( (binary_expression "p_Var9 + 0x10" identifier + number_literal) )))) == (pointer_expression "*piVar18" * identifier)) )) (goto_statement "goto LAB_00287c78;" goto statement_identifier ;)) (if_statement "if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }" if (parenthesized_expression "(local_74 != p_Var9)" ( (binary_expression "local_74 != p_Var9" identifier != identifier) )) (compound_statement "{\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }" { (expression_statement "p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);" (assignment_expression "p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9)" identifier = (cast_expression "(_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9)" ( (type_descriptor "_Rb_tree_node *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9)" (parenthesized_expression "(*(code *)PTR__Rb_tree_decrement_004c45f0)" ( (pointer_expression "*(code *)PTR__Rb_tree_decrement_004c45f0" * (cast_expression "(code *)PTR__Rb_tree_decrement_004c45f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(p_Var9)" ( identifier ))))) ;) (goto_statement "goto LAB_00287c78;" goto statement_identifier ;) })) }))) (expression_statement "pppiVar5 = local_54;" (assignment_expression "pppiVar5 = local_54" identifier = identifier) ;) (expression_statement "piVar18 = piVar18 + 1;" (assignment_expression "piVar18 = piVar18 + 1" identifier = (binary_expression "piVar18 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar14 != piVar18)" ( (binary_expression "piVar14 != piVar18" identifier != identifier) )) ;) (if_statement "if (local_84 != 0) {\n        if (local_8c != local_4c) {\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    \n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    \n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);\n        goto LAB_00287b2c;\n      }" if (parenthesized_expression "(local_84 != 0)" ( (binary_expression "local_84 != 0" identifier != number_literal) )) (compound_statement "{\n        if (local_8c != local_4c) {\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    \n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    \n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);\n        goto LAB_00287b2c;\n      }" { (if_statement "if (local_8c != local_4c) {\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    \n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    \n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }" if (parenthesized_expression "(local_8c != local_4c)" ( (binary_expression "local_8c != local_4c" identifier != identifier) )) (compound_statement "{\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    \n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    \n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }" { (expression_statement "local_58 = (int **)local_a8;" (assignment_expression "local_58 = (int **)local_a8" identifier = (cast_expression "(int **)local_a8" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);" (assignment_expression "piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" identifier = (pointer_expression "*(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (expression_statement "local_44 = (int *)PTR_parameters_004c19b4;" (assignment_expression "local_44 = (int *)PTR_parameters_004c19b4" identifier = (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    \n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }" if (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    \n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }" { (expression_statement "local_48 = &local_c8;" (assignment_expression "local_48 = &local_c8" identifier = (pointer_expression "&local_c8" & identifier)) ;) (expression_statement "local_54 = &local_b0;" (assignment_expression "local_54 = &local_b0" identifier = (pointer_expression "&local_b0" & identifier)) ;) (expression_statement "local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;" (assignment_expression "local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34" identifier = (binary_expression "PTR_s_in_a_linker_script_004c191c + -0xd34" identifier + number_literal)) ;) (expression_statement "local_34 = (uint)(uVar17 < 0x40000000);" (assignment_expression "local_34 = (uint)(uVar17 < 0x40000000)" identifier = (call_expression "(uint)(uVar17 < 0x40000000)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < 0x40000000)" ( (binary_expression "uVar17 < 0x40000000" identifier < number_literal) )))) ;) (expression_statement "puVar10 = local_8c;" (assignment_expression "puVar10 = local_8c" identifier = identifier) ;) (expression_statement "local_3c = uVar17 * 4;" (assignment_expression "local_3c = uVar17 * 4" identifier = (binary_expression "uVar17 * 4" identifier * number_literal)) ;) (do_statement "do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    \n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);" do (compound_statement "{\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    \n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            }" { (expression_statement "local_a8[0] = 0;" (assignment_expression "local_a8[0] = 0" (subscript_expression "local_a8[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" identifier = number_literal) ;) (expression_statement "local_c0[0] = 0;" (assignment_expression "local_c0[0] = 0" (subscript_expression "local_c0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" identifier = number_literal) ;) (expression_statement "local_c8 = (int **)local_c0;" (assignment_expression "local_c8 = (int **)local_c0" identifier = (cast_expression "(int **)local_c0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "local_b0 = local_58;" (assignment_expression "local_b0 = local_58" identifier = identifier) ;) (expression_statement "(**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);" (call_expression "(**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48)" (parenthesized_expression "(**(code **)(*piVar14 + 0x58))" ( (pointer_expression "**(code **)(*piVar14 + 0x58)" * (pointer_expression "*(code **)(*piVar14 + 0x58)" * (cast_expression "(code **)(*piVar14 + 0x58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x58)" ( (binary_expression "*piVar14 + 0x58" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48)" ( identifier , identifier , identifier , (subscript_expression "puVar10[4]" identifier [ number_literal ]) , (subscript_expression "puVar10[5]" identifier [ number_literal ]) , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (if_statement "if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }" if (parenthesized_expression "(local_ac != 0)" ( (binary_expression "local_ac != 0" identifier != number_literal) )) (compound_statement "{\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }" { (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (if_statement "if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }" if (parenthesized_expression "(local_c4 == 0)" ( (binary_expression "local_c4 == 0" identifier == number_literal) )) (compound_statement "{\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614)" ( (binary_expression "PTR_s_in_a_linker_script_004c191c + -0xe14" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x614" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "local_50 = (code *)0x0;" (assignment_expression "local_50 = (code *)0x0" identifier = (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar19 = (uint *)param_4;" (assignment_expression "puVar19 = (uint *)param_4" identifier = (cast_expression "(uint *)param_4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);" do (compound_statement "{\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                }" { (if_statement "if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }" if (parenthesized_expression "(*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3)" ( (binary_expression "*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3" (pointer_expression "*(code **)(*(int *)param_9 + 0xf8)" * (cast_expression "(code **)(*(int *)param_9 + 0xf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)param_9 + 0xf8)" ( (binary_expression "*(int *)param_9 + 0xf8" (pointer_expression "*(int *)param_9" * (cast_expression "(int *)param_9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) == (cast_expression "(code *)puVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }" { (expression_statement "uVar13 = puVar19[1];" (assignment_expression "uVar13 = puVar19[1]" identifier = (subscript_expression "puVar19[1]" identifier [ number_literal ])) ;) (expression_statement "pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);" (assignment_expression "pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8)" identifier = (cast_expression "(int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8)" ( (binary_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8" (binary_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000" (parenthesized_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10)" ( (binary_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10" (parenthesized_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10)" ( (binary_expression "(uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10" (binary_expression "(uVar13 >> 0x10) << 0x18" (parenthesized_expression "(uVar13 >> 0x10)" ( (binary_expression "uVar13 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar13 >> 0x18) << 0x10" (parenthesized_expression "(uVar13 >> 0x18)" ( (binary_expression "uVar13 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000" (parenthesized_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff)" ( (binary_expression "(uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff" (binary_expression "(uVar13 & 0xff) << 8" (parenthesized_expression "(uVar13 & 0xff)" ( (binary_expression "uVar13 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar13 >> 8 & 0xff" (binary_expression "uVar13 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) >> number_literal) )))) ;) }) (else_clause "else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }" else (compound_statement "{\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }" { (expression_statement "pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);" (assignment_expression "pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19)" identifier = (cast_expression "(int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19)" ( (type_descriptor "int ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (call_expression "(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19)" (parenthesized_expression "(**(code **)(*(int *)param_9 + 0xf8))" ( (pointer_expression "**(code **)(*(int *)param_9 + 0xf8)" * (pointer_expression "*(code **)(*(int *)param_9 + 0xf8)" * (cast_expression "(code **)(*(int *)param_9 + 0xf8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)param_9 + 0xf8)" ( (binary_expression "*(int *)param_9 + 0xf8" (pointer_expression "*(int *)param_9" * (cast_expression "(int *)param_9" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(param_9,puVar19)" ( identifier , identifier ))))) ;) }))) (if_statement "if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }" if (parenthesized_expression "(pppiVar5 <= pppiVar7)" ( (binary_expression "pppiVar5 <= pppiVar7" identifier <= identifier) )) (compound_statement "{\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }" { (expression_statement "uVar13 = *puVar19;" (assignment_expression "uVar13 = *puVar19" identifier = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10)" ( (binary_expression "(uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10" (binary_expression "(uVar13 >> 0x10) << 0x18" (parenthesized_expression "(uVar13 >> 0x10)" ( (binary_expression "uVar13 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar13 >> 0x18) << 0x10" (parenthesized_expression "(uVar13 >> 0x18)" ( (binary_expression "uVar13 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff)" ( (binary_expression "(uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff" (binary_expression "(uVar13 & 0xff) << 8" (parenthesized_expression "(uVar13 & 0xff)" ( (binary_expression "uVar13 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar13 >> 8 & 0xff" (binary_expression "uVar13 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }" if (parenthesized_expression "(((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5])))" ( (binary_expression "((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))" (parenthesized_expression "((int)puVar10[4] <= iVar16)" ( (binary_expression "(int)puVar10[4] <= iVar16" (cast_expression "(int)puVar10[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "puVar10[4]" identifier [ number_literal ])) <= identifier) )) && (parenthesized_expression "(iVar16 < (int)(puVar10[4] + puVar10[5]))" ( (binary_expression "iVar16 < (int)(puVar10[4] + puVar10[5])" identifier < (cast_expression "(int)(puVar10[4] + puVar10[5])" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar10[4] + puVar10[5])" ( (binary_expression "puVar10[4] + puVar10[5]" (subscript_expression "puVar10[4]" identifier [ number_literal ]) + (subscript_expression "puVar10[5]" identifier [ number_literal ])) )))) ))) )) (compound_statement "{\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }" { (expression_statement "uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);" (assignment_expression "uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8)" identifier = (binary_expression "(int)pppiVar7 - (int)*(int ****)(this + 0xb8)" (cast_expression "(int)pppiVar7" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)*(int ****)(this + 0xb8)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(int ****)(this + 0xb8)" * (cast_expression "(int ****)(this + 0xb8)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(this + 0xb8)" ( (binary_expression "this + 0xb8" identifier + number_literal) ))))))) ;) (if_statement "if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }" if (parenthesized_expression "(pppiVar7 < *(int ****)(this + 0xb8))" ( (binary_expression "pppiVar7 < *(int ****)(this + 0xb8)" identifier < (pointer_expression "*(int ****)(this + 0xb8)" * (cast_expression "(int ****)(this + 0xb8)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(this + 0xb8)" ( (binary_expression "this + 0xb8" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }" { (expression_statement "pcVar20 = (code *)trap(0);" (assignment_expression "pcVar20 = (code *)trap(0)" identifier = (cast_expression "(code *)trap(0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "trap(0)" identifier (argument_list "(0)" ( number_literal ))))) ;) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "()" ( ))) ;) })) (if_statement "if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }" if (parenthesized_expression "((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13)" ( (binary_expression "(uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13" (call_expression "(uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2)" ( (binary_expression "*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2" (binary_expression "*(int *)(this + 200) - *(int *)(this + 0xc4)" (pointer_expression "*(int *)(this + 200)" * (cast_expression "(int *)(this + 200)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 200)" ( (binary_expression "this + 200" identifier + number_literal) )))) - (pointer_expression "*(int *)(this + 0xc4)" * (cast_expression "(int *)(this + 0xc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc4)" ( (binary_expression "this + 0xc4" identifier + number_literal) ))))) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x5f8" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));" (assignment_expression "iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4))" identifier = (call_expression "(*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4))" (parenthesized_expression "(*(code *)PTR_compare_004c27e8)" ( (pointer_expression "*(code *)PTR_compare_004c27e8" * (cast_expression "(code *)PTR_compare_004c27e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4))" ( identifier , (pointer_expression "**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4)" * (pointer_expression "*(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4)" * (cast_expression "(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(this + 0xc4) + uVar13 * 4)" ( (binary_expression "*(int *)(this + 0xc4) + uVar13 * 4" (pointer_expression "*(int *)(this + 0xc4)" * (cast_expression "(int *)(this + 0xc4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0xc4)" ( (binary_expression "this + 0xc4" identifier + number_literal) )))) + (binary_expression "uVar13 * 4" identifier * number_literal)) ))))) )))) ;) (if_statement "if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (compound_statement "{\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }" { (if_statement "if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }" if (parenthesized_expression "((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0))" ( (binary_expression "(local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)" (parenthesized_expression "(local_50 == (code *)0x0)" ( (binary_expression "local_50 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)" ( (comma_expression "local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0" (assignment_expression "local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0)" identifier = (cast_expression "(code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0)" (parenthesized_expression "(*(code *)PTR_lookup_004c1e40)" ( (pointer_expression "*(code *)PTR_lookup_004c1e40" * (cast_expression "(code *)PTR_lookup_004c1e40" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,local_c8,0)" ( identifier , identifier , number_literal ))))) , (binary_expression "local_50 == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }" { (expression_statement "uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);" (assignment_expression "uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30)" identifier = (call_expression "(*(code *)PTR_gettext_004c5c30)(local_30)" (parenthesized_expression "(*(code *)PTR_gettext_004c5c30)" ( (pointer_expression "*(code *)PTR_gettext_004c5c30" * (cast_expression "(code *)PTR_gettext_004c5c30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_30)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);" (call_expression "(*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8)" (parenthesized_expression "(*(code *)PTR_error_004c1a54)" ( (pointer_expression "*(code *)PTR_error_004c1a54" * (cast_expression "(code *)PTR_error_004c1a54" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(this,uVar12,local_b0,local_c8)" ( identifier , identifier , identifier , identifier ))) ;) (break_statement "break;" break ;) })) (if_statement "if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }" if (parenthesized_expression "(*param_8 == (Reloc_symbol_changes *)0x0)" ( (binary_expression "*param_8 == (Reloc_symbol_changes *)0x0" (pointer_expression "*param_8" * identifier) == (cast_expression "(Reloc_symbol_changes *)0x0" ( (type_descriptor "Reloc_symbol_changes *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }" { (expression_statement "local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);" (assignment_expression "local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc)" identifier = (cast_expression "(Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc)" ( (type_descriptor "Reloc_symbol_changes *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new_004c13a8)(0xc)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" ( (pointer_expression "*(code *)PTR_operator_new_004c13a8" * (cast_expression "(code *)PTR_operator_new_004c13a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0xc)" ( number_literal ))))) ;) (expression_statement "*(undefined4 *)local_40 = 0;" (assignment_expression "*(undefined4 *)local_40 = 0" (pointer_expression "*(undefined4 *)local_40" * (cast_expression "(undefined4 *)local_40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined4 *)(local_40 + 4) = 0;" (assignment_expression "*(undefined4 *)(local_40 + 4) = 0" (pointer_expression "*(undefined4 *)(local_40 + 4)" * (cast_expression "(undefined4 *)(local_40 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 4)" ( (binary_expression "local_40 + 4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(local_40 + 8) = 0;" (assignment_expression "*(undefined4 *)(local_40 + 8) = 0" (pointer_expression "*(undefined4 *)(local_40 + 8)" * (cast_expression "(undefined4 *)(local_40 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 8)" ( (binary_expression "local_40 + 8" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }" if (parenthesized_expression "(local_34 == 0)" ( (binary_expression "local_34 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }" { (expression_statement "(*(code *)PTR___throw_bad_alloc_004c1ac0)();" (call_expression "(*(code *)PTR___throw_bad_alloc_004c1ac0)()" (parenthesized_expression "(*(code *)PTR___throw_bad_alloc_004c1ac0)" ( (pointer_expression "*(code *)PTR___throw_bad_alloc_004c1ac0" * (cast_expression "(code *)PTR___throw_bad_alloc_004c1ac0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002880fc;" goto statement_identifier ;) })) (expression_statement "puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);" (assignment_expression "puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_operator_new_004c13a8)(local_3c)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" ( (pointer_expression "*(code *)PTR_operator_new_004c13a8" * (cast_expression "(code *)PTR_operator_new_004c13a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_3c)" ( identifier ))))) ;) (expression_statement "*(undefined4 **)local_40 = puVar11;" (assignment_expression "*(undefined4 **)local_40 = puVar11" (pointer_expression "*(undefined4 **)local_40" * (cast_expression "(undefined4 **)local_40" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(int *)(local_40 + 8) = (int)puVar11 + local_3c;" (assignment_expression "*(int *)(local_40 + 8) = (int)puVar11 + local_3c" (pointer_expression "*(int *)(local_40 + 8)" * (cast_expression "(int *)(local_40 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 8)" ( (binary_expression "local_40 + 8" identifier + number_literal) )))) = (binary_expression "(int)puVar11 + local_3c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "uVar13 = uVar17;" (assignment_expression "uVar13 = uVar17" identifier = identifier) ;) (expression_statement "puVar15 = puVar11;" (assignment_expression "puVar15 = puVar11" identifier = identifier) ;) (do_statement "do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);" do (compound_statement "{\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          }" { (expression_statement "uVar13 = uVar13 - 1;" (assignment_expression "uVar13 = uVar13 - 1" identifier = (binary_expression "uVar13 - 1" identifier - number_literal)) ;) (expression_statement "*puVar15 = 0;" (assignment_expression "*puVar15 = 0" (pointer_expression "*puVar15" * identifier) = number_literal) ;) (expression_statement "puVar15 = puVar15 + 1;" (assignment_expression "puVar15 = puVar15 + 1" identifier = (binary_expression "puVar15 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) )) ;) (expression_statement "*(int *)(local_40 + 4) = (int)puVar11 + local_3c;" (assignment_expression "*(int *)(local_40 + 4) = (int)puVar11 + local_3c" (pointer_expression "*(int *)(local_40 + 4)" * (cast_expression "(int *)(local_40 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_40 + 4)" ( (binary_expression "local_40 + 4" identifier + number_literal) )))) = (binary_expression "(int)puVar11 + local_3c" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "*param_8 = local_40;" (assignment_expression "*param_8 = local_40" (pointer_expression "*param_8" * identifier) = identifier) ;) }) (else_clause "else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }" else (compound_statement "{\n                          puVar11 = *(undefined4 **)*param_8;\n                        }" { (expression_statement "puVar11 = *(undefined4 **)*param_8;" (assignment_expression "puVar11 = *(undefined4 **)*param_8" identifier = (pointer_expression "*(undefined4 **)*param_8" * (cast_expression "(undefined4 **)*param_8" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*param_8" * identifier)))) ;) }))) (expression_statement "puVar11[uVar6] = local_50;" (assignment_expression "puVar11[uVar6] = local_50" (subscript_expression "puVar11[uVar6]" identifier [ identifier ]) = identifier) ;) })) })) })) (expression_statement "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "puVar19 = puVar19 + 3;" (assignment_expression "puVar19 = puVar19 + 3" identifier = (binary_expression "puVar19 + 3" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar6 < uVar17)" ( (binary_expression "uVar6 < uVar17" identifier < identifier) )) ;) })) (if_statement "if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }" if (parenthesized_expression "(local_c8 != (int **)local_c0)" ( (binary_expression "local_c8 != (int **)local_c0" identifier != (cast_expression "(int **)local_c0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) )) (compound_statement "{\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (if_statement "if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }" if (parenthesized_expression "(local_b0 != local_58)" ( (binary_expression "local_b0 != local_58" identifier != identifier) )) (compound_statement "{\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) (expression_statement "puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);" (assignment_expression "puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10)" identifier = (cast_expression "(undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10)" (parenthesized_expression "(*(code *)PTR__Rb_tree_increment_004c1e5c)" ( (pointer_expression "*(code *)PTR__Rb_tree_increment_004c1e5c" * (cast_expression "(code *)PTR__Rb_tree_increment_004c1e5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar10)" ( identifier ))))) ;) (if_statement "if (puVar10 == local_4c) goto LAB_00288010;" if (parenthesized_expression "(puVar10 == local_4c)" ( (binary_expression "puVar10 == local_4c" identifier == identifier) )) (goto_statement "goto LAB_00288010;" goto statement_identifier ;)) (expression_statement "piVar14 = *(int **)(*local_44 + 0xc);" (assignment_expression "piVar14 = *(int **)(*local_44 + 0xc)" identifier = (pointer_expression "*(int **)(*local_44 + 0xc)" * (cast_expression "(int **)(*local_44 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*local_44 + 0xc)" ( (binary_expression "*local_44 + 0xc" (pointer_expression "*local_44" * identifier) + number_literal) ))))) ;) }) while (parenthesized_expression "(piVar14 != (int *)0x0)" ( (binary_expression "piVar14 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "local_a8[0] = 0;" (assignment_expression "local_a8[0] = 0" (subscript_expression "local_a8[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" identifier = number_literal) ;) (expression_statement "local_c0[0] = 0;" (assignment_expression "local_c0[0] = 0" (subscript_expression "local_c0[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" identifier = number_literal) ;) (expression_statement "local_c8 = (int **)local_c0;" (assignment_expression "local_c8 = (int **)local_c0" identifier = (cast_expression "(int **)local_c0" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "local_b0 = local_58;" (assignment_expression "local_b0 = local_58" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x5e8" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (labeled_statement "LAB_00288010:\n        std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);" statement_identifier : (ERROR "std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::" (comma_expression "std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std" identifier (ERROR "::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>" : : (comma_expression "_Rb_tree<int,std" (binary_expression "_Rb_tree<int" identifier < identifier) , identifier) : : (comma_expression "pair<int_const,unsigned_int>,std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>,std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<int_const,unsigned_int>>,std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>>,std" identifier >> (ERROR "," ,) identifier)) : : (binary_expression "less<int" identifier < identifier) >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);" (comma_expression "pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90)" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90)" identifier >> (ERROR ">\n        ::" > : :) (call_expression "_M_erase(a_Stack_98,local_90)" identifier (argument_list "(a_Stack_98,local_90)" ( identifier , identifier ))))) ;)) (goto_statement "goto LAB_00287b2c;" goto statement_identifier ;) })) })) (ERROR "std::\n    _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::" (comma_expression "std::\n    _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std" identifier (ERROR "::\n    _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>" : : (comma_expression "_Rb_tree<int,std" (binary_expression "_Rb_tree<int" identifier < identifier) , identifier) : : (comma_expression "pair<int_const,unsigned_int>,std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>,std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<int_const,unsigned_int>>,std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>>,std" identifier >> (ERROR "," ,) identifier)) : : (binary_expression "less<int" identifier < identifier) >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<int_const,unsigned_int>>>\n    ::_M_erase(a_Stack_98,local_90);" (comma_expression "pair<int_const,unsigned_int>>>\n    ::_M_erase(a_Stack_98,local_90)" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>>>\n    ::_M_erase(a_Stack_98,local_90)" identifier >> (ERROR ">\n    ::" > : :) (call_expression "_M_erase(a_Stack_98,local_90)" identifier (argument_list "(a_Stack_98,local_90)" ( identifier , identifier ))))) ;) })) (labeled_statement "LAB_00287b2c:\n  std::\n  _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n  ::_M_erase(local_38,local_78);" statement_identifier : (ERROR "std::\n  _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::" (comma_expression "std::\n  _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std" identifier (ERROR "::\n  _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>" : : (comma_expression "_Rb_tree<int,std" (binary_expression "_Rb_tree<int" identifier < identifier) , identifier) : : (comma_expression "pair<int_const,unsigned_int>,std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>,std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "_Select1st<std" identifier < identifier) : : (comma_expression "pair<int_const,unsigned_int>>,std" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>>,std" identifier >> (ERROR "," ,) identifier)) : : (binary_expression "less<int" identifier < identifier) >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<int_const,unsigned_int>>>\n  ::_M_erase(local_38,local_78);" (comma_expression "pair<int_const,unsigned_int>>>\n  ::_M_erase(local_38,local_78)" (binary_expression "pair<int_const" identifier < identifier) , (binary_expression "unsigned_int>>>\n  ::_M_erase(local_38,local_78)" identifier >> (ERROR ">\n  ::" > : :) (call_expression "_M_erase(local_38,local_78)" identifier (argument_list "(local_38,local_78)" ( identifier , identifier ))))) ;)) (labeled_statement "LAB_00287b40:\n  if (local_68 != (int *)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" statement_identifier : (if_statement "if (local_68 != (int *)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" if (parenthesized_expression "(local_68 != (int *)0x0)" ( (binary_expression "local_68 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" { (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" ( (pointer_expression "*(code *)PTR_operator_delete_004c12fc" * (cast_expression "(code *)PTR_operator_delete_004c12fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) }))) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit (declaration TYPE (ms_call_modifier __thiscall) (ERROR IDENT : :) IDENT (ERROR < LIT) , (ERROR IDENT > : : (function_declarator IDENT (ERROR < LIT >) (parameter_list ( (parameter_declaration TYPE) (ERROR < LIT) , (parameter_declaration TYPE (ERROR >) (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * IDENT))) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) { IDENT) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * 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 TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (ERROR (binary_expression IDENT < IDENT) ,) (labeled_statement statement_identifier (ERROR : : (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT > (ERROR ,) IDENT)) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT >> (ERROR ,) IDENT)) : : (binary_expression (binary_expression IDENT < IDENT) > (ERROR ,) IDENT) : : (binary_expression IDENT < IDENT) :) : (expression_statement (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT >> (ERROR >) (subscript_expression IDENT [ LIT ]))) ;)) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (ERROR (binary_expression IDENT < IDENT) ,) (labeled_statement statement_identifier (ERROR : : (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT > (ERROR ,) IDENT)) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT >> (ERROR ,) IDENT)) : : (binary_expression (binary_expression IDENT < IDENT) > (ERROR ,) IDENT) : : (binary_expression IDENT < IDENT) :) : (expression_statement (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT >> (ERROR >) (pointer_expression * IDENT))) ;)) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) )) (argument_list ( ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) < IDENT) (ERROR &) > IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT)) >> LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) )) (argument_list ( IDENT , IDENT ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;)) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (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) ))))) >> LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (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 TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (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 (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) << LIT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) || (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT << LIT) )))) ))) )) && (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT << LIT) )) >> LIT) == LIT) ))) )) && (parenthesized_expression ( (binary_expression LIT < (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) << LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) ;) (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 (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;)) (return_statement return ;) })) (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 , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) })) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT << LIT) )) >> LIT) == LIT) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })))) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (parenthesized_expression ( (ERROR (comma_expression (binary_expression IDENT < IDENT) , IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT > (ERROR ,) IDENT)) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT >> (ERROR ,) IDENT)) : : (binary_expression (binary_expression IDENT < IDENT) > (ERROR ,) IDENT) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT >> (ERROR >) (pointer_expression * (ERROR )) IDENT))) ;) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & 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 *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (comma_expression (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT) < IDENT) < IDENT)) , (binary_expression (binary_expression IDENT > IDENT) (ERROR &) > IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (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 (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) ))))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression & IDENT) , IDENT , (binary_expression IDENT + LIT) ))) ;)) (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))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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) )))) < (pointer_expression * IDENT))) )) (compound_statement { (expression_statement (assignment_expression 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 * (abstract_pointer_declarator *))) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) )) (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) )))) == (pointer_expression * IDENT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (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 = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT)) >> LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) )) (argument_list ( IDENT , IDENT ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) <= IDENT) )) && (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (subscript_expression IDENT [ LIT ])) )))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (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) ))))) >> LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (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 IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , LIT ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (break_statement break ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT)))) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = IDENT) ;) })) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (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 (pointer_expression * IDENT) + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (labeled_statement statement_identifier : (ERROR (comma_expression IDENT (ERROR : : (comma_expression (binary_expression IDENT < IDENT) , IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT > (ERROR ,) IDENT)) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT >> (ERROR ,) IDENT)) : : (binary_expression IDENT < IDENT) >) , IDENT) : : (binary_expression IDENT < IDENT) : :) (expression_statement (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT >> (ERROR > : :) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;)) (goto_statement goto statement_identifier ;) })) })) (ERROR (comma_expression IDENT (ERROR : : (comma_expression (binary_expression IDENT < IDENT) , IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT > (ERROR ,) IDENT)) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT >> (ERROR ,) IDENT)) : : (binary_expression IDENT < IDENT) >) , IDENT) : : (binary_expression IDENT < IDENT) : :) (expression_statement (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT >> (ERROR > : :) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) })) (labeled_statement statement_identifier : (ERROR (comma_expression IDENT (ERROR : : (comma_expression (binary_expression IDENT < IDENT) , IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT > (ERROR ,) IDENT)) : : (binary_expression IDENT < IDENT) : : (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT >> (ERROR ,) IDENT)) : : (binary_expression IDENT < IDENT) >) , IDENT) : : (binary_expression IDENT < IDENT) : :) (expression_statement (comma_expression (binary_expression IDENT < IDENT) , (binary_expression IDENT >> (ERROR > : :) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;)) (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 (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) }))) (return_statement return ;) (ERROR }))
(declaration "void __thiscall\ngold::Sized_relobj_file<32,false>::split_stack_adjust_reltype<4>\n          (Sized_relobj_file<32,false> *this,Symbol_table *param_1,uchar *param_2,uint param_3,\n          uchar *param_4,uint param_5,uchar *param_6,uint param_7,Reloc_symbol_changes **param_8,\n          Sized_target *param_9)\n\n{\n  _Rb_tree_node *p_Var1;" (primitive_type "void") (ms_call_modifier "__thiscall" (__thiscall "__thiscall")) (ERROR "gold::" (identifier "gold") (: ":") (: ":")) (identifier "Sized_relobj_file") (ERROR "<32" (< "<") (number_literal "32")) (, ",") (ERROR "false>::split_stack_adjust_reltype<4>\n          (Sized_relobj_file<32,false> *this,Symbol_table *param_1,uchar *param_2,uint param_3,\n          uchar *param_4,uint param_5,uchar *param_6,uint param_7,Reloc_symbol_changes **param_8,\n          Sized_target *param_9)\n\n{\n  _Rb_tree_node" (identifier "false") (> ">") (: ":") (: ":") (function_declarator "split_stack_adjust_reltype<4>\n          (Sized_relobj_file<32,false> *this,Symbol_table *param_1,uchar *param_2,uint param_3,\n          uchar *param_4,uint param_5,uchar *param_6,uint param_7,Reloc_symbol_changes **param_8,\n          Sized_target *param_9)" (identifier "split_stack_adjust_reltype") (ERROR "<4>" (< "<") (number_literal "4") (> ">")) (parameter_list "(Sized_relobj_file<32,false> *this,Symbol_table *param_1,uchar *param_2,uint param_3,\n          uchar *param_4,uint param_5,uchar *param_6,uint param_7,Reloc_symbol_changes **param_8,\n          Sized_target *param_9)" (( "(") (parameter_declaration "Sized_relobj_file" (type_identifier "Sized_relobj_file")) (ERROR "<32" (< "<") (number_literal "32")) (, ",") (parameter_declaration "false> *this" (type_identifier "false") (ERROR ">" (> ">")) (pointer_declarator "*this" (* "*") (identifier "this"))) (, ",") (parameter_declaration "Symbol_table *param_1" (type_identifier "Symbol_table") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "uchar *param_2" (type_identifier "uchar") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "uint param_3" (type_identifier "uint") (identifier "param_3")) (, ",") (parameter_declaration "uchar *param_4" (type_identifier "uchar") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "uint param_5" (type_identifier "uint") (identifier "param_5")) (, ",") (parameter_declaration "uchar *param_6" (type_identifier "uchar") (pointer_declarator "*param_6" (* "*") (identifier "param_6"))) (, ",") (parameter_declaration "uint param_7" (type_identifier "uint") (identifier "param_7")) (, ",") (parameter_declaration "Reloc_symbol_changes **param_8" (type_identifier "Reloc_symbol_changes") (pointer_declarator "**param_8" (* "*") (pointer_declarator "*param_8" (* "*") (identifier "param_8")))) (, ",") (parameter_declaration "Sized_target *param_9" (type_identifier "Sized_target") (pointer_declarator "*param_9" (* "*") (identifier "param_9"))) () ")"))) ({ "{") (identifier "_Rb_tree_node")) (pointer_declarator "*p_Var1" (* "*") (identifier "p_Var1")) (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "_Rb_tree_node *p_Var4;" (type_identifier "_Rb_tree_node") (pointer_declarator "*p_Var4" (* "*") (identifier "p_Var4")) (; ";")) (declaration "int ***pppiVar5;" (primitive_type "int") (pointer_declarator "***pppiVar5" (* "*") (pointer_declarator "**pppiVar5" (* "*") (pointer_declarator "*pppiVar5" (* "*") (identifier "pppiVar5")))) (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "int ***pppiVar7;" (primitive_type "int") (pointer_declarator "***pppiVar7" (* "*") (pointer_declarator "**pppiVar7" (* "*") (pointer_declarator "*pppiVar7" (* "*") (identifier "pppiVar7")))) (; ";")) (declaration "_Rb_tree_node *p_Var8;" (type_identifier "_Rb_tree_node") (pointer_declarator "*p_Var8" (* "*") (identifier "p_Var8")) (; ";")) (declaration "_Rb_tree_node *p_Var9;" (type_identifier "_Rb_tree_node") (pointer_declarator "*p_Var9" (* "*") (identifier "p_Var9")) (; ";")) (declaration "undefined4 *puVar10;" (type_identifier "undefined4") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "undefined4 *puVar11;" (type_identifier "undefined4") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "int *piVar14;" (primitive_type "int") (pointer_declarator "*piVar14" (* "*") (identifier "piVar14")) (; ";")) (declaration "undefined4 *puVar15;" (type_identifier "undefined4") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "uint uVar17;" (type_identifier "uint") (identifier "uVar17") (; ";")) (declaration "int *piVar18;" (primitive_type "int") (pointer_declarator "*piVar18" (* "*") (identifier "piVar18")) (; ";")) (declaration "uint *puVar19;" (type_identifier "uint") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "code *pcVar20;" (type_identifier "code") (pointer_declarator "*pcVar20" (* "*") (identifier "pcVar20")) (; ";")) (declaration "int **local_c8;" (primitive_type "int") (pointer_declarator "**local_c8" (* "*") (pointer_declarator "*local_c8" (* "*") (identifier "local_c8"))) (; ";")) (declaration "int local_c4;" (primitive_type "int") (identifier "local_c4") (; ";")) (declaration "undefined1 local_c0 [16];" (type_identifier "undefined1") (array_declarator "local_c0 [16]" (identifier "local_c0") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "int **local_b0;" (primitive_type "int") (pointer_declarator "**local_b0" (* "*") (pointer_declarator "*local_b0" (* "*") (identifier "local_b0"))) (; ";")) (declaration "int local_ac;" (primitive_type "int") (identifier "local_ac") (; ";")) (declaration "undefined1 local_a8 [16];" (type_identifier "undefined1") (array_declarator "local_a8 [16]" (identifier "local_a8") ([ "[") (number_literal "16") (] "]")) (; ";")) (ERROR "_Rb_tree<int," (binary_expression "_Rb_tree<int" (identifier "_Rb_tree") (< "<") (identifier "int")) (, ",")) (labeled_statement "std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n  a_Stack_98 [4];" (statement_identifier "std") (ERROR "::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std:" (: ":") (: ":") (comma_expression "pair<int_const,unsigned_int>,std" (binary_expression "pair<int_const" (identifier "pair") (< "<") (identifier "int_const")) (, ",") (binary_expression "unsigned_int>,std" (identifier "unsigned_int") (> ">") (ERROR "," (, ",")) (identifier "std"))) (: ":") (: ":") (binary_expression "_Select1st<std" (identifier "_Select1st") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "pair<int_const,unsigned_int>>,std" (binary_expression "pair<int_const" (identifier "pair") (< "<") (identifier "int_const")) (, ",") (binary_expression "unsigned_int>>,std" (identifier "unsigned_int") (>> ">>") (ERROR "," (, ",")) (identifier "std"))) (: ":") (: ":") (binary_expression "less<int>,std" (binary_expression "less<int" (identifier "less") (< "<") (identifier "int")) (> ">") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":")) (: ":") (expression_statement "pair<int_const,unsigned_int>>>\n  a_Stack_98 [4];" (comma_expression "pair<int_const,unsigned_int>>>\n  a_Stack_98 [4]" (binary_expression "pair<int_const" (identifier "pair") (< "<") (identifier "int_const")) (, ",") (binary_expression "unsigned_int>>>\n  a_Stack_98 [4]" (identifier "unsigned_int") (>> ">>") (ERROR ">" (> ">")) (subscript_expression "a_Stack_98 [4]" (identifier "a_Stack_98") ([ "[") (number_literal "4") (] "]")))) (; ";"))) (declaration "undefined4 local_94;" (type_identifier "undefined4") (identifier "local_94") (; ";")) (declaration "_Rb_tree_node *local_90;" (type_identifier "_Rb_tree_node") (pointer_declarator "*local_90" (* "*") (identifier "local_90")) (; ";")) (declaration "undefined4 *local_8c;" (type_identifier "undefined4") (pointer_declarator "*local_8c" (* "*") (identifier "local_8c")) (; ";")) (declaration "undefined4 *local_88;" (type_identifier "undefined4") (pointer_declarator "*local_88" (* "*") (identifier "local_88")) (; ";")) (declaration "int local_84;" (primitive_type "int") (identifier "local_84") (; ";")) (declaration "map local_80 [4];" (type_identifier "map") (array_declarator "local_80 [4]" (identifier "local_80") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined4 local_7c;" (type_identifier "undefined4") (identifier "local_7c") (; ";")) (declaration "_Rb_tree_node *local_78;" (type_identifier "_Rb_tree_node") (pointer_declarator "*local_78" (* "*") (identifier "local_78")) (; ";")) (declaration "_Rb_tree_node *local_74;" (type_identifier "_Rb_tree_node") (pointer_declarator "*local_74" (* "*") (identifier "local_74")) (; ";")) (declaration "_Rb_tree_node *local_70;" (type_identifier "_Rb_tree_node") (pointer_declarator "*local_70" (* "*") (identifier "local_70")) (; ";")) (declaration "int local_6c;" (primitive_type "int") (identifier "local_6c") (; ";")) (declaration "int *local_68;" (primitive_type "int") (pointer_declarator "*local_68" (* "*") (identifier "local_68")) (; ";")) (declaration "int *local_64;" (primitive_type "int") (pointer_declarator "*local_64" (* "*") (identifier "local_64")) (; ";")) (declaration "int *local_60;" (primitive_type "int") (pointer_declarator "*local_60" (* "*") (identifier "local_60")) (; ";")) (declaration "int **local_58;" (primitive_type "int") (pointer_declarator "**local_58" (* "*") (pointer_declarator "*local_58" (* "*") (identifier "local_58"))) (; ";")) (declaration "int ***local_54;" (primitive_type "int") (pointer_declarator "***local_54" (* "*") (pointer_declarator "**local_54" (* "*") (pointer_declarator "*local_54" (* "*") (identifier "local_54")))) (; ";")) (declaration "code *local_50;" (type_identifier "code") (pointer_declarator "*local_50" (* "*") (identifier "local_50")) (; ";")) (declaration "undefined4 *local_4c;" (type_identifier "undefined4") (pointer_declarator "*local_4c" (* "*") (identifier "local_4c")) (; ";")) (declaration "int ***local_48;" (primitive_type "int") (pointer_declarator "***local_48" (* "*") (pointer_declarator "**local_48" (* "*") (pointer_declarator "*local_48" (* "*") (identifier "local_48")))) (; ";")) (declaration "int *local_44;" (primitive_type "int") (pointer_declarator "*local_44" (* "*") (identifier "local_44")) (; ";")) (declaration "Reloc_symbol_changes *local_40;" (type_identifier "Reloc_symbol_changes") (pointer_declarator "*local_40" (* "*") (identifier "local_40")) (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (ERROR "_Rb_tree<int," (binary_expression "_Rb_tree<int" (identifier "_Rb_tree") (< "<") (identifier "int")) (, ",")) (labeled_statement "std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n  *local_38;" (statement_identifier "std") (ERROR "::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std:" (: ":") (: ":") (comma_expression "pair<int_const,unsigned_int>,std" (binary_expression "pair<int_const" (identifier "pair") (< "<") (identifier "int_const")) (, ",") (binary_expression "unsigned_int>,std" (identifier "unsigned_int") (> ">") (ERROR "," (, ",")) (identifier "std"))) (: ":") (: ":") (binary_expression "_Select1st<std" (identifier "_Select1st") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "pair<int_const,unsigned_int>>,std" (binary_expression "pair<int_const" (identifier "pair") (< "<") (identifier "int_const")) (, ",") (binary_expression "unsigned_int>>,std" (identifier "unsigned_int") (>> ">>") (ERROR "," (, ",")) (identifier "std"))) (: ":") (: ":") (binary_expression "less<int>,std" (binary_expression "less<int" (identifier "less") (< "<") (identifier "int")) (> ">") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":")) (: ":") (expression_statement "pair<int_const,unsigned_int>>>\n  *local_38;" (comma_expression "pair<int_const,unsigned_int>>>\n  *local_38" (binary_expression "pair<int_const" (identifier "pair") (< "<") (identifier "int_const")) (, ",") (binary_expression "unsigned_int>>>\n  *local_38" (identifier "unsigned_int") (>> ">>") (ERROR ">" (> ">")) (pointer_expression "*local_38" (* "*") (identifier "local_38")))) (; ";"))) (declaration "uint local_34;" (type_identifier "uint") (identifier "local_34") (; ";")) (declaration "undefined *local_30;" (type_identifier "undefined") (pointer_declarator "*local_30" (* "*") (identifier "local_30")) (; ";")) (expression_statement "pcVar20 = *(code **)(*(int *)this + 0x8c);" (assignment_expression "pcVar20 = *(code **)(*(int *)this + 0x8c)" (identifier "pcVar20") (= "=") (pointer_expression "*(code **)(*(int *)this + 0x8c)" (* "*") (cast_expression "(code **)(*(int *)this + 0x8c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)this + 0x8c)" (( "(") (binary_expression "*(int *)this + 0x8c" (pointer_expression "*(int *)this" (* "*") (cast_expression "(int *)this" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "this"))) (+ "+") (number_literal "0x8c")) () ")"))))) (; ";")) (if_statement "if (pcVar20 == (code *)PTR_local_symbol_count_004c1bc0) {\n    pppiVar5 = (int ***)(**(code **)(*(int *)this + 0xbc))();\n  }\n  else {\n    pppiVar5 = (int ***)(*pcVar20)();\n  }" (if "if") (parenthesized_expression "(pcVar20 == (code *)PTR_local_symbol_count_004c1bc0)" (( "(") (binary_expression "pcVar20 == (code *)PTR_local_symbol_count_004c1bc0" (identifier "pcVar20") (== "==") (cast_expression "(code *)PTR_local_symbol_count_004c1bc0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_local_symbol_count_004c1bc0"))) () ")")) (compound_statement "{\n    pppiVar5 = (int ***)(**(code **)(*(int *)this + 0xbc))();\n  }" ({ "{") (expression_statement "pppiVar5 = (int ***)(**(code **)(*(int *)this + 0xbc))();" (assignment_expression "pppiVar5 = (int ***)(**(code **)(*(int *)this + 0xbc))()" (identifier "pppiVar5") (= "=") (cast_expression "(int ***)(**(code **)(*(int *)this + 0xbc))()" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (call_expression "(**(code **)(*(int *)this + 0xbc))()" (parenthesized_expression "(**(code **)(*(int *)this + 0xbc))" (( "(") (pointer_expression "**(code **)(*(int *)this + 0xbc)" (* "*") (pointer_expression "*(code **)(*(int *)this + 0xbc)" (* "*") (cast_expression "(code **)(*(int *)this + 0xbc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)this + 0xbc)" (( "(") (binary_expression "*(int *)this + 0xbc" (pointer_expression "*(int *)this" (* "*") (cast_expression "(int *)this" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "this"))) (+ "+") (number_literal "0xbc")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")) (else_clause "else {\n    pppiVar5 = (int ***)(*pcVar20)();\n  }" (else "else") (compound_statement "{\n    pppiVar5 = (int ***)(*pcVar20)();\n  }" ({ "{") (expression_statement "pppiVar5 = (int ***)(*pcVar20)();" (assignment_expression "pppiVar5 = (int ***)(*pcVar20)()" (identifier "pppiVar5") (= "=") (cast_expression "(int ***)(*pcVar20)()" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")))) (expression_statement "puVar3 = PTR_get_r_sym_004c4580;" (assignment_expression "puVar3 = PTR_get_r_sym_004c4580" (identifier "puVar3") (= "=") (identifier "PTR_get_r_sym_004c4580")) (; ";")) (expression_statement "puVar2 = PTR_parameters_004c19b4;" (assignment_expression "puVar2 = PTR_parameters_004c19b4" (identifier "puVar2") (= "=") (identifier "PTR_parameters_004c19b4")) (; ";")) (expression_statement "local_68 = (int *)0x0;" (assignment_expression "local_68 = (int *)0x0" (identifier "local_68") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_64 = (int *)0x0;" (assignment_expression "local_64 = (int *)0x0" (identifier "local_64") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_60 = (int *)0x0;" (assignment_expression "local_60 = (int *)0x0" (identifier "local_60") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (param_5 == 0) {\n    return;\n  }" (if "if") (parenthesized_expression "(param_5 == 0)" (( "(") (binary_expression "param_5 == 0" (identifier "param_5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "local_50 = (code *)PTR__M_realloc_insert<int_const&>_004c45e4;" (assignment_expression "local_50 = (code *)PTR__M_realloc_insert<int_const&>_004c45e4" (identifier "local_50") (= "=") (binary_expression "(code *)PTR__M_realloc_insert<int_const&>_004c45e4" (binary_expression "(code *)PTR__M_realloc_insert<int_const" (cast_expression "(code *)PTR__M_realloc_insert" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_realloc_insert")) (< "<") (identifier "int_const")) (ERROR "&" (& "&")) (> ">") (identifier "_004c45e4"))) (; ";")) (expression_statement "uVar17 = 0;" (assignment_expression "uVar17 = 0" (identifier "uVar17") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_58 = &local_68;" (assignment_expression "local_58 = &local_68" (identifier "local_58") (= "=") (pointer_expression "&local_68" (& "&") (identifier "local_68"))) (; ";")) (expression_statement "local_54 = &local_c8;" (assignment_expression "local_54 = &local_c8" (identifier "local_54") (= "=") (pointer_expression "&local_c8" (& "&") (identifier "local_c8"))) (; ";")) (expression_statement "puVar19 = (uint *)param_4;" (assignment_expression "puVar19 = (uint *)param_4" (identifier "puVar19") (= "=") (cast_expression "(uint *)param_4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_4"))) (; ";")) (do_statement "do {\n    if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n      uVar6 = puVar19[1];\n      pppiVar7 = (int ***)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8);\n    }\n    else {\n      pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n    }\n    if (pppiVar5 <= pppiVar7) {\n      uVar6 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n      if (pppiVar7 < *(int ****)(this + 0xb8)) {\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        return;\n      }\n      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar6) {\n                    \n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n        return;\n      }\n      iVar16 = *(int *)(*(int *)(this + 0xc4) + uVar6 * 4);\n      if (iVar16 == 0) goto LAB_00288064;\n      if (*(int *)(iVar16 + 0x28) << 0x14 < 0) {\n        iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1);\n      }\n      uVar6 = *(uint *)(iVar16 + 0x28);\n      if ((uVar6 & 0xe000) == 0) {\n        if ((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)) {\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    \n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    \n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    \n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }\n      }\n      else if (((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)) {\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }\n    }\n    uVar17 = uVar17 + 1;\n    puVar19 = puVar19 + 3;\n  } while (param_5 != uVar17);" (do "do") (compound_statement "{\n    if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n      uVar6 = puVar19[1];\n      pppiVar7 = (int ***)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8);\n    }\n    else {\n      pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n    }\n    if (pppiVar5 <= pppiVar7) {\n      uVar6 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n      if (pppiVar7 < *(int ****)(this + 0xb8)) {\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        return;\n      }\n      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar6) {\n                    \n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n        return;\n      }\n      iVar16 = *(int *)(*(int *)(this + 0xc4) + uVar6 * 4);\n      if (iVar16 == 0) goto LAB_00288064;\n      if (*(int *)(iVar16 + 0x28) << 0x14 < 0) {\n        iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1);\n      }\n      uVar6 = *(uint *)(iVar16 + 0x28);\n      if ((uVar6 & 0xe000) == 0) {\n        if ((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)) {\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    \n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    \n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    \n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }\n      }\n      else if (((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)) {\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }\n    }\n    uVar17 = uVar17 + 1;\n    puVar19 = puVar19 + 3;\n  }" ({ "{") (if_statement "if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n      uVar6 = puVar19[1];\n      pppiVar7 = (int ***)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8);\n    }\n    else {\n      pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n    }" (if "if") (parenthesized_expression "(*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3)" (( "(") (binary_expression "*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3" (pointer_expression "*(code **)(*(int *)param_9 + 0xf8)" (* "*") (cast_expression "(code **)(*(int *)param_9 + 0xf8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)param_9 + 0xf8)" (( "(") (binary_expression "*(int *)param_9 + 0xf8" (pointer_expression "*(int *)param_9" (* "*") (cast_expression "(int *)param_9" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_9"))) (+ "+") (number_literal "0xf8")) () ")")))) (== "==") (cast_expression "(code *)puVar3" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) () ")")) (compound_statement "{\n      uVar6 = puVar19[1];\n      pppiVar7 = (int ***)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8);\n    }" ({ "{") (expression_statement "uVar6 = puVar19[1];" (assignment_expression "uVar6 = puVar19[1]" (identifier "uVar6") (= "=") (subscript_expression "puVar19[1]" (identifier "puVar19") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pppiVar7 = (int ***)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8);" (assignment_expression "pppiVar7 = (int ***)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8)" (identifier "pppiVar7") (= "=") (cast_expression "(int ***)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8)" (( "(") (binary_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8" (binary_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10" (binary_expression "(uVar6 >> 0x10) << 0x18" (parenthesized_expression "(uVar6 >> 0x10)" (( "(") (binary_expression "uVar6 >> 0x10" (identifier "uVar6") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar6 >> 0x18) << 0x10" (parenthesized_expression "(uVar6 >> 0x18)" (( "(") (binary_expression "uVar6 >> 0x18" (identifier "uVar6") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff)" (( "(") (binary_expression "(uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff" (binary_expression "(uVar6 & 0xff) << 8" (parenthesized_expression "(uVar6 & 0xff)" (( "(") (binary_expression "uVar6 & 0xff" (identifier "uVar6") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" (identifier "uVar6") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000"))) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n      pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n    }" (else "else") (compound_statement "{\n      pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n    }" ({ "{") (expression_statement "pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);" (assignment_expression "pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19)" (identifier "pppiVar7") (= "=") (cast_expression "(int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (call_expression "(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19)" (parenthesized_expression "(**(code **)(*(int *)param_9 + 0xf8))" (( "(") (pointer_expression "**(code **)(*(int *)param_9 + 0xf8)" (* "*") (pointer_expression "*(code **)(*(int *)param_9 + 0xf8)" (* "*") (cast_expression "(code **)(*(int *)param_9 + 0xf8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)param_9 + 0xf8)" (( "(") (binary_expression "*(int *)param_9 + 0xf8" (pointer_expression "*(int *)param_9" (* "*") (cast_expression "(int *)param_9" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_9"))) (+ "+") (number_literal "0xf8")) () ")"))))) () ")")) (argument_list "(param_9,puVar19)" (( "(") (identifier "param_9") (, ",") (identifier "puVar19") () ")"))))) (; ";")) (} "}")))) (if_statement "if (pppiVar5 <= pppiVar7) {\n      uVar6 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n      if (pppiVar7 < *(int ****)(this + 0xb8)) {\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        return;\n      }\n      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar6) {\n                    \n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n        return;\n      }\n      iVar16 = *(int *)(*(int *)(this + 0xc4) + uVar6 * 4);\n      if (iVar16 == 0) goto LAB_00288064;\n      if (*(int *)(iVar16 + 0x28) << 0x14 < 0) {\n        iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1);\n      }\n      uVar6 = *(uint *)(iVar16 + 0x28);\n      if ((uVar6 & 0xe000) == 0) {\n        if ((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)) {\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    \n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    \n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    \n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }\n      }\n      else if (((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)) {\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }\n    }" (if "if") (parenthesized_expression "(pppiVar5 <= pppiVar7)" (( "(") (binary_expression "pppiVar5 <= pppiVar7" (identifier "pppiVar5") (<= "<=") (identifier "pppiVar7")) () ")")) (compound_statement "{\n      uVar6 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n      if (pppiVar7 < *(int ****)(this + 0xb8)) {\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        return;\n      }\n      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar6) {\n                    \n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n        return;\n      }\n      iVar16 = *(int *)(*(int *)(this + 0xc4) + uVar6 * 4);\n      if (iVar16 == 0) goto LAB_00288064;\n      if (*(int *)(iVar16 + 0x28) << 0x14 < 0) {\n        iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1);\n      }\n      uVar6 = *(uint *)(iVar16 + 0x28);\n      if ((uVar6 & 0xe000) == 0) {\n        if ((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)) {\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    \n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    \n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    \n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }\n      }\n      else if (((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)) {\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }\n    }" ({ "{") (expression_statement "uVar6 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);" (assignment_expression "uVar6 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8)" (identifier "uVar6") (= "=") (binary_expression "(int)pppiVar7 - (int)*(int ****)(this + 0xb8)" (cast_expression "(int)pppiVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiVar7")) (- "-") (cast_expression "(int)*(int ****)(this + 0xb8)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(int ****)(this + 0xb8)" (* "*") (cast_expression "(int ****)(this + 0xb8)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(this + 0xb8)" (( "(") (binary_expression "this + 0xb8" (identifier "this") (+ "+") (number_literal "0xb8")) () ")"))))))) (; ";")) (if_statement "if (pppiVar7 < *(int ****)(this + 0xb8)) {\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        return;\n      }" (if "if") (parenthesized_expression "(pppiVar7 < *(int ****)(this + 0xb8))" (( "(") (binary_expression "pppiVar7 < *(int ****)(this + 0xb8)" (identifier "pppiVar7") (< "<") (pointer_expression "*(int ****)(this + 0xb8)" (* "*") (cast_expression "(int ****)(this + 0xb8)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(this + 0xb8)" (( "(") (binary_expression "this + 0xb8" (identifier "this") (+ "+") (number_literal "0xb8")) () ")"))))) () ")")) (compound_statement "{\nLAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);\n        return;\n      }" ({ "{") (labeled_statement "LAB_00288064:\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);" (statement_identifier "LAB_00288064") (: ":") (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,\n                   PTR_s_in_a_linker_script_004c191c + -0x614)" (( "(") (binary_expression "PTR_s_in_a_linker_script_004c191c + -0xe14" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "-0xe14")) (, ",") (number_literal "0x4ef") (, ",") (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x614" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "-0x614")) () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar6) {\n                    \n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n        return;\n      }" (if "if") (parenthesized_expression "((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar6)" (( "(") (binary_expression "(uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar6" (call_expression "(uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2)" (( "(") (binary_expression "*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2" (binary_expression "*(int *)(this + 200) - *(int *)(this + 0xc4)" (pointer_expression "*(int *)(this + 200)" (* "*") (cast_expression "(int *)(this + 200)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 200)" (( "(") (binary_expression "this + 200" (identifier "this") (+ "+") (number_literal "200")) () ")")))) (- "-") (pointer_expression "*(int *)(this + 0xc4)" (* "*") (cast_expression "(int *)(this + 0xc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0xc4)" (( "(") (binary_expression "this + 0xc4" (identifier "this") (+ "+") (number_literal "0xc4")) () ")"))))) (>> ">>") (number_literal "2")) () ")"))) (<= "<=") (identifier "uVar6")) () ")")) (compound_statement "{\n                    \n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n        return;\n      }" ({ "{") (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                   PTR_s_in_a_linker_script_004c191c + -0x5f8)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x4570")) (, ",") (number_literal "0x8ad") (, ",") (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x5f8" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "-0x5f8")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar16 = *(int *)(*(int *)(this + 0xc4) + uVar6 * 4);" (assignment_expression "iVar16 = *(int *)(*(int *)(this + 0xc4) + uVar6 * 4)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(*(int *)(this + 0xc4) + uVar6 * 4)" (* "*") (cast_expression "(int *)(*(int *)(this + 0xc4) + uVar6 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(this + 0xc4) + uVar6 * 4)" (( "(") (binary_expression "*(int *)(this + 0xc4) + uVar6 * 4" (pointer_expression "*(int *)(this + 0xc4)" (* "*") (cast_expression "(int *)(this + 0xc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0xc4)" (( "(") (binary_expression "this + 0xc4" (identifier "this") (+ "+") (number_literal "0xc4")) () ")")))) (+ "+") (binary_expression "uVar6 * 4" (identifier "uVar6") (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (iVar16 == 0) goto LAB_00288064;" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00288064;" (goto "goto") (statement_identifier "LAB_00288064") (; ";"))) (if_statement "if (*(int *)(iVar16 + 0x28) << 0x14 < 0) {\n        iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1);\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar16 + 0x28) << 0x14 < 0)" (( "(") (binary_expression "*(int *)(iVar16 + 0x28) << 0x14 < 0" (binary_expression "*(int *)(iVar16 + 0x28) << 0x14" (pointer_expression "*(int *)(iVar16 + 0x28)" (* "*") (cast_expression "(int *)(iVar16 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x28)" (( "(") (binary_expression "iVar16 + 0x28" (identifier "iVar16") (+ "+") (number_literal "0x28")) () ")")))) (<< "<<") (number_literal "0x14")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1);\n      }" ({ "{") (expression_statement "iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1);" (assignment_expression "iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1)" (identifier "iVar16") (= "=") (call_expression "(*(code *)PTR_resolve_forwards_004c1bc8)(param_1)" (parenthesized_expression "(*(code *)PTR_resolve_forwards_004c1bc8)" (( "(") (pointer_expression "*(code *)PTR_resolve_forwards_004c1bc8" (* "*") (cast_expression "(code *)PTR_resolve_forwards_004c1bc8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_resolve_forwards_004c1bc8"))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (} "}"))) (expression_statement "uVar6 = *(uint *)(iVar16 + 0x28);" (assignment_expression "uVar6 = *(uint *)(iVar16 + 0x28)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(iVar16 + 0x28)" (* "*") (cast_expression "(uint *)(iVar16 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x28)" (( "(") (binary_expression "iVar16 + 0x28" (identifier "iVar16") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if ((uVar6 & 0xe000) == 0) {\n        if ((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)) {\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    \n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    \n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    \n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }\n      }\n      else if (((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)) {\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }" (if "if") (parenthesized_expression "((uVar6 & 0xe000) == 0)" (( "(") (binary_expression "(uVar6 & 0xe000) == 0" (parenthesized_expression "(uVar6 & 0xe000)" (( "(") (binary_expression "uVar6 & 0xe000" (identifier "uVar6") (& "&") (number_literal "0xe000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if ((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)) {\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    \n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    \n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    \n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }\n      }" ({ "{") (if_statement "if ((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)) {\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    \n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    \n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    \n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }" (if "if") (parenthesized_expression "((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2))" (( "(") (binary_expression "(((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)" (parenthesized_expression "(((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0))" (( "(") (binary_expression "((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&\n            ((uVar6 << 0x10) >> 0x1d == 0)" (parenthesized_expression "((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d)))" (( "(") (binary_expression "(*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))" (parenthesized_expression "(*(int *)(iVar16 + 0xc) != 0)" (( "(") (binary_expression "*(int *)(iVar16 + 0xc) != 0" (pointer_expression "*(int *)(iVar16 + 0xc)" (* "*") (cast_expression "(int *)(iVar16 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0xc)" (( "(") (binary_expression "iVar16 + 0xc" (identifier "iVar16") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(-1 < (int)(uVar6 << 0x1d))" (( "(") (binary_expression "-1 < (int)(uVar6 << 0x1d)" (number_literal "-1") (< "<") (cast_expression "(int)(uVar6 << 0x1d)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar6 << 0x1d)" (( "(") (binary_expression "uVar6 << 0x1d" (identifier "uVar6") (<< "<<") (number_literal "0x1d")) () ")")))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((uVar6 << 0x10) >> 0x1d == 0)" (( "(") (binary_expression "(uVar6 << 0x10) >> 0x1d == 0" (binary_expression "(uVar6 << 0x10) >> 0x1d" (parenthesized_expression "(uVar6 << 0x10)" (( "(") (binary_expression "uVar6 << 0x10" (identifier "uVar6") (<< "<<") (number_literal "0x10")) () ")")) (>> ">>") (number_literal "0x1d")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)" (( "(") (binary_expression "-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2" (number_literal "-1") (< "<") (binary_expression "*(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2" (pointer_expression "*(int *)(*(int *)(iVar16 + 8) + 0x2c)" (* "*") (cast_expression "(int *)(*(int *)(iVar16 + 8) + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar16 + 8) + 0x2c)" (( "(") (binary_expression "*(int *)(iVar16 + 8) + 0x2c" (pointer_expression "*(int *)(iVar16 + 8)" (* "*") (cast_expression "(int *)(iVar16 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 8)" (( "(") (binary_expression "iVar16 + 8" (identifier "iVar16") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "0x2c")) () ")")))) (<< "<<") (number_literal "2"))) () ")"))) () ")")) (compound_statement "{\n          piVar14 = *(int **)(*(int *)puVar2 + 0xc);\n          if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    \n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }\n                    \n          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);\n          if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    \n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }\n        }" ({ "{") (expression_statement "piVar14 = *(int **)(*(int *)puVar2 + 0xc);" (assignment_expression "piVar14 = *(int **)(*(int *)puVar2 + 0xc)" (identifier "piVar14") (= "=") (pointer_expression "*(int **)(*(int *)puVar2 + 0xc)" (* "*") (cast_expression "(int **)(*(int *)puVar2 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)puVar2 + 0xc)" (( "(") (binary_expression "*(int *)puVar2 + 0xc" (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (piVar14 == (int *)0x0) {\nLAB_002880fc:\n                    \n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }" (if "if") (parenthesized_expression "(piVar14 == (int *)0x0)" (( "(") (binary_expression "piVar14 == (int *)0x0" (identifier "piVar14") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_002880fc:\n                    \n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);\n            return;\n          }" ({ "{") (labeled_statement "LAB_002880fc:\n                    \n            (*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);" (statement_identifier "LAB_002880fc") (: ":") (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                       PTR_s_in_a_linker_script_004c191c + -0x5e8)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "-0x9b8")) (, ",") (number_literal "0x69") (, ",") (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x5e8" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "-0x5e8")) () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);" (assignment_expression "iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7)" (identifier "iVar16") (= "=") (call_expression "(**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7)" (parenthesized_expression "(**(code **)(*piVar14 + 0x54))" (( "(") (pointer_expression "**(code **)(*piVar14 + 0x54)" (* "*") (pointer_expression "*(code **)(*piVar14 + 0x54)" (* "*") (cast_expression "(code **)(*piVar14 + 0x54)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar14 + 0x54)" (( "(") (binary_expression "*piVar14 + 0x54" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (+ "+") (number_literal "0x54")) () ")"))))) () ")")) (argument_list "(piVar14,iVar16,puVar19,param_6,param_7)" (( "(") (identifier "piVar14") (, ",") (identifier "iVar16") (, ",") (identifier "puVar19") (, ",") (identifier "param_6") (, ",") (identifier "param_7") () ")")))) (; ";")) (if_statement "if (iVar16 != 0) {\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    \n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }" (if "if") (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            uVar6 = *puVar19;\n            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);\n            if (local_64 == local_60) {\n                    \n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }\n          }" ({ "{") (expression_statement "uVar6 = *puVar19;" (assignment_expression "uVar6 = *puVar19" (identifier "uVar6") (= "=") (pointer_expression "*puVar19" (* "*") (identifier "puVar19"))) (; ";")) (expression_statement "local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);" (assignment_expression "local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000)" (identifier "local_c8") (= "=") (cast_expression "(int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000)" (( "(") (binary_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10" (binary_expression "(uVar6 >> 0x10) << 0x18" (parenthesized_expression "(uVar6 >> 0x10)" (( "(") (binary_expression "uVar6 >> 0x10" (identifier "uVar6") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar6 >> 0x18) << 0x10" (parenthesized_expression "(uVar6 >> 0x18)" (( "(") (binary_expression "uVar6 >> 0x18" (identifier "uVar6") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff)" (( "(") (binary_expression "(uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff" (binary_expression "(uVar6 & 0xff) << 8" (parenthesized_expression "(uVar6 & 0xff)" (( "(") (binary_expression "uVar6 & 0xff" (identifier "uVar6") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" (identifier "uVar6") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000"))) () ")")))) (; ";")) (if_statement "if (local_64 == local_60) {\n                    \n              (*local_50)(local_58,local_64,local_54);\n            }\n            else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }" (if "if") (parenthesized_expression "(local_64 == local_60)" (( "(") (binary_expression "local_64 == local_60" (identifier "local_64") (== "==") (identifier "local_60")) () ")")) (compound_statement "{\n                    \n              (*local_50)(local_58,local_64,local_54);\n            }" ({ "{") (expression_statement "(*local_50)(local_58,local_64,local_54);" (call_expression "(*local_50)(local_58,local_64,local_54)" (parenthesized_expression "(*local_50)" (( "(") (pointer_expression "*local_50" (* "*") (identifier "local_50")) () ")")) (argument_list "(local_58,local_64,local_54)" (( "(") (identifier "local_58") (, ",") (identifier "local_64") (, ",") (identifier "local_54") () ")"))) (; ";")) (} "}")) (else_clause "else {\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }" (else "else") (compound_statement "{\n              *local_64 = (int)local_c8;\n              local_64 = local_64 + 1;\n            }" ({ "{") (expression_statement "*local_64 = (int)local_c8;" (assignment_expression "*local_64 = (int)local_c8" (pointer_expression "*local_64" (* "*") (identifier "local_64")) (= "=") (cast_expression "(int)local_c8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_c8"))) (; ";")) (expression_statement "local_64 = local_64 + 1;" (assignment_expression "local_64 = local_64 + 1" (identifier "local_64") (= "=") (binary_expression "local_64 + 1" (identifier "local_64") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (} "}"))) (} "}"))) (} "}")) (else_clause "else if (((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)) {\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }" (else "else") (if_statement "if (((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)) {\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }" (if "if") (parenthesized_expression "(((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0))" (( "(") (binary_expression "((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)" (parenthesized_expression "((uVar6 & 0xe000) != 0x8000)" (( "(") (binary_expression "(uVar6 & 0xe000) != 0x8000" (parenthesized_expression "(uVar6 & 0xe000)" (( "(") (binary_expression "uVar6 & 0xe000" (identifier "uVar6") (& "&") (number_literal "0xe000")) () ")")) (!= "!=") (number_literal "0x8000")) () ")")) (&& "&&") (parenthesized_expression "((uVar6 << 0x10) >> 0x1d == 0)" (( "(") (binary_expression "(uVar6 << 0x10) >> 0x1d == 0" (binary_expression "(uVar6 << 0x10) >> 0x1d" (parenthesized_expression "(uVar6 << 0x10)" (( "(") (binary_expression "uVar6 << 0x10" (identifier "uVar6") (<< "<<") (number_literal "0x10")) () ")")) (>> ">>") (number_literal "0x1d")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);\n        return;\n      }" ({ "{") (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,\n                   PTR_s_in_a_linker_script_004c191c + -0x5d0)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x3860")) (, ",") (number_literal "0xa1") (, ",") (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x5d0" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "-0x5d0")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))))) (} "}"))) (expression_statement "uVar17 = uVar17 + 1;" (assignment_expression "uVar17 = uVar17 + 1" (identifier "uVar17") (= "=") (binary_expression "uVar17 + 1" (identifier "uVar17") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar19 = puVar19 + 3;" (assignment_expression "puVar19 = puVar19 + 3" (identifier "puVar19") (= "=") (binary_expression "puVar19 + 3" (identifier "puVar19") (+ "+") (number_literal "3"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_5 != uVar17)" (( "(") (binary_expression "param_5 != uVar17" (identifier "param_5") (!= "!=") (identifier "uVar17")) () ")")) (; ";")) (if_statement "if (local_64 == local_68) goto LAB_00287b40;" (if "if") (parenthesized_expression "(local_64 == local_68)" (( "(") (binary_expression "local_64 == local_68" (identifier "local_64") (== "==") (identifier "local_68")) () ")")) (goto_statement "goto LAB_00287b40;" (goto "goto") (statement_identifier "LAB_00287b40") (; ";"))) (expression_statement "local_7c = 0;" (assignment_expression "local_7c = 0" (identifier "local_7c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_78 = (_Rb_tree_node *)0x0;" (assignment_expression "local_78 = (_Rb_tree_node *)0x0" (identifier "local_78") (= "=") (cast_expression "(_Rb_tree_node *)0x0" (( "(") (type_descriptor "_Rb_tree_node *" (type_identifier "_Rb_tree_node") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_6c = 0;" (assignment_expression "local_6c = 0" (identifier "local_6c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_74 = (_Rb_tree_node *)&local_7c;" (assignment_expression "local_74 = (_Rb_tree_node *)&local_7c" (identifier "local_74") (= "=") (cast_expression "(_Rb_tree_node *)&local_7c" (( "(") (type_descriptor "_Rb_tree_node *" (type_identifier "_Rb_tree_node") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_7c" (& "&") (identifier "local_7c")))) (; ";")) (expression_statement "local_70 = (_Rb_tree_node *)&local_7c;" (assignment_expression "local_70 = (_Rb_tree_node *)&local_7c" (identifier "local_70") (= "=") (cast_expression "(_Rb_tree_node *)&local_7c" (( "(") (type_descriptor "_Rb_tree_node *" (type_identifier "_Rb_tree_node") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_7c" (& "&") (identifier "local_7c")))) (; ";")) (expression_statement "local_38 = (_Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n              *)local_80;\n  find_functions(this,param_2,param_3,local_80);" (assignment_expression "local_38 = (_Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n              *)local_80;\n  find_functions(this,param_2,param_3,local_80)" (identifier "local_38") (= "=") (parenthesized_expression "(_Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n              *)local_80;\n  find_functions(this,param_2,param_3,local_80)" (( "(") (ERROR "_Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n              *)local_80;" (comma_expression "_Rb_tree<int,std" (binary_expression "_Rb_tree<int" (identifier "_Rb_tree") (< "<") (identifier "int")) (, ",") (identifier "std")) (: ":") (: ":") (comma_expression "pair<int_const,unsigned_int>,std" (binary_expression "pair<int_const" (identifier "pair") (< "<") (identifier "int_const")) (, ",") (binary_expression "unsigned_int>,std" (identifier "unsigned_int") (> ">") (ERROR "," (, ",")) (identifier "std"))) (: ":") (: ":") (binary_expression "_Select1st<std" (identifier "_Select1st") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "pair<int_const,unsigned_int>>,std" (binary_expression "pair<int_const" (identifier "pair") (< "<") (identifier "int_const")) (, ",") (binary_expression "unsigned_int>>,std" (identifier "unsigned_int") (>> ">>") (ERROR "," (, ",")) (identifier "std"))) (: ":") (: ":") (binary_expression "less<int>,std" (binary_expression "less<int" (identifier "less") (< "<") (identifier "int")) (> ">") (ERROR "," (, ",")) (identifier "std")) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "pair<int_const,unsigned_int>>>\n              *)local_80" (binary_expression "pair<int_const" (identifier "pair") (< "<") (identifier "int_const")) (, ",") (binary_expression "unsigned_int>>>\n              *)local_80" (identifier "unsigned_int") (>> ">>") (ERROR ">" (> ">")) (pointer_expression "*)local_80" (* "*") (ERROR ")" () ")")) (identifier "local_80")))) (; ";")) (call_expression "find_functions(this,param_2,param_3,local_80)" (identifier "find_functions") (argument_list "(this,param_2,param_3,local_80)" (( "(") (identifier "this") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "local_80") () ")"))) () ""))) (; ";")) (if_statement "if (local_6c != 0) {\n    local_8c = &local_94;\n    local_4c = local_8c;\n    local_94 = 0;\n    local_90 = (_Rb_tree_node *)0x0;\n    local_84 = 0;\n    local_88 = local_8c;\n    if (local_68 != local_64) {\n      local_54 = pppiVar5;\n      local_58 = (int **)PTR__M_insert_unique<std_pair<int_const,unsigned_int>const&>_004c45ec;\n      piVar14 = local_64;\n      piVar18 = local_68;\n      do {\n        if (local_78 == (_Rb_tree_node *)0x0) {\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    \n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }\n        else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }\n        pppiVar5 = local_54;\n        piVar18 = piVar18 + 1;\n      } while (piVar14 != piVar18);\n      if (local_84 != 0) {\n        if (local_8c != local_4c) {\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    \n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    \n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);\n        goto LAB_00287b2c;\n      }\n    }\n    std::\n    _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n    ::_M_erase(a_Stack_98,local_90);\n  }" (if "if") (parenthesized_expression "(local_6c != 0)" (( "(") (binary_expression "local_6c != 0" (identifier "local_6c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    local_8c = &local_94;\n    local_4c = local_8c;\n    local_94 = 0;\n    local_90 = (_Rb_tree_node *)0x0;\n    local_84 = 0;\n    local_88 = local_8c;\n    if (local_68 != local_64) {\n      local_54 = pppiVar5;\n      local_58 = (int **)PTR__M_insert_unique<std_pair<int_const,unsigned_int>const&>_004c45ec;\n      piVar14 = local_64;\n      piVar18 = local_68;\n      do {\n        if (local_78 == (_Rb_tree_node *)0x0) {\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    \n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }\n        else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }\n        pppiVar5 = local_54;\n        piVar18 = piVar18 + 1;\n      } while (piVar14 != piVar18);\n      if (local_84 != 0) {\n        if (local_8c != local_4c) {\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    \n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    \n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);\n        goto LAB_00287b2c;\n      }\n    }\n    std::\n    _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n    ::_M_erase(a_Stack_98,local_90);\n  }" ({ "{") (expression_statement "local_8c = &local_94;" (assignment_expression "local_8c = &local_94" (identifier "local_8c") (= "=") (pointer_expression "&local_94" (& "&") (identifier "local_94"))) (; ";")) (expression_statement "local_4c = local_8c;" (assignment_expression "local_4c = local_8c" (identifier "local_4c") (= "=") (identifier "local_8c")) (; ";")) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_90 = (_Rb_tree_node *)0x0;" (assignment_expression "local_90 = (_Rb_tree_node *)0x0" (identifier "local_90") (= "=") (cast_expression "(_Rb_tree_node *)0x0" (( "(") (type_descriptor "_Rb_tree_node *" (type_identifier "_Rb_tree_node") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" (identifier "local_84") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_88 = local_8c;" (assignment_expression "local_88 = local_8c" (identifier "local_88") (= "=") (identifier "local_8c")) (; ";")) (if_statement "if (local_68 != local_64) {\n      local_54 = pppiVar5;\n      local_58 = (int **)PTR__M_insert_unique<std_pair<int_const,unsigned_int>const&>_004c45ec;\n      piVar14 = local_64;\n      piVar18 = local_68;\n      do {\n        if (local_78 == (_Rb_tree_node *)0x0) {\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    \n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }\n        else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }\n        pppiVar5 = local_54;\n        piVar18 = piVar18 + 1;\n      } while (piVar14 != piVar18);\n      if (local_84 != 0) {\n        if (local_8c != local_4c) {\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    \n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    \n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);\n        goto LAB_00287b2c;\n      }\n    }" (if "if") (parenthesized_expression "(local_68 != local_64)" (( "(") (binary_expression "local_68 != local_64" (identifier "local_68") (!= "!=") (identifier "local_64")) () ")")) (compound_statement "{\n      local_54 = pppiVar5;\n      local_58 = (int **)PTR__M_insert_unique<std_pair<int_const,unsigned_int>const&>_004c45ec;\n      piVar14 = local_64;\n      piVar18 = local_68;\n      do {\n        if (local_78 == (_Rb_tree_node *)0x0) {\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    \n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }\n        else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }\n        pppiVar5 = local_54;\n        piVar18 = piVar18 + 1;\n      } while (piVar14 != piVar18);\n      if (local_84 != 0) {\n        if (local_8c != local_4c) {\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    \n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    \n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);\n        goto LAB_00287b2c;\n      }\n    }" ({ "{") (expression_statement "local_54 = pppiVar5;" (assignment_expression "local_54 = pppiVar5" (identifier "local_54") (= "=") (identifier "pppiVar5")) (; ";")) (expression_statement "local_58 = (int **)PTR__M_insert_unique<std_pair<int_const,unsigned_int>const&>_004c45ec;" (comma_expression "local_58 = (int **)PTR__M_insert_unique<std_pair<int_const,unsigned_int>const&>_004c45ec" (assignment_expression "local_58 = (int **)PTR__M_insert_unique<std_pair<int_const" (identifier "local_58") (= "=") (binary_expression "(int **)PTR__M_insert_unique<std_pair<int_const" (binary_expression "(int **)PTR__M_insert_unique<std_pair" (cast_expression "(int **)PTR__M_insert_unique" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR__M_insert_unique")) (< "<") (identifier "std_pair")) (< "<") (identifier "int_const"))) (, ",") (binary_expression "unsigned_int>const&>_004c45ec" (binary_expression "unsigned_int>const" (identifier "unsigned_int") (> ">") (identifier "const")) (ERROR "&" (& "&")) (> ">") (identifier "_004c45ec"))) (; ";")) (expression_statement "piVar14 = local_64;" (assignment_expression "piVar14 = local_64" (identifier "piVar14") (= "=") (identifier "local_64")) (; ";")) (expression_statement "piVar18 = local_68;" (assignment_expression "piVar18 = local_68" (identifier "piVar18") (= "=") (identifier "local_68")) (; ";")) (do_statement "do {\n        if (local_78 == (_Rb_tree_node *)0x0) {\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    \n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }\n        else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }\n        pppiVar5 = local_54;\n        piVar18 = piVar18 + 1;\n      } while (piVar14 != piVar18);" (do "do") (compound_statement "{\n        if (local_78 == (_Rb_tree_node *)0x0) {\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    \n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }\n        else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }\n        pppiVar5 = local_54;\n        piVar18 = piVar18 + 1;\n      }" ({ "{") (if_statement "if (local_78 == (_Rb_tree_node *)0x0) {\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    \n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }\n        else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }" (if "if") (parenthesized_expression "(local_78 == (_Rb_tree_node *)0x0)" (( "(") (binary_expression "local_78 == (_Rb_tree_node *)0x0" (identifier "local_78") (== "==") (cast_expression "(_Rb_tree_node *)0x0" (( "(") (type_descriptor "_Rb_tree_node *" (type_identifier "_Rb_tree_node") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);\nLAB_00287c78:\n                    \n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);\n          piVar14 = local_64;\n        }" ({ "{") (labeled_statement "LAB_00287f40:\n          p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);" (statement_identifier "LAB_00287f40") (: ":") (expression_statement "p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);" (assignment_expression "p_Var9 = (_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c)" (identifier "p_Var9") (= "=") (cast_expression "(_Rb_tree_node *)\n                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c)" (( "(") (type_descriptor "_Rb_tree_node *" (type_identifier "_Rb_tree_node") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c)" (parenthesized_expression "(*(code *)PTR__Rb_tree_decrement_004c45f0)" (( "(") (pointer_expression "*(code *)PTR__Rb_tree_decrement_004c45f0" (* "*") (cast_expression "(code *)PTR__Rb_tree_decrement_004c45f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__Rb_tree_decrement_004c45f0"))) () ")")) (argument_list "((_Rb_tree_node *)&local_7c)" (( "(") (cast_expression "(_Rb_tree_node *)&local_7c" (( "(") (type_descriptor "_Rb_tree_node *" (type_identifier "_Rb_tree_node") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_7c" (& "&") (identifier "local_7c"))) () ")"))))) (; ";"))) (labeled_statement "LAB_00287c78:\n                    \n          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);" (statement_identifier "LAB_00287c78") (: ":") (expression_statement "(*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);" (call_expression "(*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10)" (parenthesized_expression "(*(code *)local_58)" (( "(") (pointer_expression "*(code *)local_58" (* "*") (cast_expression "(code *)local_58" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_58"))) () ")")) (argument_list "(&local_c8,a_Stack_98,p_Var9 + 0x10)" (( "(") (pointer_expression "&local_c8" (& "&") (identifier "local_c8")) (, ",") (identifier "a_Stack_98") (, ",") (binary_expression "p_Var9 + 0x10" (identifier "p_Var9") (+ "+") (number_literal "0x10")) () ")"))) (; ";"))) (expression_statement "piVar14 = local_64;" (assignment_expression "piVar14 = local_64" (identifier "piVar14") (= "=") (identifier "local_64")) (; ";")) (} "}")) (else_clause "else {\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }" (else "else") (compound_statement "{\n          p_Var8 = (_Rb_tree_node *)&local_7c;\n          p_Var4 = local_78;\n          do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);\nLAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;\n          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;\n          if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }\n        }" ({ "{") (expression_statement "p_Var8 = (_Rb_tree_node *)&local_7c;" (assignment_expression "p_Var8 = (_Rb_tree_node *)&local_7c" (identifier "p_Var8") (= "=") (cast_expression "(_Rb_tree_node *)&local_7c" (( "(") (type_descriptor "_Rb_tree_node *" (type_identifier "_Rb_tree_node") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_7c" (& "&") (identifier "local_7c")))) (; ";")) (expression_statement "p_Var4 = local_78;" (assignment_expression "p_Var4 = local_78" (identifier "p_Var4") (= "=") (identifier "local_78")) (; ";")) (do_statement "do {\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);" (do "do") (compound_statement "{\n            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }\n            p_Var8 = p_Var9;\n            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);\n          }" ({ "{") (while_statement "while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }" (while "while") (parenthesized_expression "(p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18)" (( "(") (comma_expression "p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18" (assignment_expression "p_Var9 = p_Var4" (identifier "p_Var9") (= "=") (identifier "p_Var4")) (, ",") (binary_expression "*(int *)(p_Var9 + 0x10) < *piVar18" (pointer_expression "*(int *)(p_Var9 + 0x10)" (* "*") (cast_expression "(int *)(p_Var9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(p_Var9 + 0x10)" (( "(") (binary_expression "p_Var9 + 0x10" (identifier "p_Var9") (+ "+") (number_literal "0x10")) () ")")))) (< "<") (pointer_expression "*piVar18" (* "*") (identifier "piVar18")))) () ")")) (compound_statement "{\n              p_Var1 = p_Var9 + 0xc;\n              p_Var9 = p_Var8;\n              p_Var4 = *(_Rb_tree_node **)p_Var1;\n              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;\n            }" ({ "{") (expression_statement "p_Var1 = p_Var9 + 0xc;" (assignment_expression "p_Var1 = p_Var9 + 0xc" (identifier "p_Var1") (= "=") (binary_expression "p_Var9 + 0xc" (identifier "p_Var9") (+ "+") (number_literal "0xc"))) (; ";")) (expression_statement "p_Var9 = p_Var8;" (assignment_expression "p_Var9 = p_Var8" (identifier "p_Var9") (= "=") (identifier "p_Var8")) (; ";")) (expression_statement "p_Var4 = *(_Rb_tree_node **)p_Var1;" (assignment_expression "p_Var4 = *(_Rb_tree_node **)p_Var1" (identifier "p_Var4") (= "=") (pointer_expression "*(_Rb_tree_node **)p_Var1" (* "*") (cast_expression "(_Rb_tree_node **)p_Var1" (( "(") (type_descriptor "_Rb_tree_node **" (type_identifier "_Rb_tree_node") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "p_Var1")))) (; ";")) (if_statement "if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;" (if "if") (parenthesized_expression "(*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0)" (( "(") (binary_expression "*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0" (pointer_expression "*(_Rb_tree_node **)p_Var1" (* "*") (cast_expression "(_Rb_tree_node **)p_Var1" (( "(") (type_descriptor "_Rb_tree_node **" (type_identifier "_Rb_tree_node") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "p_Var1"))) (== "==") (cast_expression "(_Rb_tree_node *)0x0" (( "(") (type_descriptor "_Rb_tree_node *" (type_identifier "_Rb_tree_node") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00287c50;" (goto "goto") (statement_identifier "LAB_00287c50") (; ";"))) (} "}"))) (expression_statement "p_Var8 = p_Var9;" (assignment_expression "p_Var8 = p_Var9" (identifier "p_Var8") (= "=") (identifier "p_Var9")) (; ";")) (expression_statement "p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);" (assignment_expression "p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8)" (identifier "p_Var4") (= "=") (pointer_expression "*(_Rb_tree_node **)(p_Var9 + 8)" (* "*") (cast_expression "(_Rb_tree_node **)(p_Var9 + 8)" (( "(") (type_descriptor "_Rb_tree_node **" (type_identifier "_Rb_tree_node") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(p_Var9 + 8)" (( "(") (binary_expression "p_Var9 + 8" (identifier "p_Var9") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0)" (( "(") (binary_expression "*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0" (pointer_expression "*(_Rb_tree_node **)(p_Var9 + 8)" (* "*") (cast_expression "(_Rb_tree_node **)(p_Var9 + 8)" (( "(") (type_descriptor "_Rb_tree_node **" (type_identifier "_Rb_tree_node") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(p_Var9 + 8)" (( "(") (binary_expression "p_Var9 + 8" (identifier "p_Var9") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (cast_expression "(_Rb_tree_node *)0x0" (( "(") (type_descriptor "_Rb_tree_node *" (type_identifier "_Rb_tree_node") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (labeled_statement "LAB_00287c50:\n          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;" (statement_identifier "LAB_00287c50") (: ":") (if_statement "if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;" (if "if") (parenthesized_expression "(p_Var9 == (_Rb_tree_node *)&local_7c)" (( "(") (binary_expression "p_Var9 == (_Rb_tree_node *)&local_7c" (identifier "p_Var9") (== "==") (cast_expression "(_Rb_tree_node *)&local_7c" (( "(") (type_descriptor "_Rb_tree_node *" (type_identifier "_Rb_tree_node") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&local_7c" (& "&") (identifier "local_7c")))) () ")")) (goto_statement "goto LAB_00287f40;" (goto "goto") (statement_identifier "LAB_00287f40") (; ";")))) (if_statement "if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;" (if "if") (parenthesized_expression "(*(int *)(p_Var9 + 0x10) == *piVar18)" (( "(") (binary_expression "*(int *)(p_Var9 + 0x10) == *piVar18" (pointer_expression "*(int *)(p_Var9 + 0x10)" (* "*") (cast_expression "(int *)(p_Var9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(p_Var9 + 0x10)" (( "(") (binary_expression "p_Var9 + 0x10" (identifier "p_Var9") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (pointer_expression "*piVar18" (* "*") (identifier "piVar18"))) () ")")) (goto_statement "goto LAB_00287c78;" (goto "goto") (statement_identifier "LAB_00287c78") (; ";"))) (if_statement "if (local_74 != p_Var9) {\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }" (if "if") (parenthesized_expression "(local_74 != p_Var9)" (( "(") (binary_expression "local_74 != p_Var9" (identifier "local_74") (!= "!=") (identifier "p_Var9")) () ")")) (compound_statement "{\n            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);\n            goto LAB_00287c78;\n          }" ({ "{") (expression_statement "p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);" (assignment_expression "p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9)" (identifier "p_Var9") (= "=") (cast_expression "(_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9)" (( "(") (type_descriptor "_Rb_tree_node *" (type_identifier "_Rb_tree_node") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9)" (parenthesized_expression "(*(code *)PTR__Rb_tree_decrement_004c45f0)" (( "(") (pointer_expression "*(code *)PTR__Rb_tree_decrement_004c45f0" (* "*") (cast_expression "(code *)PTR__Rb_tree_decrement_004c45f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__Rb_tree_decrement_004c45f0"))) () ")")) (argument_list "(p_Var9)" (( "(") (identifier "p_Var9") () ")"))))) (; ";")) (goto_statement "goto LAB_00287c78;" (goto "goto") (statement_identifier "LAB_00287c78") (; ";")) (} "}"))) (} "}")))) (expression_statement "pppiVar5 = local_54;" (assignment_expression "pppiVar5 = local_54" (identifier "pppiVar5") (= "=") (identifier "local_54")) (; ";")) (expression_statement "piVar18 = piVar18 + 1;" (assignment_expression "piVar18 = piVar18 + 1" (identifier "piVar18") (= "=") (binary_expression "piVar18 + 1" (identifier "piVar18") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar14 != piVar18)" (( "(") (binary_expression "piVar14 != piVar18" (identifier "piVar14") (!= "!=") (identifier "piVar18")) () ")")) (; ";")) (if_statement "if (local_84 != 0) {\n        if (local_8c != local_4c) {\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    \n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    \n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);\n        goto LAB_00287b2c;\n      }" (if "if") (parenthesized_expression "(local_84 != 0)" (( "(") (binary_expression "local_84 != 0" (identifier "local_84") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (local_8c != local_4c) {\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    \n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    \n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }\nLAB_00288010:\n        std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);\n        goto LAB_00287b2c;\n      }" ({ "{") (if_statement "if (local_8c != local_4c) {\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    \n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    \n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }" (if "if") (parenthesized_expression "(local_8c != local_4c)" (( "(") (binary_expression "local_8c != local_4c" (identifier "local_8c") (!= "!=") (identifier "local_4c")) () ")")) (compound_statement "{\n          local_58 = (int **)local_a8;\n          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);\n          local_44 = (int *)PTR_parameters_004c19b4;\n          if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    \n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }\n          local_a8[0] = 0;\n          local_ac = 0;\n          local_c0[0] = 0;\n          local_c4 = 0;\n                    \n          local_c8 = (int **)local_c0;\n          local_b0 = local_58;\n          (*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);\n          return;\n        }" ({ "{") (expression_statement "local_58 = (int **)local_a8;" (assignment_expression "local_58 = (int **)local_a8" (identifier "local_58") (= "=") (cast_expression "(int **)local_a8" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_a8"))) (; ";")) (expression_statement "piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);" (assignment_expression "piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" (identifier "piVar14") (= "=") (pointer_expression "*(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" (* "*") (cast_expression "(int **)(*(int *)PTR_parameters_004c19b4 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" (( "(") (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" (* "*") (cast_expression "(int *)PTR_parameters_004c19b4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parameters_004c19b4"))) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "local_44 = (int *)PTR_parameters_004c19b4;" (assignment_expression "local_44 = (int *)PTR_parameters_004c19b4" (identifier "local_44") (= "=") (cast_expression "(int *)PTR_parameters_004c19b4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parameters_004c19b4"))) (; ";")) (if_statement "if (piVar14 != (int *)0x0) {\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    \n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }" (if "if") (parenthesized_expression "(piVar14 != (int *)0x0)" (( "(") (binary_expression "piVar14 != (int *)0x0" (identifier "piVar14") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            local_48 = &local_c8;\n            local_54 = &local_b0;\n            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;\n            local_34 = (uint)(uVar17 < 0x40000000);\n            puVar10 = local_8c;\n            local_3c = uVar17 * 4;\n            do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    \n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);\n          }" ({ "{") (expression_statement "local_48 = &local_c8;" (assignment_expression "local_48 = &local_c8" (identifier "local_48") (= "=") (pointer_expression "&local_c8" (& "&") (identifier "local_c8"))) (; ";")) (expression_statement "local_54 = &local_b0;" (assignment_expression "local_54 = &local_b0" (identifier "local_54") (= "=") (pointer_expression "&local_b0" (& "&") (identifier "local_b0"))) (; ";")) (expression_statement "local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;" (assignment_expression "local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34" (identifier "local_30") (= "=") (binary_expression "PTR_s_in_a_linker_script_004c191c + -0xd34" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "-0xd34"))) (; ";")) (expression_statement "local_34 = (uint)(uVar17 < 0x40000000);" (assignment_expression "local_34 = (uint)(uVar17 < 0x40000000)" (identifier "local_34") (= "=") (call_expression "(uint)(uVar17 < 0x40000000)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar17 < 0x40000000)" (( "(") (binary_expression "uVar17 < 0x40000000" (identifier "uVar17") (< "<") (number_literal "0x40000000")) () ")")))) (; ";")) (expression_statement "puVar10 = local_8c;" (assignment_expression "puVar10 = local_8c" (identifier "puVar10") (= "=") (identifier "local_8c")) (; ";")) (expression_statement "local_3c = uVar17 * 4;" (assignment_expression "local_3c = uVar17 * 4" (identifier "local_3c") (= "=") (binary_expression "uVar17 * 4" (identifier "uVar17") (* "*") (number_literal "4"))) (; ";")) (do_statement "do {\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    \n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            } while (piVar14 != (int *)0x0);" (do "do") (compound_statement "{\n              local_a8[0] = 0;\n              local_ac = 0;\n              local_c0[0] = 0;\n              local_c4 = 0;\n              local_c8 = (int **)local_c0;\n              local_b0 = local_58;\n                    \n              (**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);\n              if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }\n              if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }\n              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);\n              if (puVar10 == local_4c) goto LAB_00288010;\n              piVar14 = *(int **)(*local_44 + 0xc);\n            }" ({ "{") (expression_statement "local_a8[0] = 0;" (assignment_expression "local_a8[0] = 0" (subscript_expression "local_a8[0]" (identifier "local_a8") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" (identifier "local_ac") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_c0[0] = 0;" (assignment_expression "local_c0[0] = 0" (subscript_expression "local_c0[0]" (identifier "local_c0") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" (identifier "local_c4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_c8 = (int **)local_c0;" (assignment_expression "local_c8 = (int **)local_c0" (identifier "local_c8") (= "=") (cast_expression "(int **)local_c0" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_c0"))) (; ";")) (expression_statement "local_b0 = local_58;" (assignment_expression "local_b0 = local_58" (identifier "local_b0") (= "=") (identifier "local_58")) (; ";")) (expression_statement "(**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48);" (call_expression "(**(code **)(*piVar14 + 0x58))\n                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48)" (parenthesized_expression "(**(code **)(*piVar14 + 0x58))" (( "(") (pointer_expression "**(code **)(*piVar14 + 0x58)" (* "*") (pointer_expression "*(code **)(*piVar14 + 0x58)" (* "*") (cast_expression "(code **)(*piVar14 + 0x58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar14 + 0x58)" (( "(") (binary_expression "*piVar14 + 0x58" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (+ "+") (number_literal "0x58")) () ")"))))) () ")")) (argument_list "(piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,\n                         local_54,local_48)" (( "(") (identifier "piVar14") (, ",") (identifier "this") (, ",") (identifier "param_3") (, ",") (subscript_expression "puVar10[4]" (identifier "puVar10") ([ "[") (number_literal "4") (] "]")) (, ",") (subscript_expression "puVar10[5]" (identifier "puVar10") ([ "[") (number_literal "5") (] "]")) (, ",") (identifier "param_4") (, ",") (identifier "uVar17") (, ",") (identifier "param_6") (, ",") (identifier "param_7") (, ",") (identifier "local_54") (, ",") (identifier "local_48") () ")"))) (; ";")) (if_statement "if (local_ac != 0) {\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }" (if "if") (parenthesized_expression "(local_ac != 0)" (( "(") (binary_expression "local_ac != 0" (identifier "local_ac") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                uVar6 = 0;\n                if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }\n                local_50 = (code *)0x0;\n                puVar19 = (uint *)param_4;\n                do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);\n              }" ({ "{") (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_c4 == 0) {\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }" (if "if") (parenthesized_expression "(local_c4 == 0)" (( "(") (binary_expression "local_c4 == 0" (identifier "local_c4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  (*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);\n                  return;\n                }" ({ "{") (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,\n                             PTR_s_in_a_linker_script_004c191c + -0x614)" (( "(") (binary_expression "PTR_s_in_a_linker_script_004c191c + -0xe14" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "-0xe14")) (, ",") (number_literal "0x53d") (, ",") (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x614" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "-0x614")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "local_50 = (code *)0x0;" (assignment_expression "local_50 = (code *)0x0" (identifier "local_50") (= "=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar19 = (uint *)param_4;" (assignment_expression "puVar19 = (uint *)param_4" (identifier "puVar19") (= "=") (cast_expression "(uint *)param_4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_4"))) (; ";")) (do_statement "do {\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                } while (uVar6 < uVar17);" (do "do") (compound_statement "{\n                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }\n                  if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }\n                  uVar6 = uVar6 + 1;\n                  puVar19 = puVar19 + 3;\n                }" ({ "{") (if_statement "if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }\n                  else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }" (if "if") (parenthesized_expression "(*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3)" (( "(") (binary_expression "*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3" (pointer_expression "*(code **)(*(int *)param_9 + 0xf8)" (* "*") (cast_expression "(code **)(*(int *)param_9 + 0xf8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)param_9 + 0xf8)" (( "(") (binary_expression "*(int *)param_9 + 0xf8" (pointer_expression "*(int *)param_9" (* "*") (cast_expression "(int *)param_9" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_9"))) (+ "+") (number_literal "0xf8")) () ")")))) (== "==") (cast_expression "(code *)puVar3" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) () ")")) (compound_statement "{\n                    uVar13 = puVar19[1];\n                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);\n                  }" ({ "{") (expression_statement "uVar13 = puVar19[1];" (assignment_expression "uVar13 = puVar19[1]" (identifier "uVar13") (= "=") (subscript_expression "puVar19[1]" (identifier "puVar19") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8);" (assignment_expression "pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8)" (identifier "pppiVar7") (= "=") (cast_expression "(int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8)" (( "(") (binary_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000 >> 8" (binary_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000" (parenthesized_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10)" (( "(") (binary_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>\n                                         0x10" (parenthesized_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10" (binary_expression "(uVar13 >> 0x10) << 0x18" (parenthesized_expression "(uVar13 >> 0x10)" (( "(") (binary_expression "uVar13 >> 0x10" (identifier "uVar13") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar13 >> 0x18) << 0x10" (parenthesized_expression "(uVar13 >> 0x18)" (( "(") (binary_expression "uVar13 >> 0x18" (identifier "uVar13") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *\n                                                 0x10000" (parenthesized_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff)" (( "(") (binary_expression "(uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff" (binary_expression "(uVar13 & 0xff) << 8" (parenthesized_expression "(uVar13 & 0xff)" (( "(") (binary_expression "uVar13 & 0xff" (identifier "uVar13") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar13 >> 8 & 0xff" (binary_expression "uVar13 >> 8" (identifier "uVar13") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000"))) (>> ">>") (number_literal "8")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }" (else "else") (compound_statement "{\n                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);\n                  }" ({ "{") (expression_statement "pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);" (assignment_expression "pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19)" (identifier "pppiVar7") (= "=") (cast_expression "(int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19)" (( "(") (type_descriptor "int ***" (primitive_type "int") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (call_expression "(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19)" (parenthesized_expression "(**(code **)(*(int *)param_9 + 0xf8))" (( "(") (pointer_expression "**(code **)(*(int *)param_9 + 0xf8)" (* "*") (pointer_expression "*(code **)(*(int *)param_9 + 0xf8)" (* "*") (cast_expression "(code **)(*(int *)param_9 + 0xf8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)param_9 + 0xf8)" (( "(") (binary_expression "*(int *)param_9 + 0xf8" (pointer_expression "*(int *)param_9" (* "*") (cast_expression "(int *)param_9" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_9"))) (+ "+") (number_literal "0xf8")) () ")"))))) () ")")) (argument_list "(param_9,puVar19)" (( "(") (identifier "param_9") (, ",") (identifier "puVar19") () ")"))))) (; ";")) (} "}")))) (if_statement "if (pppiVar5 <= pppiVar7) {\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }" (if "if") (parenthesized_expression "(pppiVar5 <= pppiVar7)" (( "(") (binary_expression "pppiVar5 <= pppiVar7" (identifier "pppiVar5") (<= "<=") (identifier "pppiVar7")) () ")")) (compound_statement "{\n                    uVar13 = *puVar19;\n                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;\n                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }\n                  }" ({ "{") (expression_statement "uVar13 = *puVar19;" (assignment_expression "uVar13 = *puVar19" (identifier "uVar13") (= "=") (pointer_expression "*puVar19" (* "*") (identifier "puVar19"))) (; ";")) (expression_statement "iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;" (assignment_expression "iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" (identifier "iVar16") (= "=") (binary_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +\n                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10" (binary_expression "(uVar13 >> 0x10) << 0x18" (parenthesized_expression "(uVar13 >> 0x10)" (( "(") (binary_expression "uVar13 >> 0x10" (identifier "uVar13") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar13 >> 0x18) << 0x10" (parenthesized_expression "(uVar13 >> 0x18)" (( "(") (binary_expression "uVar13 >> 0x18" (identifier "uVar13") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff)" (( "(") (binary_expression "(uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff" (binary_expression "(uVar13 & 0xff) << 8" (parenthesized_expression "(uVar13 & 0xff)" (( "(") (binary_expression "uVar13 & 0xff" (identifier "uVar13") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar13 >> 8 & 0xff" (binary_expression "uVar13 >> 8" (identifier "uVar13") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (if_statement "if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }" (if "if") (parenthesized_expression "(((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5])))" (( "(") (binary_expression "((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))" (parenthesized_expression "((int)puVar10[4] <= iVar16)" (( "(") (binary_expression "(int)puVar10[4] <= iVar16" (cast_expression "(int)puVar10[4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "puVar10[4]" (identifier "puVar10") ([ "[") (number_literal "4") (] "]"))) (<= "<=") (identifier "iVar16")) () ")")) (&& "&&") (parenthesized_expression "(iVar16 < (int)(puVar10[4] + puVar10[5]))" (( "(") (binary_expression "iVar16 < (int)(puVar10[4] + puVar10[5])" (identifier "iVar16") (< "<") (cast_expression "(int)(puVar10[4] + puVar10[5])" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(puVar10[4] + puVar10[5])" (( "(") (binary_expression "puVar10[4] + puVar10[5]" (subscript_expression "puVar10[4]" (identifier "puVar10") ([ "[") (number_literal "4") (] "]")) (+ "+") (subscript_expression "puVar10[5]" (identifier "puVar10") ([ "[") (number_literal "5") (] "]"))) () ")")))) () ")"))) () ")")) (compound_statement "{\n                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);\n                      if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }\n                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }\n                      iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));\n                      if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }\n                    }" ({ "{") (expression_statement "uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);" (assignment_expression "uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8)" (identifier "uVar13") (= "=") (binary_expression "(int)pppiVar7 - (int)*(int ****)(this + 0xb8)" (cast_expression "(int)pppiVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppiVar7")) (- "-") (cast_expression "(int)*(int ****)(this + 0xb8)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(int ****)(this + 0xb8)" (* "*") (cast_expression "(int ****)(this + 0xb8)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(this + 0xb8)" (( "(") (binary_expression "this + 0xb8" (identifier "this") (+ "+") (number_literal "0xb8")) () ")"))))))) (; ";")) (if_statement "if (pppiVar7 < *(int ****)(this + 0xb8)) {\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }" (if "if") (parenthesized_expression "(pppiVar7 < *(int ****)(this + 0xb8))" (( "(") (binary_expression "pppiVar7 < *(int ****)(this + 0xb8)" (identifier "pppiVar7") (< "<") (pointer_expression "*(int ****)(this + 0xb8)" (* "*") (cast_expression "(int ****)(this + 0xb8)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(this + 0xb8)" (( "(") (binary_expression "this + 0xb8" (identifier "this") (+ "+") (number_literal "0xb8")) () ")"))))) () ")")) (compound_statement "{\n                    \n                        pcVar20 = (code *)trap(0);\n                        (*pcVar20)();\n                      }" ({ "{") (expression_statement "pcVar20 = (code *)trap(0);" (assignment_expression "pcVar20 = (code *)trap(0)" (identifier "pcVar20") (= "=") (cast_expression "(code *)trap(0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "trap(0)" (identifier "trap") (argument_list "(0)" (( "(") (number_literal "0") () ")"))))) (; ";")) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" (( "(") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }" (if "if") (parenthesized_expression "((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13)" (( "(") (binary_expression "(uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13" (call_expression "(uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2)" (( "(") (binary_expression "*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2" (binary_expression "*(int *)(this + 200) - *(int *)(this + 0xc4)" (pointer_expression "*(int *)(this + 200)" (* "*") (cast_expression "(int *)(this + 200)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 200)" (( "(") (binary_expression "this + 200" (identifier "this") (+ "+") (number_literal "200")) () ")")))) (- "-") (pointer_expression "*(int *)(this + 0xc4)" (* "*") (cast_expression "(int *)(this + 0xc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0xc4)" (( "(") (binary_expression "this + 0xc4" (identifier "this") (+ "+") (number_literal "0xc4")) () ")"))))) (>> ">>") (number_literal "2")) () ")"))) (<= "<=") (identifier "uVar13")) () ")")) (compound_statement "{\n                    \n                        (*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);\n                        return;\n                      }" ({ "{") (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,\n                                   PTR_s_in_a_linker_script_004c191c + -0x5f8)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x4570")) (, ",") (number_literal "0x8ad") (, ",") (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x5f8" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "-0x5f8")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4));" (assignment_expression "iVar16 = (*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4))" (identifier "iVar16") (= "=") (call_expression "(*(code *)PTR_compare_004c27e8)\n                                         (local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4))" (parenthesized_expression "(*(code *)PTR_compare_004c27e8)" (( "(") (pointer_expression "*(code *)PTR_compare_004c27e8" (* "*") (cast_expression "(code *)PTR_compare_004c27e8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_compare_004c27e8"))) () ")")) (argument_list "(local_54,**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4))" (( "(") (identifier "local_54") (, ",") (pointer_expression "**(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4)" (* "*") (pointer_expression "*(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4)" (* "*") (cast_expression "(undefined4 **)\n                                                     (*(int *)(this + 0xc4) + uVar13 * 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(this + 0xc4) + uVar13 * 4)" (( "(") (binary_expression "*(int *)(this + 0xc4) + uVar13 * 4" (pointer_expression "*(int *)(this + 0xc4)" (* "*") (cast_expression "(int *)(this + 0xc4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0xc4)" (( "(") (binary_expression "this + 0xc4" (identifier "this") (+ "+") (number_literal "0xc4")) () ")")))) (+ "+") (binary_expression "uVar13 * 4" (identifier "uVar13") (* "*") (number_literal "4"))) () ")"))))) () ")")))) (; ";")) (if_statement "if (iVar16 == 0) {\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }" (if "if") (parenthesized_expression "(iVar16 == 0)" (( "(") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                        if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }\n                        if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }\n                        puVar11[uVar6] = local_50;\n                      }" ({ "{") (if_statement "if ((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)) {\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }" (if "if") (parenthesized_expression "((local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0))" (( "(") (binary_expression "(local_50 == (code *)0x0) &&\n                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)" (parenthesized_expression "(local_50 == (code *)0x0)" (( "(") (binary_expression "local_50 == (code *)0x0" (identifier "local_50") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0)" (( "(") (comma_expression "local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),\n                           local_50 == (code *)0x0" (assignment_expression "local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0)" (identifier "local_50") (= "=") (cast_expression "(code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0)" (parenthesized_expression "(*(code *)PTR_lookup_004c1e40)" (( "(") (pointer_expression "*(code *)PTR_lookup_004c1e40" (* "*") (cast_expression "(code *)PTR_lookup_004c1e40" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_lookup_004c1e40"))) () ")")) (argument_list "(param_1,local_c8,0)" (( "(") (identifier "param_1") (, ",") (identifier "local_c8") (, ",") (number_literal "0") () ")"))))) (, ",") (binary_expression "local_50 == (code *)0x0" (identifier "local_50") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);\n                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);\n                          break;\n                        }" ({ "{") (expression_statement "uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);" (assignment_expression "uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30)" (identifier "uVar12") (= "=") (call_expression "(*(code *)PTR_gettext_004c5c30)(local_30)" (parenthesized_expression "(*(code *)PTR_gettext_004c5c30)" (( "(") (pointer_expression "*(code *)PTR_gettext_004c5c30" (* "*") (cast_expression "(code *)PTR_gettext_004c5c30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_gettext_004c5c30"))) () ")")) (argument_list "(local_30)" (( "(") (identifier "local_30") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);" (call_expression "(*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8)" (parenthesized_expression "(*(code *)PTR_error_004c1a54)" (( "(") (pointer_expression "*(code *)PTR_error_004c1a54" (* "*") (cast_expression "(code *)PTR_error_004c1a54" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_error_004c1a54"))) () ")")) (argument_list "(this,uVar12,local_b0,local_c8)" (( "(") (identifier "this") (, ",") (identifier "uVar12") (, ",") (identifier "local_b0") (, ",") (identifier "local_c8") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (if_statement "if (*param_8 == (Reloc_symbol_changes *)0x0) {\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }\n                        else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }" (if "if") (parenthesized_expression "(*param_8 == (Reloc_symbol_changes *)0x0)" (( "(") (binary_expression "*param_8 == (Reloc_symbol_changes *)0x0" (pointer_expression "*param_8" (* "*") (identifier "param_8")) (== "==") (cast_expression "(Reloc_symbol_changes *)0x0" (( "(") (type_descriptor "Reloc_symbol_changes *" (type_identifier "Reloc_symbol_changes") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                          local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);\n                          *(undefined4 *)local_40 = 0;\n                          *(undefined4 *)(local_40 + 4) = 0;\n                          *(undefined4 *)(local_40 + 8) = 0;\n                          if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }\n                    \n                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);\n                          *(undefined4 **)local_40 = puVar11;\n                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;\n                          uVar13 = uVar17;\n                          puVar15 = puVar11;\n                          do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);\n                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;\n                          *param_8 = local_40;\n                        }" ({ "{") (expression_statement "local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc);" (assignment_expression "local_40 = (Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc)" (identifier "local_40") (= "=") (cast_expression "(Reloc_symbol_changes *)\n                                     (*(code *)PTR_operator_new_004c13a8)(0xc)" (( "(") (type_descriptor "Reloc_symbol_changes *" (type_identifier "Reloc_symbol_changes") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_operator_new_004c13a8)(0xc)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" (( "(") (pointer_expression "*(code *)PTR_operator_new_004c13a8" (* "*") (cast_expression "(code *)PTR_operator_new_004c13a8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_new_004c13a8"))) () ")")) (argument_list "(0xc)" (( "(") (number_literal "0xc") () ")"))))) (; ";")) (expression_statement "*(undefined4 *)local_40 = 0;" (assignment_expression "*(undefined4 *)local_40 = 0" (pointer_expression "*(undefined4 *)local_40" (* "*") (cast_expression "(undefined4 *)local_40" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_40"))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(local_40 + 4) = 0;" (assignment_expression "*(undefined4 *)(local_40 + 4) = 0" (pointer_expression "*(undefined4 *)(local_40 + 4)" (* "*") (cast_expression "(undefined4 *)(local_40 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40 + 4)" (( "(") (binary_expression "local_40 + 4" (identifier "local_40") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(local_40 + 8) = 0;" (assignment_expression "*(undefined4 *)(local_40 + 8) = 0" (pointer_expression "*(undefined4 *)(local_40 + 8)" (* "*") (cast_expression "(undefined4 *)(local_40 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40 + 8)" (( "(") (binary_expression "local_40 + 8" (identifier "local_40") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_34 == 0) {\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }" (if "if") (parenthesized_expression "(local_34 == 0)" (( "(") (binary_expression "local_34 == 0" (identifier "local_34") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();\n                            goto LAB_002880fc;\n                          }" ({ "{") (expression_statement "(*(code *)PTR___throw_bad_alloc_004c1ac0)();" (call_expression "(*(code *)PTR___throw_bad_alloc_004c1ac0)()" (parenthesized_expression "(*(code *)PTR___throw_bad_alloc_004c1ac0)" (( "(") (pointer_expression "*(code *)PTR___throw_bad_alloc_004c1ac0" (* "*") (cast_expression "(code *)PTR___throw_bad_alloc_004c1ac0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___throw_bad_alloc_004c1ac0"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_002880fc;" (goto "goto") (statement_identifier "LAB_002880fc") (; ";")) (} "}"))) (expression_statement "puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);" (assignment_expression "puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c)" (identifier "puVar11") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_operator_new_004c13a8)(local_3c)" (parenthesized_expression "(*(code *)PTR_operator_new_004c13a8)" (( "(") (pointer_expression "*(code *)PTR_operator_new_004c13a8" (* "*") (cast_expression "(code *)PTR_operator_new_004c13a8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_new_004c13a8"))) () ")")) (argument_list "(local_3c)" (( "(") (identifier "local_3c") () ")"))))) (; ";")) (expression_statement "*(undefined4 **)local_40 = puVar11;" (assignment_expression "*(undefined4 **)local_40 = puVar11" (pointer_expression "*(undefined4 **)local_40" (* "*") (cast_expression "(undefined4 **)local_40" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_40"))) (= "=") (identifier "puVar11")) (; ";")) (expression_statement "*(int *)(local_40 + 8) = (int)puVar11 + local_3c;" (assignment_expression "*(int *)(local_40 + 8) = (int)puVar11 + local_3c" (pointer_expression "*(int *)(local_40 + 8)" (* "*") (cast_expression "(int *)(local_40 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40 + 8)" (( "(") (binary_expression "local_40 + 8" (identifier "local_40") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "(int)puVar11 + local_3c" (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")) (+ "+") (identifier "local_3c"))) (; ";")) (expression_statement "uVar13 = uVar17;" (assignment_expression "uVar13 = uVar17" (identifier "uVar13") (= "=") (identifier "uVar17")) (; ";")) (expression_statement "puVar15 = puVar11;" (assignment_expression "puVar15 = puVar11" (identifier "puVar15") (= "=") (identifier "puVar11")) (; ";")) (do_statement "do {\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          } while (uVar13 != 0);" (do "do") (compound_statement "{\n                            uVar13 = uVar13 - 1;\n                            *puVar15 = 0;\n                            puVar15 = puVar15 + 1;\n                          }" ({ "{") (expression_statement "uVar13 = uVar13 - 1;" (assignment_expression "uVar13 = uVar13 - 1" (identifier "uVar13") (= "=") (binary_expression "uVar13 - 1" (identifier "uVar13") (- "-") (number_literal "1"))) (; ";")) (expression_statement "*puVar15 = 0;" (assignment_expression "*puVar15 = 0" (pointer_expression "*puVar15" (* "*") (identifier "puVar15")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar15 = puVar15 + 1;" (assignment_expression "puVar15 = puVar15 + 1" (identifier "puVar15") (= "=") (binary_expression "puVar15 + 1" (identifier "puVar15") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar13 != 0)" (( "(") (binary_expression "uVar13 != 0" (identifier "uVar13") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "*(int *)(local_40 + 4) = (int)puVar11 + local_3c;" (assignment_expression "*(int *)(local_40 + 4) = (int)puVar11 + local_3c" (pointer_expression "*(int *)(local_40 + 4)" (* "*") (cast_expression "(int *)(local_40 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_40 + 4)" (( "(") (binary_expression "local_40 + 4" (identifier "local_40") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "(int)puVar11 + local_3c" (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")) (+ "+") (identifier "local_3c"))) (; ";")) (expression_statement "*param_8 = local_40;" (assignment_expression "*param_8 = local_40" (pointer_expression "*param_8" (* "*") (identifier "param_8")) (= "=") (identifier "local_40")) (; ";")) (} "}")) (else_clause "else {\n                          puVar11 = *(undefined4 **)*param_8;\n                        }" (else "else") (compound_statement "{\n                          puVar11 = *(undefined4 **)*param_8;\n                        }" ({ "{") (expression_statement "puVar11 = *(undefined4 **)*param_8;" (assignment_expression "puVar11 = *(undefined4 **)*param_8" (identifier "puVar11") (= "=") (pointer_expression "*(undefined4 **)*param_8" (* "*") (cast_expression "(undefined4 **)*param_8" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*param_8" (* "*") (identifier "param_8"))))) (; ";")) (} "}")))) (expression_statement "puVar11[uVar6] = local_50;" (assignment_expression "puVar11[uVar6] = local_50" (subscript_expression "puVar11[uVar6]" (identifier "puVar11") ([ "[") (identifier "uVar6") (] "]")) (= "=") (identifier "local_50")) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" (identifier "uVar6") (= "=") (binary_expression "uVar6 + 1" (identifier "uVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar19 = puVar19 + 3;" (assignment_expression "puVar19 = puVar19 + 3" (identifier "puVar19") (= "=") (binary_expression "puVar19 + 3" (identifier "puVar19") (+ "+") (number_literal "3"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar6 < uVar17)" (( "(") (binary_expression "uVar6 < uVar17" (identifier "uVar6") (< "<") (identifier "uVar17")) () ")")) (; ";")) (} "}"))) (if_statement "if (local_c8 != (int **)local_c0) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }" (if "if") (parenthesized_expression "(local_c8 != (int **)local_c0)" (( "(") (binary_expression "local_c8 != (int **)local_c0" (identifier "local_c8") (!= "!=") (cast_expression "(int **)local_c0" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_c0"))) () ")")) (compound_statement "{\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_004c12fc" (* "*") (cast_expression "(code *)PTR_operator_delete_004c12fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_004c12fc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_b0 != local_58) {\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }" (if "if") (parenthesized_expression "(local_b0 != local_58)" (( "(") (binary_expression "local_b0 != local_58" (identifier "local_b0") (!= "!=") (identifier "local_58")) () ")")) (compound_statement "{\n                (*(code *)PTR_operator_delete_004c12fc)();\n              }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_004c12fc" (* "*") (cast_expression "(code *)PTR_operator_delete_004c12fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_004c12fc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);" (assignment_expression "puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10)" (identifier "puVar10") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10)" (parenthesized_expression "(*(code *)PTR__Rb_tree_increment_004c1e5c)" (( "(") (pointer_expression "*(code *)PTR__Rb_tree_increment_004c1e5c" (* "*") (cast_expression "(code *)PTR__Rb_tree_increment_004c1e5c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__Rb_tree_increment_004c1e5c"))) () ")")) (argument_list "(puVar10)" (( "(") (identifier "puVar10") () ")"))))) (; ";")) (if_statement "if (puVar10 == local_4c) goto LAB_00288010;" (if "if") (parenthesized_expression "(puVar10 == local_4c)" (( "(") (binary_expression "puVar10 == local_4c" (identifier "puVar10") (== "==") (identifier "local_4c")) () ")")) (goto_statement "goto LAB_00288010;" (goto "goto") (statement_identifier "LAB_00288010") (; ";"))) (expression_statement "piVar14 = *(int **)(*local_44 + 0xc);" (assignment_expression "piVar14 = *(int **)(*local_44 + 0xc)" (identifier "piVar14") (= "=") (pointer_expression "*(int **)(*local_44 + 0xc)" (* "*") (cast_expression "(int **)(*local_44 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*local_44 + 0xc)" (( "(") (binary_expression "*local_44 + 0xc" (pointer_expression "*local_44" (* "*") (identifier "local_44")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar14 != (int *)0x0)" (( "(") (binary_expression "piVar14 != (int *)0x0" (identifier "piVar14") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (expression_statement "local_a8[0] = 0;" (assignment_expression "local_a8[0] = 0" (subscript_expression "local_a8[0]" (identifier "local_a8") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_ac = 0;" (assignment_expression "local_ac = 0" (identifier "local_ac") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_c0[0] = 0;" (assignment_expression "local_c0[0] = 0" (subscript_expression "local_c0[0]" (identifier "local_c0") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_c4 = 0;" (assignment_expression "local_c4 = 0" (identifier "local_c4") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_c8 = (int **)local_c0;" (assignment_expression "local_c8 = (int **)local_c0" (identifier "local_c8") (= "=") (cast_expression "(int **)local_c0" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "local_c0"))) (; ";")) (expression_statement "local_b0 = local_58;" (assignment_expression "local_b0 = local_58" (identifier "local_b0") (= "=") (identifier "local_58")) (; ";")) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,\n                     PTR_s_in_a_linker_script_004c191c + -0x5e8)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "-0x9b8")) (, ",") (number_literal "0x69") (, ",") (binary_expression "PTR_s_in_a_linker_script_004c191c + -0x5e8" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "-0x5e8")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (labeled_statement "LAB_00288010:\n        std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);" (statement_identifier "LAB_00288010") (: ":") (ERROR "std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::" (comma_expression "std::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std" (identifier "std") (ERROR "::\n        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>" (: ":") (: ":") (comma_expression "_Rb_tree<int,std" (binary_expression "_Rb_tree<int" (identifier "_Rb_tree") (< "<") (identifier "int")) (, ",") (identifier "std")) (: ":") (: ":") (comma_expression "pair<int_const,unsigned_int>,std" (binary_expression "pair<int_const" (identifier "pair") (< "<") (identifier "int_const")) (, ",") (binary_expression "unsigned_int>,std" (identifier "unsigned_int") (> ">") (ERROR "," (, ",")) (identifier "std"))) (: ":") (: ":") (binary_expression "_Select1st<std" (identifier "_Select1st") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "pair<int_const,unsigned_int>>,std" (binary_expression "pair<int_const" (identifier "pair") (< "<") (identifier "int_const")) (, ",") (binary_expression "unsigned_int>>,std" (identifier "unsigned_int") (>> ">>") (ERROR "," (, ",")) (identifier "std"))) (: ":") (: ":") (binary_expression "less<int" (identifier "less") (< "<") (identifier "int")) (> ">")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":") (: ":")) (expression_statement "pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90);" (comma_expression "pair<int_const,unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90)" (binary_expression "pair<int_const" (identifier "pair") (< "<") (identifier "int_const")) (, ",") (binary_expression "unsigned_int>>>\n        ::_M_erase(a_Stack_98,local_90)" (identifier "unsigned_int") (>> ">>") (ERROR ">\n        ::" (> ">") (: ":") (: ":")) (call_expression "_M_erase(a_Stack_98,local_90)" (identifier "_M_erase") (argument_list "(a_Stack_98,local_90)" (( "(") (identifier "a_Stack_98") (, ",") (identifier "local_90") () ")"))))) (; ";"))) (goto_statement "goto LAB_00287b2c;" (goto "goto") (statement_identifier "LAB_00287b2c") (; ";")) (} "}"))) (} "}"))) (ERROR "std::\n    _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::" (comma_expression "std::\n    _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std" (identifier "std") (ERROR "::\n    _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>" (: ":") (: ":") (comma_expression "_Rb_tree<int,std" (binary_expression "_Rb_tree<int" (identifier "_Rb_tree") (< "<") (identifier "int")) (, ",") (identifier "std")) (: ":") (: ":") (comma_expression "pair<int_const,unsigned_int>,std" (binary_expression "pair<int_const" (identifier "pair") (< "<") (identifier "int_const")) (, ",") (binary_expression "unsigned_int>,std" (identifier "unsigned_int") (> ">") (ERROR "," (, ",")) (identifier "std"))) (: ":") (: ":") (binary_expression "_Select1st<std" (identifier "_Select1st") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "pair<int_const,unsigned_int>>,std" (binary_expression "pair<int_const" (identifier "pair") (< "<") (identifier "int_const")) (, ",") (binary_expression "unsigned_int>>,std" (identifier "unsigned_int") (>> ">>") (ERROR "," (, ",")) (identifier "std"))) (: ":") (: ":") (binary_expression "less<int" (identifier "less") (< "<") (identifier "int")) (> ">")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":") (: ":")) (expression_statement "pair<int_const,unsigned_int>>>\n    ::_M_erase(a_Stack_98,local_90);" (comma_expression "pair<int_const,unsigned_int>>>\n    ::_M_erase(a_Stack_98,local_90)" (binary_expression "pair<int_const" (identifier "pair") (< "<") (identifier "int_const")) (, ",") (binary_expression "unsigned_int>>>\n    ::_M_erase(a_Stack_98,local_90)" (identifier "unsigned_int") (>> ">>") (ERROR ">\n    ::" (> ">") (: ":") (: ":")) (call_expression "_M_erase(a_Stack_98,local_90)" (identifier "_M_erase") (argument_list "(a_Stack_98,local_90)" (( "(") (identifier "a_Stack_98") (, ",") (identifier "local_90") () ")"))))) (; ";")) (} "}"))) (labeled_statement "LAB_00287b2c:\n  std::\n  _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>\n  ::_M_erase(local_38,local_78);" (statement_identifier "LAB_00287b2c") (: ":") (ERROR "std::\n  _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::" (comma_expression "std::\n  _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std" (identifier "std") (ERROR "::\n  _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>" (: ":") (: ":") (comma_expression "_Rb_tree<int,std" (binary_expression "_Rb_tree<int" (identifier "_Rb_tree") (< "<") (identifier "int")) (, ",") (identifier "std")) (: ":") (: ":") (comma_expression "pair<int_const,unsigned_int>,std" (binary_expression "pair<int_const" (identifier "pair") (< "<") (identifier "int_const")) (, ",") (binary_expression "unsigned_int>,std" (identifier "unsigned_int") (> ">") (ERROR "," (, ",")) (identifier "std"))) (: ":") (: ":") (binary_expression "_Select1st<std" (identifier "_Select1st") (< "<") (identifier "std")) (: ":") (: ":") (comma_expression "pair<int_const,unsigned_int>>,std" (binary_expression "pair<int_const" (identifier "pair") (< "<") (identifier "int_const")) (, ",") (binary_expression "unsigned_int>>,std" (identifier "unsigned_int") (>> ">>") (ERROR "," (, ",")) (identifier "std"))) (: ":") (: ":") (binary_expression "less<int" (identifier "less") (< "<") (identifier "int")) (> ">")) (, ",") (identifier "std")) (: ":") (: ":") (binary_expression "allocator<std" (identifier "allocator") (< "<") (identifier "std")) (: ":") (: ":")) (expression_statement "pair<int_const,unsigned_int>>>\n  ::_M_erase(local_38,local_78);" (comma_expression "pair<int_const,unsigned_int>>>\n  ::_M_erase(local_38,local_78)" (binary_expression "pair<int_const" (identifier "pair") (< "<") (identifier "int_const")) (, ",") (binary_expression "unsigned_int>>>\n  ::_M_erase(local_38,local_78)" (identifier "unsigned_int") (>> ">>") (ERROR ">\n  ::" (> ">") (: ":") (: ":")) (call_expression "_M_erase(local_38,local_78)" (identifier "_M_erase") (argument_list "(local_38,local_78)" (( "(") (identifier "local_38") (, ",") (identifier "local_78") () ")"))))) (; ";"))) (labeled_statement "LAB_00287b40:\n  if (local_68 != (int *)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" (statement_identifier "LAB_00287b40") (: ":") (if_statement "if (local_68 != (int *)0x0) {\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" (if "if") (parenthesized_expression "(local_68 != (int *)0x0)" (( "(") (binary_expression "local_68 != (int *)0x0" (identifier "local_68") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    (*(code *)PTR_operator_delete_004c12fc)();\n  }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_004c12fc)();" (call_expression "(*(code *)PTR_operator_delete_004c12fc)()" (parenthesized_expression "(*(code *)PTR_operator_delete_004c12fc)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_004c12fc" (* "*") (cast_expression "(code *)PTR_operator_delete_004c12fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_004c12fc"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return;" (return "return") (; ";")) (ERROR "}" (} "}"))
(translation_unit (declaration type: (primitive_type) declarator: (ms_call_modifier) (ERROR (identifier)) declarator: (identifier) (ERROR (number_literal)) (ERROR (identifier) (function_declarator declarator: (identifier) (ERROR (number_literal)) parameters: (parameter_list (parameter_declaration type: (type_identifier)) (ERROR (number_literal)) (parameter_declaration type: (type_identifier) (ERROR) 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)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) (identifier)) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) 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: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (ERROR (binary_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (identifier))) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (identifier))) (binary_expression left: (binary_expression left: (identifier) right: (identifier)) (ERROR) right: (identifier)) (binary_expression left: (identifier) right: (identifier))) (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (subscript_expression argument: (identifier) index: (number_literal)))))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (ERROR (binary_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (identifier))) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (identifier))) (binary_expression left: (binary_expression left: (identifier) right: (identifier)) (ERROR) right: (identifier)) (binary_expression left: (identifier) right: (identifier))) (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (pointer_expression argument: (identifier)))))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))))) arguments: (argument_list)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)) right: (identifier)) (ERROR) right: (identifier)))) (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: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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: (number_literal)))) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (return_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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (return_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) (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (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)))))))))))) 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: (number_literal))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (return_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: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_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: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (parenthesized_expression (ERROR (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (identifier))) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (identifier))) (binary_expression left: (binary_expression left: (identifier) right: (identifier)) (ERROR) right: (identifier)) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (pointer_expression (ERROR) argument: (identifier))))) (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier))) (MISSING ")")))) (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: (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: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)) right: (identifier)) right: (identifier))) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) (ERROR) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (binary_expression left: (identifier) right: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (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: (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: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (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: (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: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (pointer_expression argument: (identifier))))) consequence: (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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)))) (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))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (identifier) (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)) (identifier) (identifier) (identifier) (identifier) (identifier) (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))))))))) consequence: (compound_statement (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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: (number_literal)))) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (compound_statement (if_statement condition: (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 (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (number_literal))))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))) (break_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (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)) value: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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: (identifier))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (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 declarator: (abstract_pointer_declarator))) value: (pointer_expression argument: (identifier))))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (identifier)) right: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (return_statement))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) (ERROR (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (identifier))) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (identifier))) (binary_expression left: (identifier) right: (identifier))) right: (identifier)) (binary_expression left: (identifier) right: (identifier))) (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))))) (goto_statement label: (statement_identifier)))))) (ERROR (comma_expression left: (identifier) (ERROR (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (identifier))) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (identifier))) (binary_expression left: (identifier) right: (identifier))) right: (identifier)) (binary_expression left: (identifier) right: (identifier))) (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (identifier) (ERROR (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (identifier))) (binary_expression left: (identifier) right: (identifier)) (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (identifier))) (binary_expression left: (identifier) right: (identifier))) right: (identifier)) (binary_expression left: (identifier) right: (identifier))) (expression_statement (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) (ERROR) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))))) (return_statement) (ERROR))

/* void gold::Sized_relobj_file<32, false>::MASKED(gold::Symbol_table const*,
   unsigned char const*, unsigned int, unsigned char const*, unsigned int, unsigned char*, unsigned
   int, gold::Reloc_symbol_changes**, gold::Sized_target<32, false> const*) */

void __thiscall
gold::Sized_relobj_file<32,false>::MASKED
          (Sized_relobj_file<32,false> *this,Symbol_table *param_1,uchar *param_2,uint param_3,
          uchar *param_4,uint param_5,uchar *param_6,uint param_7,Reloc_symbol_changes **param_8,
          Sized_target *param_9)

{
  _Rb_tree_node *p_Var1;
  undefined *puVar2;
  undefined *puVar3;
  _Rb_tree_node *p_Var4;
  int ***pppiVar5;
  uint uVar6;
  int ***pppiVar7;
  _Rb_tree_node *p_Var8;
  _Rb_tree_node *p_Var9;
  undefined4 *puVar10;
  undefined4 *puVar11;
  undefined4 uVar12;
  uint uVar13;
  int *piVar14;
  undefined4 *puVar15;
  int iVar16;
  uint uVar17;
  int *piVar18;
  uint *puVar19;
  code *pcVar20;
  int **local_c8;
  int local_c4;
  undefined1 local_c0 [16];
  int **local_b0;
  int local_ac;
  undefined1 local_a8 [16];
  _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>
  a_Stack_98 [4];
  undefined4 local_94;
  _Rb_tree_node *local_90;
  undefined4 *local_8c;
  undefined4 *local_88;
  int local_84;
  map local_80 [4];
  undefined4 local_7c;
  _Rb_tree_node *local_78;
  _Rb_tree_node *local_74;
  _Rb_tree_node *local_70;
  int local_6c;
  int *local_68;
  int *local_64;
  int *local_60;
  int **local_58;
  int ***local_54;
  code *local_50;
  undefined4 *local_4c;
  int ***local_48;
  int *local_44;
  Reloc_symbol_changes *local_40;
  int local_3c;
  _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>
  *local_38;
  uint local_34;
  undefined *local_30;
  
  pcVar20 = *(code **)(*(int *)this + 0x8c);
  if (pcVar20 == (code *)PTR_local_symbol_count_004c1bc0) {
    pppiVar5 = (int ***)(**(code **)(*(int *)this + 0xbc))();
  }
  else {
    pppiVar5 = (int ***)(*pcVar20)();
  }
  puVar3 = PTR_get_r_sym_004c4580;
  puVar2 = PTR_parameters_004c19b4;
  local_68 = (int *)0x0;
  local_64 = (int *)0x0;
  local_60 = (int *)0x0;
  if (param_5 == 0) {
    return;
  }
  local_50 = (code *)PTR__M_realloc_insert<int_const&>_004c45e4;
  uVar17 = 0;
  local_58 = &local_68;
  local_54 = &local_c8;
  puVar19 = (uint *)param_4;
  do {
    if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {
      uVar6 = puVar19[1];
      pppiVar7 = (int ***)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +
                           ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000 >> 8);
    }
    else {
      pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);
    }
    if (pppiVar5 <= pppiVar7) {
      uVar6 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);
      if (pppiVar7 < *(int ****)(this + 0xb8)) {
LAB_00288064:
        (*(code *)PTR_do_gold_unreachable_004c1a30)
                  (PTR_s_in_a_linker_script_004c191c + -0xe14,0x4ef,
                   PTR_s_in_a_linker_script_004c191c + -0x614);
        return;
      }
      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar6) {
                    /* try { // try from 002880b0 to 002880b7 has its CatchHandler @ 002881c4 */
        (*(code *)PTR_do_gold_unreachable_004c1a30)
                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,
                   PTR_s_in_a_linker_script_004c191c + -0x5f8);
        return;
      }
      iVar16 = *(int *)(*(int *)(this + 0xc4) + uVar6 * 4);
      if (iVar16 == 0) goto LAB_00288064;
      if (*(int *)(iVar16 + 0x28) << 0x14 < 0) {
        iVar16 = (*(code *)PTR_resolve_forwards_004c1bc8)(param_1);
      }
      uVar6 = *(uint *)(iVar16 + 0x28);
      if ((uVar6 & 0xe000) == 0) {
        if ((((*(int *)(iVar16 + 0xc) != 0) || (-1 < (int)(uVar6 << 0x1d))) &&
            ((uVar6 << 0x10) >> 0x1d == 0)) && (-1 < *(int *)(*(int *)(iVar16 + 8) + 0x2c) << 2)) {
          piVar14 = *(int **)(*(int *)puVar2 + 0xc);
          if (piVar14 == (int *)0x0) {
LAB_002880fc:
                    /* try { // try from 00288110 to 00288117 has its CatchHandler @ 002881c4 */
            (*(code *)PTR_do_gold_unreachable_004c1a30)
                      (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,
                       PTR_s_in_a_linker_script_004c191c + -0x5e8);
            return;
          }
                    /* try { // try from 00287a14 to 00287b03 has its CatchHandler @ 002881c4 */
          iVar16 = (**(code **)(*piVar14 + 0x54))(piVar14,iVar16,puVar19,param_6,param_7);
          if (iVar16 != 0) {
            uVar6 = *puVar19;
            local_c8 = (int **)((((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +
                               ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000);
            if (local_64 == local_60) {
                    /* try { // try from 0028804c to 0028807f has its CatchHandler @ 002881c4 */
              (*local_50)(local_58,local_64,local_54);
            }
            else {
              *local_64 = (int)local_c8;
              local_64 = local_64 + 1;
            }
          }
        }
      }
      else if (((uVar6 & 0xe000) != 0x8000) && ((uVar6 << 0x10) >> 0x1d == 0)) {
        (*(code *)PTR_do_gold_unreachable_004c1a30)
                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3860,0xa1,
                   PTR_s_in_a_linker_script_004c191c + -0x5d0);
        return;
      }
    }
    uVar17 = uVar17 + 1;
    puVar19 = puVar19 + 3;
  } while (param_5 != uVar17);
  if (local_64 == local_68) goto LAB_00287b40;
  local_7c = 0;
  local_78 = (_Rb_tree_node *)0x0;
                    /* try { // try from 00287bbc to 00287bc3 has its CatchHandler @ 002881f0 */
  local_6c = 0;
  local_74 = (_Rb_tree_node *)&local_7c;
  local_70 = (_Rb_tree_node *)&local_7c;
  local_38 = (_Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>
              *)local_80;
  find_functions(this,param_2,param_3,local_80);
  if (local_6c != 0) {
    local_8c = &local_94;
    local_4c = local_8c;
    local_94 = 0;
    local_90 = (_Rb_tree_node *)0x0;
    local_84 = 0;
    local_88 = local_8c;
    if (local_68 != local_64) {
      local_54 = pppiVar5;
      local_58 = (int **)PTR__M_insert_unique<std_pair<int_const,unsigned_int>const&>_004c45ec;
      piVar14 = local_64;
      piVar18 = local_68;
      do {
        if (local_78 == (_Rb_tree_node *)0x0) {
LAB_00287f40:
          p_Var9 = (_Rb_tree_node *)
                   (*(code *)PTR__Rb_tree_decrement_004c45f0)((_Rb_tree_node *)&local_7c);
LAB_00287c78:
                    /* try { // try from 00287c84 to 00287c8b has its CatchHandler @ 002881b4 */
          (*(code *)local_58)(&local_c8,a_Stack_98,p_Var9 + 0x10);
          piVar14 = local_64;
        }
        else {
          p_Var8 = (_Rb_tree_node *)&local_7c;
          p_Var4 = local_78;
          do {
            while (p_Var9 = p_Var4, *(int *)(p_Var9 + 0x10) < *piVar18) {
              p_Var1 = p_Var9 + 0xc;
              p_Var9 = p_Var8;
              p_Var4 = *(_Rb_tree_node **)p_Var1;
              if (*(_Rb_tree_node **)p_Var1 == (_Rb_tree_node *)0x0) goto LAB_00287c50;
            }
            p_Var8 = p_Var9;
            p_Var4 = *(_Rb_tree_node **)(p_Var9 + 8);
          } while (*(_Rb_tree_node **)(p_Var9 + 8) != (_Rb_tree_node *)0x0);
LAB_00287c50:
          if (p_Var9 == (_Rb_tree_node *)&local_7c) goto LAB_00287f40;
          if (*(int *)(p_Var9 + 0x10) == *piVar18) goto LAB_00287c78;
          if (local_74 != p_Var9) {
            p_Var9 = (_Rb_tree_node *)(*(code *)PTR__Rb_tree_decrement_004c45f0)(p_Var9);
            goto LAB_00287c78;
          }
        }
        pppiVar5 = local_54;
        piVar18 = piVar18 + 1;
      } while (piVar14 != piVar18);
      if (local_84 != 0) {
        if (local_8c != local_4c) {
          local_58 = (int **)local_a8;
          piVar14 = *(int **)(*(int *)PTR_parameters_004c19b4 + 0xc);
          local_44 = (int *)PTR_parameters_004c19b4;
          if (piVar14 != (int *)0x0) {
            local_48 = &local_c8;
            local_54 = &local_b0;
            local_30 = PTR_s_in_a_linker_script_004c191c + -0xd34;
            local_34 = (uint)(uVar17 < 0x40000000);
            puVar10 = local_8c;
            local_3c = uVar17 * 4;
            do {
              local_a8[0] = 0;
              local_ac = 0;
              local_c0[0] = 0;
              local_c4 = 0;
              local_c8 = (int **)local_c0;
              local_b0 = local_58;
                    /* try { // try from 00287de8 to 00287fa3 has its CatchHandler @ 00288118 */
              (**(code **)(*piVar14 + 0x58))
                        (piVar14,this,param_3,puVar10[4],puVar10[5],param_4,uVar17,param_6,param_7,
                         local_54,local_48);
              if (local_ac != 0) {
                uVar6 = 0;
                if (local_c4 == 0) {
                  (*(code *)PTR_do_gold_unreachable_004c1a30)
                            (PTR_s_in_a_linker_script_004c191c + -0xe14,0x53d,
                             PTR_s_in_a_linker_script_004c191c + -0x614);
                  return;
                }
                local_50 = (code *)0x0;
                puVar19 = (uint *)param_4;
                do {
                  if (*(code **)(*(int *)param_9 + 0xf8) == (code *)puVar3) {
                    uVar13 = puVar19[1];
                    pppiVar7 = (int ***)((((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >>
                                         0x10) + ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) *
                                                 0x10000 >> 8);
                  }
                  else {
                    pppiVar7 = (int ***)(**(code **)(*(int *)param_9 + 0xf8))(param_9,puVar19);
                  }
                  if (pppiVar5 <= pppiVar7) {
                    uVar13 = *puVar19;
                    iVar16 = (((uVar13 >> 0x10) << 0x18 | (uVar13 >> 0x18) << 0x10) >> 0x10) +
                             ((uVar13 & 0xff) << 8 | uVar13 >> 8 & 0xff) * 0x10000;
                    if (((int)puVar10[4] <= iVar16) && (iVar16 < (int)(puVar10[4] + puVar10[5]))) {
                      uVar13 = (int)pppiVar7 - (int)*(int ****)(this + 0xb8);
                      if (pppiVar7 < *(int ****)(this + 0xb8)) {
                    /* WARNING: Does not return */
                        pcVar20 = (code *)trap(0);
                        (*pcVar20)();
                      }
                      if ((uint)(*(int *)(this + 200) - *(int *)(this + 0xc4) >> 2) <= uVar13) {
                    /* try { // try from 00288094 to 0028809b has its CatchHandler @ 00288118 */
                        (*(code *)PTR_do_gold_unreachable_004c1a30)
                                  (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x4570,0x8ad,
                                   PTR_s_in_a_linker_script_004c191c + -0x5f8);
                        return;
                      }
                      iVar16 = (*(code *)PTR_compare_004c27e8)
                                         (local_54,**(undefined4 **)
                                                     (*(int *)(this + 0xc4) + uVar13 * 4));
                      if (iVar16 == 0) {
                        if ((local_50 == (code *)0x0) &&
                           (local_50 = (code *)(*(code *)PTR_lookup_004c1e40)(param_1,local_c8,0),
                           local_50 == (code *)0x0)) {
                          uVar12 = (*(code *)PTR_gettext_004c5c30)(local_30);
                          (*(code *)PTR_error_004c1a54)(this,uVar12,local_b0,local_c8);
                          break;
                        }
                        if (*param_8 == (Reloc_symbol_changes *)0x0) {
                          local_40 = (Reloc_symbol_changes *)
                                     (*(code *)PTR_operator_new_004c13a8)(0xc);
                          *(undefined4 *)local_40 = 0;
                          *(undefined4 *)(local_40 + 4) = 0;
                          *(undefined4 *)(local_40 + 8) = 0;
                          if (local_34 == 0) {
                    /* try { // try from 002880f4 to 002880fb has its CatchHandler @ 002881d0 */
                            (*(code *)PTR___throw_bad_alloc_004c1ac0)();
                            goto LAB_002880fc;
                          }
                    /* try { // try from 00287fc4 to 00287fcb has its CatchHandler @ 002881d0 */
                          puVar11 = (undefined4 *)(*(code *)PTR_operator_new_004c13a8)(local_3c);
                          *(undefined4 **)local_40 = puVar11;
                          *(int *)(local_40 + 8) = (int)puVar11 + local_3c;
                          uVar13 = uVar17;
                          puVar15 = puVar11;
                          do {
                            uVar13 = uVar13 - 1;
                            *puVar15 = 0;
                            puVar15 = puVar15 + 1;
                          } while (uVar13 != 0);
                          *(int *)(local_40 + 4) = (int)puVar11 + local_3c;
                          *param_8 = local_40;
                        }
                        else {
                          puVar11 = *(undefined4 **)*param_8;
                        }
                        puVar11[uVar6] = local_50;
                      }
                    }
                  }
                  uVar6 = uVar6 + 1;
                  puVar19 = puVar19 + 3;
                } while (uVar6 < uVar17);
              }
              if (local_c8 != (int **)local_c0) {
                (*(code *)PTR_operator_delete_004c12fc)();
              }
              if (local_b0 != local_58) {
                (*(code *)PTR_operator_delete_004c12fc)();
              }
              puVar10 = (undefined4 *)(*(code *)PTR__Rb_tree_increment_004c1e5c)(puVar10);
              if (puVar10 == local_4c) goto LAB_00288010;
              piVar14 = *(int **)(*local_44 + 0xc);
            } while (piVar14 != (int *)0x0);
          }
          local_a8[0] = 0;
          local_ac = 0;
          local_c0[0] = 0;
          local_c4 = 0;
                    /* try { // try from 002880cc to 002880ef has its CatchHandler @ 00288118 */
          local_c8 = (int **)local_c0;
          local_b0 = local_58;
          (*(code *)PTR_do_gold_unreachable_004c1a30)
                    (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,
                     PTR_s_in_a_linker_script_004c191c + -0x5e8);
          return;
        }
LAB_00288010:
        std::
        _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>
        ::_M_erase(a_Stack_98,local_90);
        goto LAB_00287b2c;
      }
    }
    std::
    _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>
    ::_M_erase(a_Stack_98,local_90);
  }
LAB_00287b2c:
  std::
  _Rb_tree<int,std::pair<int_const,unsigned_int>,std::_Select1st<std::pair<int_const,unsigned_int>>,std::less<int>,std::allocator<std::pair<int_const,unsigned_int>>>
  ::_M_erase(local_38,local_78);
LAB_00287b40:
  if (local_68 != (int *)0x0) {
    (*(code *)PTR_operator_delete_004c12fc)();
  }
  return;
}

