
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Arm_input_section<false>": ignoring overlapping field "original_addralign_" */
/* WARNING: Enum "<anon>": Some values do not have unique names */
/* DWARF original prototype: void create_stub_group(Arm_output_section<false> * this, const_iterator
   begin, const_iterator end, const_iterator owner, Target_arm<false> * target,
   vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>
   * new_relaxed_sections, Task * task) */

void __thiscall
anon_unknown.dwarf_9b9b16::Arm_output_section<false>::create_stub_group
          (Arm_output_section<false> *this,const_iterator begin,const_iterator end,
          const_iterator owner,Target_arm<false> *target,
          vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>
          *new_relaxed_sections,Task *task)

{
  byte *pbVar1;
  undefined1 *puVar2;
  pointer ppAVar3;
  size_type *psVar4;
  _Rb_tree_header *p_Var5;
  byte bVar6;
  Input_file *pIVar7;
  _Hash_node_base *p_Var8;
  __bucket_type *pp_Var9;
  pointer ppSVar10;
  size_type sVar11;
  pointer __src;
  ulong uVar12;
  char cVar13;
  uint uVar14;
  uint uVar15;
  int iVar16;
  int iVar17;
  Relobj *pRVar18;
  Relobj *this_00;
  Relobj *pRVar19;
  undefined4 extraout_var;
  uchar *__src_00;
  undefined4 extraout_var_00;
  pointer ppOVar20;
  undefined4 extraout_var_01;
  _Hash_node_base *p_Var21;
  __node_base *p_Var22;
  __bucket_type *pp_Var23;
  Stub_table<false> *pSVar24;
  pointer ppAVar25;
  ulong uVar26;
  pointer __dest;
  Output_section *pOVar27;
  _Hash_node_base *p_Var28;
  _func_int_varargs **pp_Var29;
  _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>
  *this_01;
  ulong uVar30;
  size_t __n;
  _Hash_node_base *p_Var31;
  pointer ppSVar32;
  bool bVar33;
  ulong local_78;
  section_size_type section_size;
  Relobj *local_58;
  uint uStack_50;
  undefined4 uStack_4c;
  undefined4 extraout_var_02;
  
  if ((this->super_Output_section).type_ == 0x70000001) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/arm.cc",0x1680,"create_stub_group");
  }
  if ((owner._M_current)->shndx_ == 0xfffffffc) {
    pRVar19 = ((owner._M_current)->u2_).object;
  }
  else {
    if (0xfffffffb < (owner._M_current)->shndx_) {
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/arm.cc",0x1690,"create_stub_group");
    }
    pRVar18 = gold::Output_section::Input_section::relobj(owner._M_current);
    pIVar7 = (pRVar18->super_Object).input_file_;
    if (pIVar7 != (Input_file *)0x0) {
      gold::File_read::lock(&pIVar7->file_,task);
    }
                    /* try { // try from 0024804a to 002482c6 has its CatchHandler @ 002489ce */
    uVar14 = gold::Output_section::Input_section::shndx(owner._M_current);
    this_00 = gold::Output_section::Input_section::relobj(owner._M_current);
    pRVar19 = (Relobj *)operator_new(0x60);
    pbVar1 = (byte *)((pRVar19->super_Object).name_.field_2._M_local_buf + 8);
    *pbVar1 = *pbVar1 & 0xe0;
    (pRVar19->super_Object).name_._M_dataplus._M_p = (pointer)0x0;
    (pRVar19->super_Object).name_._M_string_length = 0;
    (pRVar19->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;
    (pRVar19->super_Object).input_file_ = (Input_file *)0x0;
    (pRVar19->super_Object).offset_ = 1;
    *(Relobj **)&(pRVar19->super_Object).shnum_ = this_00;
    *(uint *)&(pRVar19->super_Object).xindex_ = uVar14;
    (((Output_section_data_build *)&(pRVar19->super_Object)._vptr_Object)->super_Output_section_data
    ).super_Output_data._vptr_Output_data = (_func_int_varargs **)&PTR__Arm_input_section_006670c0;
    pp_Var29 = (this_00->super_Object)._vptr_Object;
    *(undefined8 *)((long)&(pRVar19->super_Object).xindex_ + 4) = 1;
    (pRVar19->output_sections_).
    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.
    _M_start = (pointer)0x0;
    (pRVar19->output_sections_).
    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.
    _M_finish = (pointer)0x0;
    uVar15 = (*pp_Var29[0x17])(this_00,(ulong)uVar14);
    if (CONCAT44(extraout_var,uVar15) != (ulong)uVar15) {
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");
    }
    *(uint *)((long)&(pRVar19->super_Object).xindex_ + 4) = uVar15;
    __src_00 = gold::Object::section_contents(&this_00->super_Object,uVar14,&section_size,false);
    uVar15 = (*(this_00->super_Object)._vptr_Object[0xf])(this_00,(ulong)uVar14);
    if (CONCAT44(extraout_var_00,uVar15) != (ulong)uVar15) {
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");
    }
    ppOVar20 = (pRVar19->output_sections_).
               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
               _M_impl._M_finish;
    *(uint *)&(pRVar19->super_Object).compressed_sections_ = uVar15;
    if (ppOVar20 != (pointer)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002488e0 to 002489b0 has its CatchHandler @ 002489ce */
      gold::do_gold_unreachable("../../gold/arm.cc",0x14bf,"init");
    }
    ppOVar20 = (pointer)operator_new__(section_size);
    (pRVar19->output_sections_).
    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.
    _M_finish = ppOVar20;
    memcpy(ppOVar20,__src_00,section_size);
    pp_Var29 = (this_00->super_Object)._vptr_Object;
    if (pp_Var29[0x18] == gold::Relobj::do_output_section) {
      ppOVar20 = (this_00->output_sections_).
                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
                 _M_impl._M_start;
      if ((ulong)((long)(this_00->output_sections_).
                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                        ._M_impl._M_finish - (long)ppOVar20 >> 3) <= (ulong)uVar14) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00248868 to 0024886c has its CatchHandler @ 002489ce */
        gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");
      }
      pOVar27 = ppOVar20[uVar14];
    }
    else {
                    /* try { // try from 00248736 to 00248737 has its CatchHandler @ 002489ce */
      iVar16 = (*pp_Var29[0x18])(this_00,(ulong)uVar14);
      pOVar27 = (Output_section *)CONCAT44(extraout_var_02,iVar16);
      pp_Var29 = (this_00->super_Object)._vptr_Object;
    }
    iVar16 = (*pp_Var29[0x1a])(this_00,(ulong)uVar14);
    if ((pOVar27 == (Output_section *)0x0) ||
       (iVar17 = (*(this_00->super_Object)._vptr_Object[0x22])(this_00,(ulong)uVar14),
       (char)iVar17 != '\0')) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00248808 to 0024880c has its CatchHandler @ 002489ce */
      gold::do_gold_unreachable("../../gold/arm.cc",0x14c7,"init");
    }
    if (((pOVar27->super_Output_data).field_0x20 & 1) == 0) {
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");
    }
    bVar6 = (pRVar19->super_Object).name_.field_2._M_local_buf[8];
    if ((bVar6 & 1) != 0) {
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/output.h",0x142,"set_address");
    }
    (pRVar19->super_Object).name_._M_dataplus._M_p =
         (pointer)((pOVar27->super_Output_data).address_ + CONCAT44(extraout_var_01,iVar16));
    (pRVar19->super_Object).name_.field_2._M_local_buf[8] = bVar6 | 1;
    if (((pOVar27->super_Output_data).field_0x20 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");
    }
    if ((bVar6 & 4) != 0) {
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");
    }
    (pRVar19->super_Object).name_.field_2._M_allocated_capacity =
         CONCAT44(extraout_var_01,iVar16) + (pOVar27->super_Output_data).offset_;
    uVar15 = *(uint *)&(pRVar19->super_Object).compressed_sections_;
    (pRVar19->super_Object).name_.field_2._M_local_buf[8] = bVar6 | 5;
    if ((bVar6 & 2) != 0) {
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");
    }
    (pRVar19->super_Object).name_._M_string_length = (ulong)uVar15;
    Arm_input_section<false>::set_final_data_size((Arm_input_section<false> *)pRVar19);
    if (((pRVar19->super_Object).name_.field_2._M_local_buf[8] & 2U) == 0) {
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");
    }
    p_Var21 = (_Hash_node_base *)operator_new(0x28);
    p_Var21->_M_nxt = (_Hash_node_base *)0x0;
    uVar26 = (target->arm_input_section_map_)._M_h._M_bucket_count;
    p_Var21[1]._M_nxt = (_Hash_node_base *)this_00;
    p_Var21[2]._M_nxt = (_Hash_node_base *)CONCAT44(uStack_4c,uVar14);
    p_Var21[3]._M_nxt = (_Hash_node_base *)pRVar19;
    p_Var31 = (_Hash_node_base *)((ulong)this_00 ^ (ulong)*(uint *)&p_Var21[2]._M_nxt);
    local_78 = (ulong)p_Var31 % uVar26;
    local_58 = this_00;
    uStack_50 = uVar14;
    p_Var22 = std::
              _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
              ::_M_find_before_node
                        ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                          *)&target->arm_input_section_map_,local_78,(key_type *)(p_Var21 + 1),
                         (__hash_code)p_Var31);
    if ((p_Var22 != (__node_base *)0x0) && (p_Var22->_M_nxt != (_Hash_node_base *)0x0)) {
      operator_delete(p_Var21);
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/arm.cc",0x2e50,"new_arm_input_section");
    }
    cVar13 = std::__detail::_Prime_rehash_policy::_M_need_rehash
                       (&(target->arm_input_section_map_)._M_h._M_rehash_policy,uVar26,
                        (target->arm_input_section_map_)._M_h._M_element_count,1);
    if (cVar13 == '\0') {
      pp_Var23 = (target->arm_input_section_map_)._M_h._M_buckets;
    }
    else {
      if (this_01 ==
          (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>
           *)0x1) {
        pp_Var23 = &(target->arm_input_section_map_)._M_h._M_single_bucket;
        (target->arm_input_section_map_)._M_h._M_single_bucket = (__bucket_type)0x0;
      }
      else {
                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */
        pp_Var23 = std::__detail::
                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>
                   ::_M_allocate_buckets(this_01,uVar26);
      }
      p_Var28 = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;
      (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;
      if (p_Var28 != (_Hash_node_base *)0x0) {
        uVar26 = 0;
        do {
          while( true ) {
            p_Var8 = p_Var28->_M_nxt;
            uVar30 = (ulong)p_Var28[4]._M_nxt % (ulong)this_01;
            pp_Var9 = pp_Var23 + uVar30;
            if (*pp_Var9 == (__bucket_type)0x0) break;
            p_Var28->_M_nxt = (*pp_Var9)->_M_nxt;
            (*pp_Var9)->_M_nxt = p_Var28;
            uVar30 = uVar26;
LAB_0024831c:
            p_Var28 = p_Var8;
            uVar26 = uVar30;
            if (p_Var8 == (_Hash_node_base *)0x0) goto LAB_00248370;
          }
          p_Var28->_M_nxt = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;
          (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var28;
          *pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin;
          if (p_Var28->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0024831c;
          pp_Var23[uVar26] = p_Var28;
          p_Var28 = p_Var8;
          uVar26 = uVar30;
        } while (p_Var8 != (_Hash_node_base *)0x0);
      }
LAB_00248370:
      pp_Var9 = (target->arm_input_section_map_)._M_h._M_buckets;
      if (pp_Var9 != &(target->arm_input_section_map_)._M_h._M_single_bucket) {
        operator_delete(pp_Var9);
      }
      (target->arm_input_section_map_)._M_h._M_bucket_count = (size_type)this_01;
      local_78 = (ulong)p_Var31 % (ulong)this_01;
      (target->arm_input_section_map_)._M_h._M_buckets = pp_Var23;
    }
    p_Var21[4]._M_nxt = p_Var31;
    pp_Var9 = pp_Var23 + local_78;
    if (*pp_Var9 == (__bucket_type)0x0) {
      p_Var31 = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;
      (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var21;
      p_Var21->_M_nxt = p_Var31;
      if (p_Var31 != (_Hash_node_base *)0x0) {
        pp_Var23[(ulong)p_Var31[4]._M_nxt % (target->arm_input_section_map_)._M_h._M_bucket_count] =
             p_Var21;
      }
      *pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin;
    }
    else {
      p_Var21->_M_nxt = (*pp_Var9)->_M_nxt;
      (*pp_Var9)->_M_nxt = p_Var21;
    }
    psVar4 = &(target->arm_input_section_map_)._M_h._M_element_count;
    *psVar4 = *psVar4 + 1;
    local_58 = pRVar19;
                    /* try { // try from 00248644 to 00248648 has its CatchHandler @ 002489ce */
    std::
    vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>
    ::emplace_back<gold::Output_relaxed_input_section*>
              (new_relaxed_sections,(Output_relaxed_input_section **)&local_58);
    pIVar7 = (pRVar18->super_Object).input_file_;
    if (pIVar7 != (Input_file *)0x0) {
      gold::File_read::unlock(&pIVar7->file_,task);
    }
  }
  pSVar24 = (Stub_table<false> *)operator_new(0xd0);
  (pSVar24->super_Output_data).address_ = 0;
  (pSVar24->super_Output_data).data_size_ = 0;
  (pSVar24->super_Output_data).offset_ = -1;
  puVar2 = &(pSVar24->super_Output_data).field_0x20;
  *puVar2 = *puVar2 & 0xe0;
  (pSVar24->super_Output_data)._vptr_Output_data = (_func_int_varargs **)&PTR__Stub_table_00653e00;
  (pSVar24->reloc_stubs_)._M_h._M_buckets = &(pSVar24->reloc_stubs_)._M_h._M_single_bucket;
  p_Var5 = &(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header;
  (pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_max_load_factor = 0.0;
  *(undefined4 *)&(pSVar24->reloc_stubs_)._M_h._M_rehash_policy.field_0x4 = 0;
  (pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_next_resize = 0;
  pSVar24->owner_ = (Arm_input_section<false> *)pRVar19;
  (pSVar24->reloc_stubs_)._M_h._M_single_bucket = (__bucket_type)0x0;
  (pSVar24->reloc_stubs_)._M_h._M_bucket_count = 1;
  (pSVar24->reloc_stubs_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;
  (pSVar24->reloc_stubs_)._M_h._M_element_count = 0;
  (pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  (pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_next_resize = 0;
  pSVar24->reloc_stubs_size_ = 0;
  pSVar24->reloc_stubs_addralign_ = 1;
  (pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;
  (pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent =
       (_Base_ptr)0x0;
  (pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_left =
       &p_Var5->_M_header;
  (pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_right =
       &p_Var5->_M_header;
  (pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;
  (pSVar24->arm_v4bx_stubs_).
  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>
  ._M_impl._M_start = (pointer)0x0;
  (pSVar24->arm_v4bx_stubs_).
  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>
  ._M_impl._M_finish = (pointer)0x0;
  (pSVar24->arm_v4bx_stubs_).
  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>
  ._M_impl._M_end_of_storage = (pointer)0x0;
                    /* try { // try from 002484a6 to 002484aa has its CatchHandler @ 002489d6 */
  ppAVar25 = (pointer)operator_new(0x78);
  ppAVar3 = ppAVar25 + 0xf;
  (pSVar24->arm_v4bx_stubs_).
  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>
  ._M_impl._M_start = ppAVar25;
  (pSVar24->arm_v4bx_stubs_).
  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>
  ._M_impl._M_end_of_storage = ppAVar3;
  do {
    *ppAVar25 = (Arm_v4bx_stub *)0x0;
    ppAVar25 = ppAVar25 + 1;
  } while (ppAVar3 != ppAVar25);
  (pSVar24->arm_v4bx_stubs_).
  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>
  ._M_impl._M_finish = ppAVar3;
  ppSVar10 = (target->stub_tables_).
             super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>
             ._M_impl._M_finish;
  pSVar24->prev_data_size_ = 0;
  pSVar24->prev_addralign_ = 1;
  if (ppSVar10 !=
      (target->stub_tables_).
      super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>
      ._M_impl._M_end_of_storage) {
    *ppSVar10 = pSVar24;
    (target->stub_tables_).
    super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>
    ._M_impl._M_finish = ppSVar10 + 1;
    goto LAB_00248512;
  }
  __src = (target->stub_tables_).
          super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>
          ._M_impl._M_start;
  __n = (long)ppSVar10 - (long)__src;
  uVar26 = (long)__n >> 3;
  if (uVar26 == 0) {
    uVar30 = 8;
LAB_002486a6:
    __dest = (pointer)operator_new(uVar30);
    ppSVar32 = (pointer)(uVar30 + (long)__dest);
  }
  else {
    uVar12 = uVar26 * 2;
    uVar30 = 0xfffffffffffffff8;
    if ((uVar12 < uVar26) || (0x1fffffffffffffff < uVar12)) goto LAB_002486a6;
    if (uVar12 != 0) {
      uVar30 = uVar26 << 4;
      goto LAB_002486a6;
    }
    ppSVar32 = (pointer)0x0;
    __dest = (pointer)0x0;
  }
  *(Stub_table<false> **)((long)__dest + __n) = pSVar24;
  if (ppSVar10 == __src) {
    if (__src != (pointer)0x0) goto LAB_002486f4;
  }
  else {
    memmove(__dest,__src,__n);
LAB_002486f4:
    operator_delete(__src);
  }
  (target->stub_tables_).
  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>
  ._M_impl._M_start = __dest;
  (target->stub_tables_).
  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>
  ._M_impl._M_end_of_storage = ppSVar32;
  (target->stub_tables_).
  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>
  ._M_impl._M_finish = (pointer)((long)__dest + __n + 8);
LAB_00248512:
  bVar6 = (pRVar19->super_Object).name_.field_2._M_local_buf[8];
  if ((bVar6 & 1) == 0) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");
  }
  if ((bVar6 & 2) == 0) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");
  }
  sVar11 = (pRVar19->super_Object).name_._M_string_length;
  bVar6 = (pSVar24->super_Output_data).field_0x20;
  if ((bVar6 & 1) != 0) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/output.h",0x142,"set_address");
  }
  (pSVar24->super_Output_data).address_ =
       (uint64_t)((pRVar19->super_Object).name_._M_dataplus._M_p + sVar11);
  (pSVar24->super_Output_data).field_0x20 = bVar6 | 1;
  if (((pRVar19->super_Object).name_.field_2._M_local_buf[8] & 4U) == 0) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");
  }
  if ((bVar6 & 4) != 0) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");
  }
  (pSVar24->super_Output_data).offset_ =
       sVar11 + (pRVar19->super_Object).name_.field_2._M_allocated_capacity;
  (pSVar24->super_Output_data).field_0x20 = bVar6 | 5;
  if (((bVar6 & 2) == 0) &&
     ((*(pSVar24->super_Output_data)._vptr_Output_data[0xe])(pSVar24),
     ((pSVar24->super_Output_data).field_0x20 & 2) == 0)) {
                    /* WARNING: Subroutine does not return */
    gold::do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");
  }
  (pRVar19->output_sections_).
  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl._M_start
       = (pointer)pSVar24;
  do {
    if (2 < (begin._M_current)->shndx_ + 3) {
      pRVar19 = gold::Output_section::Input_section::relobj(begin._M_current);
      uVar14 = gold::Output_section::Input_section::shndx(begin._M_current);
      pIVar7 = pRVar19[3].super_Object.input_file_;
      if ((ulong)(pRVar19[3].super_Object.offset_ - (long)pIVar7 >> 3) <= (ulong)uVar14) {
                    /* WARNING: Subroutine does not return */
        gold::do_gold_unreachable("../../gold/arm.cc",0x5ef,"set_stub_table");
      }
      (&pIVar7->input_argument_)[uVar14] = (Input_file_argument *)pSVar24;
    }
    bVar33 = end._M_current != begin._M_current;
    begin._M_current = begin._M_current + 1;
  } while (bVar33);
  return;
}



void FUN_00247fe0(long param_1,int *param_2,int *param_3,uint *param_4,long param_5,
                 undefined8 param_6,undefined8 param_7)

{
  long *plVar1;
  byte bVar2;
  long *plVar3;
  undefined8 *puVar4;
  char cVar5;
  uint uVar6;
  long lVar7;
  long *plVar8;
  long *plVar9;
  ulong uVar10;
  void *pvVar11;
  void *__dest;
  long lVar12;
  long *plVar13;
  undefined8 *puVar14;
  long lVar15;
  ulong extraout_RDX;
  ulong uVar16;
  size_t __n;
  ulong uVar17;
  bool bVar18;
  ulong local_78;
  size_t local_60;
  long *local_58;
  uint uStack_50;
  undefined4 uStack_4c;
  
  if (*(int *)(param_1 + 0x6c) == 0x70000001) {
                    /* WARNING: Subroutine does not return */
    FUN_00352af0("../../gold/arm.cc",0x1680,"create_stub_group");
  }
  if (*param_4 == 0xfffffffc) {
    plVar9 = *(long **)(param_4 + 4);
  }
  else {
    if (0xfffffffb < *param_4) {
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");
    }
    lVar7 = FUN_003c9a60(param_4);
    if (*(long *)(lVar7 + 0x28) != 0) {
      FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);
    }
                    /* try { // try from 0024804a to 002482c6 has its CatchHandler @ 002489ce */
    uVar6 = FUN_003c9ae0(param_4);
    plVar8 = (long *)FUN_003c9a60(param_4);
    plVar9 = (long *)FUN_0049cb70(0x60);
    *(byte *)(plVar9 + 4) = *(byte *)(plVar9 + 4) & 0xe0;
    plVar9[1] = 0;
    plVar9[2] = 0;
    plVar9[3] = -1;
    plVar9[5] = 0;
    plVar9[6] = 1;
    plVar9[7] = (long)plVar8;
    *(uint *)(plVar9 + 8) = uVar6;
    *plVar9 = (long)&PTR_FUN_006670c0;
    lVar12 = *plVar8;
    *(undefined8 *)((long)plVar9 + 0x44) = 1;
    plVar9[10] = 0;
    plVar9[0xb] = 0;
    uVar10 = (**(code **)(lVar12 + 0xb8))(plVar8,uVar6);
    if (uVar10 != (uVar10 & 0xffffffff)) {
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");
    }
    *(int *)((long)plVar9 + 0x44) = (int)uVar10;
    pvVar11 = (void *)FUN_00392d50(plVar8,uVar6,&local_60,0);
    uVar10 = (**(code **)(*plVar8 + 0x78))(plVar8,uVar6);
    if (uVar10 != (uVar10 & 0xffffffff)) {
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");
    }
    *(int *)(plVar9 + 9) = (int)uVar10;
    if (plVar9[0xb] != 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002488e0 to 002489b0 has its CatchHandler @ 002489ce */
      FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);
    }
    __dest = (void *)thunk_FUN_0049cb70(local_60);
    plVar9[0xb] = (long)__dest;
    memcpy(__dest,pvVar11,local_60);
    lVar12 = *plVar8;
    if (*(code **)(lVar12 + 0xc0) == FUN_001a5070) {
      if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00248868 to 0024886c has its CatchHandler @ 002489ce */
        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");
      }
      lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);
    }
    else {
                    /* try { // try from 00248736 to 00248737 has its CatchHandler @ 002489ce */
      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);
      lVar12 = *plVar8;
    }
    lVar12 = (**(code **)(lVar12 + 0xd0))(plVar8,uVar6);
    if ((lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00248808 to 0024880c has its CatchHandler @ 002489ce */
      FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);
    }
    if ((*(byte *)(lVar15 + 0x20) & 1) == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/output.h",0xc5,"address");
    }
    bVar2 = *(byte *)(plVar9 + 4);
    if ((bVar2 & 1) != 0) {
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/output.h",0x142,"set_address");
    }
    plVar9[1] = *(long *)(lVar15 + 8) + lVar12;
    *(byte *)(plVar9 + 4) = bVar2 | 1;
    if ((*(byte *)(lVar15 + 0x20) & 4) == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/output.h",0xe3,"offset");
    }
    if ((bVar2 & 4) != 0) {
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");
    }
    plVar9[3] = lVar12 + *(long *)(lVar15 + 0x18);
    *(byte *)(plVar9 + 4) = bVar2 | 5;
    if ((bVar2 & 2) != 0) {
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");
    }
    plVar9[2] = (ulong)*(uint *)(plVar9 + 9);
    FUN_00236100(plVar9);
    if ((*(byte *)(plVar9 + 4) & 2) == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");
    }
    plVar13 = (long *)FUN_0049cb70(0x28);
    *plVar13 = 0;
    uVar10 = *(ulong *)(param_5 + 0xb8);
    plVar13[1] = (long)plVar8;
    plVar13[2] = CONCAT44(uStack_4c,uVar6);
    plVar13[3] = (long)plVar9;
    uVar17 = (ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2);
    local_78 = uVar17 % uVar10;
    local_58 = plVar8;
    uStack_50 = uVar6;
    plVar8 = (long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17);
    if ((plVar8 != (long *)0x0) && (*plVar8 != 0)) {
      FUN_0049e340(plVar13);
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");
    }
    cVar5 = FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1);
    if (cVar5 == '\0') {
      lVar12 = *(long *)(param_5 + 0xb0);
    }
    else {
      if (extraout_RDX == 1) {
        lVar12 = param_5 + 0xe0;
        *(undefined8 *)(param_5 + 0xe0) = 0;
      }
      else {
                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */
        lVar12 = FUN_00232700();
      }
      plVar8 = *(long **)(param_5 + 0xc0);
      *(undefined8 *)(param_5 + 0xc0) = 0;
      if (plVar8 != (long *)0x0) {
        uVar10 = 0;
        do {
          while( true ) {
            plVar3 = (long *)*plVar8;
            uVar16 = (ulong)plVar8[4] % extraout_RDX;
            plVar1 = (long *)(lVar12 + uVar16 * 8);
            if ((long *)*plVar1 == (long *)0x0) break;
            *plVar8 = *(long *)*plVar1;
            *(long **)*plVar1 = plVar8;
            uVar16 = uVar10;
LAB_0024831c:
            plVar8 = plVar3;
            uVar10 = uVar16;
            if (plVar3 == (long *)0x0) goto LAB_00248370;
          }
          *plVar8 = *(long *)(param_5 + 0xc0);
          *(long **)(param_5 + 0xc0) = plVar8;
          *plVar1 = param_5 + 0xc0;
          if (*plVar8 == 0) goto LAB_0024831c;
          *(long **)(lVar12 + uVar10 * 8) = plVar8;
          plVar8 = plVar3;
          uVar10 = uVar16;
        } while (plVar3 != (long *)0x0);
      }
LAB_00248370:
      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {
        FUN_0049e340();
      }
      *(ulong *)(param_5 + 0xb8) = extraout_RDX;
      local_78 = uVar17 % extraout_RDX;
      *(long *)(param_5 + 0xb0) = lVar12;
    }
    plVar13[4] = uVar17;
    plVar8 = (long *)(lVar12 + local_78 * 8);
    if ((long *)*plVar8 == (long *)0x0) {
      lVar15 = *(long *)(param_5 + 0xc0);
      *(long **)(param_5 + 0xc0) = plVar13;
      *plVar13 = lVar15;
      if (lVar15 != 0) {
        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;
      }
      *plVar8 = param_5 + 0xc0;
    }
    else {
      *plVar13 = *(long *)*plVar8;
      *(long **)*plVar8 = plVar13;
    }
    *(long *)(param_5 + 200) = *(long *)(param_5 + 200) + 1;
    local_58 = plVar9;
                    /* try { // try from 00248644 to 00248648 has its CatchHandler @ 002489ce */
    FUN_0022a4f0(param_6,&local_58);
    if (*(long *)(lVar7 + 0x28) != 0) {
      FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);
    }
  }
  plVar8 = (long *)FUN_0049cb70(0xd0);
  plVar8[1] = 0;
  plVar8[2] = 0;
  plVar8[3] = -1;
  *(byte *)(plVar8 + 4) = *(byte *)(plVar8 + 4) & 0xe0;
  *plVar8 = (long)&PTR_FUN_00653e00;
  plVar8[6] = (long)(plVar8 + 0xc);
  *(undefined1 (*) [16])(plVar8 + 10) = (undefined1  [16])0x0;
  plVar8[5] = (long)plVar9;
  plVar8[0xc] = 0;
  plVar8[7] = 1;
  plVar8[8] = 0;
  plVar8[9] = 0;
  *(undefined4 *)(plVar8 + 10) = 0x3f800000;
  plVar8[0xb] = 0;
  plVar8[0xd] = 0;
  plVar8[0xe] = 1;
  *(undefined4 *)(plVar8 + 0x10) = 0;
  plVar8[0x11] = 0;
  plVar8[0x12] = (long)(plVar8 + 0x10);
  plVar8[0x13] = (long)(plVar8 + 0x10);
  plVar8[0x14] = 0;
  plVar8[0x15] = 0;
  plVar8[0x16] = 0;
  plVar8[0x17] = 0;
                    /* try { // try from 002484a6 to 002484aa has its CatchHandler @ 002489d6 */
  puVar14 = (undefined8 *)FUN_0049cb70(0x78);
  puVar4 = puVar14 + 0xf;
  plVar8[0x15] = (long)puVar14;
  plVar8[0x17] = (long)puVar4;
  do {
    *puVar14 = 0;
    puVar14 = puVar14 + 1;
  } while (puVar4 != puVar14);
  plVar8[0x16] = (long)puVar4;
  puVar4 = *(undefined8 **)(param_5 + 0x90);
  plVar8[0x18] = 0;
  plVar8[0x19] = 1;
  if (puVar4 != *(undefined8 **)(param_5 + 0x98)) {
    *puVar4 = plVar8;
    *(undefined8 **)(param_5 + 0x90) = puVar4 + 1;
    goto LAB_00248512;
  }
  puVar14 = *(undefined8 **)(param_5 + 0x88);
  __n = (long)puVar4 - (long)puVar14;
  uVar10 = (long)__n >> 3;
  if (uVar10 == 0) {
    lVar7 = 8;
LAB_002486a6:
    pvVar11 = (void *)FUN_0049cb70(lVar7);
    lVar7 = lVar7 + (long)pvVar11;
  }
  else {
    uVar17 = uVar10 * 2;
    lVar7 = -8;
    if ((uVar17 < uVar10) || (0x1fffffffffffffff < uVar17)) goto LAB_002486a6;
    if (uVar17 != 0) {
      lVar7 = uVar10 << 4;
      goto LAB_002486a6;
    }
    lVar7 = 0;
    pvVar11 = (void *)0x0;
  }
  *(long **)((long)pvVar11 + __n) = plVar8;
  if (puVar4 == puVar14) {
    if (puVar14 != (undefined8 *)0x0) goto LAB_002486f4;
  }
  else {
    memmove(pvVar11,puVar14,__n);
LAB_002486f4:
    FUN_0049e340(puVar14);
  }
  *(void **)(param_5 + 0x88) = pvVar11;
  *(long *)(param_5 + 0x98) = lVar7;
  *(size_t *)(param_5 + 0x90) = (long)pvVar11 + __n + 8;
LAB_00248512:
  if ((*(byte *)(plVar9 + 4) & 1) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_00352af0("../../gold/output.h",0xc5,"address");
  }
  if ((*(byte *)(plVar9 + 4) & 2) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_00352af0("../../gold/output.h",0xcf,"data_size");
  }
  lVar7 = plVar9[2];
  bVar2 = *(byte *)(plVar8 + 4);
  if ((bVar2 & 1) != 0) {
                    /* WARNING: Subroutine does not return */
    FUN_00352af0("../../gold/output.h",0x142,"set_address");
  }
  plVar8[1] = plVar9[1] + lVar7;
  *(byte *)(plVar8 + 4) = bVar2 | 1;
  if ((*(byte *)(plVar9 + 4) & 4) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_00352af0("../../gold/output.h",0xe3,"offset");
  }
  if ((bVar2 & 4) != 0) {
                    /* WARNING: Subroutine does not return */
    FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");
  }
  plVar8[3] = lVar7 + plVar9[3];
  *(byte *)(plVar8 + 4) = bVar2 | 5;
  if (((bVar2 & 2) == 0) &&
     ((**(code **)(*plVar8 + 0x70))(plVar8), (*(byte *)(plVar8 + 4) & 2) == 0)) {
                    /* WARNING: Subroutine does not return */
    FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");
  }
  plVar9[10] = (long)plVar8;
  do {
    if (2 < *param_2 + 3U) {
      lVar7 = FUN_003c9a60(param_2);
      uVar6 = FUN_003c9ae0(param_2);
      if ((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6) {
                    /* WARNING: Subroutine does not return */
        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");
      }
      *(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8;
    }
    bVar18 = param_3 != param_2;
    param_2 = param_2 + 8;
  } while (bVar18);
  return;
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x68
CMP dword ptr [RDI + 0x6c],0x70000001
MOV qword ptr [RSP],RSI
MOV qword ptr [RSP + 0x8],RDX
MOV qword ptr [RSP + 0x10],R9
JZ 0x0024889d
MOV EAX,dword ptr [RCX]
MOV RBX,RCX
MOV RBP,R8
CMP EAX,-0x4
JZ 0x002483a8
JNC 0x002488b5
MOV RDI,RCX
CALL 0x003c9a60
MOV RDI,qword ptr [RAX + 0x28]
MOV qword ptr [RSP + 0x18],RAX
TEST RDI,RDI
JZ 0x00248047
MOV RSI,qword ptr [RSP + 0xa0]
ADD RDI,0x28
CALL 0x0034bf00
MOV RDI,RBX
CALL 0x003c9ae0
MOV RDI,RBX
MOV R13D,EAX
CALL 0x003c9a60
MOV EDI,0x60
MOV R12,RAX
CALL 0x0049cb70
MOV RBX,RAX
AND byte ptr [RAX + 0x20],0xe0
MOV ESI,R13D
MOV RDI,R12
MOV qword ptr [RAX + 0x8],0x0
MOV qword ptr [RAX + 0x10],0x0
MOV qword ptr [RAX + 0x18],-0x1
MOV qword ptr [RAX + 0x28],0x0
MOV qword ptr [RAX + 0x30],0x1
MOV qword ptr [RAX + 0x38],R12
MOV dword ptr [RAX + 0x40],R13D
LEA RAX,[0x6670c0]
MOV qword ptr [RBX],RAX
MOV RAX,qword ptr [R12]
MOV qword ptr [RBX + 0x44],0x1
MOV qword ptr [RBX + 0x50],0x0
MOV qword ptr [RBX + 0x58],0x0
CALL qword ptr [RAX + 0xb8]
MOV EDX,EAX
CMP RAX,RDX
JNZ 0x00248999
MOV dword ptr [RBX + 0x44],EAX
LEA RDX,[RSP + 0x38]
XOR ECX,ECX
MOV ESI,R13D
MOV RDI,R12
CALL 0x00392d50
MOV R14,RAX
MOV RAX,qword ptr [R12]
MOV ESI,R13D
MOV RDI,R12
CALL qword ptr [RAX + 0x78]
MOV EDX,EAX
CMP RAX,RDX
JNZ 0x00248981
CMP qword ptr [RBX + 0x58],0x0
MOV dword ptr [RBX + 0x48],EAX
JNZ 0x002488cd
MOV RDI,qword ptr [RSP + 0x38]
CALL 0x0049cb10
MOV qword ptr [RBX + 0x58],RAX
MOV RDX,qword ptr [RSP + 0x38]
MOV RSI,R14
MOV RDI,RAX
CALL 0x00177aa0
MOV RDX,qword ptr [R12]
LEA RCX,[0x1a5070]
MOV RAX,qword ptr [RDX + 0xc0]
CMP RAX,RCX
JNZ 0x00248730
MOV RCX,qword ptr [R12 + 0x50]
MOV RAX,qword ptr [R12 + 0x58]
MOV ESI,R13D
SUB RAX,RCX
SAR RAX,0x3
CMP RSI,RAX
JNC 0x00248855
MOV R14,qword ptr [RCX + RSI*0x8]
MOV ESI,R13D
MOV RDI,R12
CALL qword ptr [RDX + 0xd0]
MOV R15,RAX
TEST R14,R14
JZ 0x002487f5
MOV RAX,qword ptr [R12]
MOV ESI,R13D
MOV RDI,R12
CALL qword ptr [RAX + 0x110]
TEST AL,AL
JNZ 0x002487f5
TEST byte ptr [R14 + 0x20],0x1
JZ 0x00248939
MOV RDX,qword ptr [R14 + 0x8]
MOVZX EAX,byte ptr [RBX + 0x20]
ADD RDX,R15
TEST AL,0x1
JNZ 0x00248921
MOV qword ptr [RBX + 0x8],RDX
MOV EDX,EAX
OR EDX,0x1
MOV byte ptr [RBX + 0x20],DL
TEST byte ptr [R14 + 0x20],0x4
JZ 0x00248909
ADD R15,qword ptr [R14 + 0x18]
AND EDX,0x4
JNZ 0x002488e5
OR EAX,0x5
MOV qword ptr [RBX + 0x18],R15
MOV EDX,dword ptr [RBX + 0x48]
MOV byte ptr [RBX + 0x20],AL
TEST AL,0x2
JNZ 0x00248969
MOV qword ptr [RBX + 0x10],RDX
MOV RDI,RBX
CALL 0x00236100
TEST byte ptr [RBX + 0x20],0x2
JZ 0x00248951
MOV EDI,0x28
LEA R14,[RBP + 0xb0]
CALL 0x0049cb70
MOV qword ptr [RSP + 0x40],R12
MOV R15,RAX
XOR EDX,EDX
MOV RDI,R14
MOV dword ptr [RSP + 0x48],R13D
MOVDQA XMM1,xmmword ptr [RSP + 0x40]
MOV qword ptr [RAX],0x0
MOV R13,qword ptr [RBP + 0xb8]
MOVUPS xmmword ptr [RAX + 0x8],XMM1
MOV qword ptr [RAX + 0x18],RBX
MOV EAX,dword ptr [RAX + 0x10]
XOR R12,RAX
MOV RAX,R12
MOV RCX,R12
DIV R13
MOV RSI,RDX
MOV qword ptr [RSP + 0x20],RDX
LEA RDX,[R15 + 0x8]
CALL 0x0022f560
TEST RAX,RAX
JZ 0x002482a0
CMP qword ptr [RAX],0x0
JZ 0x002482a0
MOV RDI,R15
CALL 0x0049e340
LEA RDX,[0x54f940]
MOV ESI,0x2e50
LEA RDI,[0x54dce6]
CALL 0x00352af0
MOV RAX,qword ptr [RBP + 0xd8]
MOV RDX,qword ptr [RBP + 0xc8]
MOV ECX,0x1
MOV RSI,R13
LEA RDI,[RBP + 0xd0]
MOV qword ptr [RSP + 0x28],RAX
CALL 0x004dc8d0
MOV R14,RDX
TEST AL,AL
JZ 0x00248600
CMP RDX,0x1
JZ 0x002487c3
MOV RDI,RDX
CALL 0x00232700
MOV R13,RAX
LEA R9,[RBP + 0xe0]
MOV RCX,qword ptr [RBP + 0xc0]
MOV qword ptr [RBP + 0xc0],0x0
TEST RCX,RCX
JZ 0x00248370
XOR EDI,EDI
LEA R8,[RBP + 0xc0]
JMP 0x00248324
MOV RDX,qword ptr [R10]
MOV qword ptr [RCX],RDX
MOV RAX,qword ptr [RAX]
MOV qword ptr [RAX],RCX
MOV RCX,RSI
TEST RSI,RSI
JZ 0x00248370
MOV RAX,qword ptr [RCX + 0x20]
XOR EDX,EDX
MOV RSI,qword ptr [RCX]
DIV R14
LEA RAX,[R13 + RDX*0x8]
MOV R10,qword ptr [RAX]
TEST R10,R10
JNZ 0x00248310
MOV R10,qword ptr [RBP + 0xc0]
MOV qword ptr [RCX],R10
MOV qword ptr [RBP + 0xc0],RCX
MOV qword ptr [RAX],R8
CMP qword ptr [RCX],0x0
JZ 0x00248720
MOV qword ptr [R13 + RDI*0x8],RCX
MOV RDI,RDX
MOV RCX,RSI
TEST RSI,RSI
JNZ 0x00248324
NOP dword ptr [RAX + RAX*0x1]
MOV RDI,qword ptr [RBP + 0xb0]
CMP RDI,R9
JZ 0x00248381
CALL 0x0049e340
MOV RAX,R12
XOR EDX,EDX
MOV qword ptr [RBP + 0xb8],R14
DIV R14
MOV qword ptr [RBP + 0xb0],R13
MOV qword ptr [RSP + 0x20],RDX
JMP 0x00248607
MOV RBX,qword ptr [RCX + 0x10]
MOV EDI,0xd0
CALL 0x0049cb70
PXOR XMM0,XMM0
MOV EDI,0x78
MOV R12,RAX
MOV qword ptr [RAX + 0x8],0x0
MOV qword ptr [RAX + 0x10],0x0
MOV qword ptr [RAX + 0x18],-0x1
AND byte ptr [RAX + 0x20],0xe0
LEA RAX,[0x653e00]
MOV qword ptr [R12],RAX
LEA RAX,[R12 + 0x60]
MOV qword ptr [R12 + 0x30],RAX
LEA RAX,[R12 + 0x80]
MOVUPS xmmword ptr [R12 + 0x50],XMM0
MOV qword ptr [R12 + 0x28],RBX
MOV qword ptr [R12 + 0x60],0x0
MOV qword ptr [R12 + 0x38],0x1
MOV qword ptr [R12 + 0x40],0x0
MOV qword ptr [R12 + 0x48],0x0
MOV dword ptr [R12 + 0x50],0x3f800000
MOV qword ptr [R12 + 0x58],0x0
MOV qword ptr [R12 + 0x68],0x0
MOV qword ptr [R12 + 0x70],0x1
MOV dword ptr [R12 + 0x80],0x0
MOV qword ptr [R12 + 0x88],0x0
MOV qword ptr [R12 + 0x90],RAX
MOV qword ptr [R12 + 0x98],RAX
MOV qword ptr [R12 + 0xa0],0x0
MOV qword ptr [R12 + 0xa8],0x0
MOV qword ptr [R12 + 0xb0],0x0
MOV qword ptr [R12 + 0xb8],0x0
CALL 0x0049cb70
LEA RDX,[RAX + 0x78]
MOV qword ptr [R12 + 0xa8],RAX
MOV qword ptr [R12 + 0xb8],RDX
NOP
MOV qword ptr [RAX],0x0
ADD RAX,0x8
CMP RDX,RAX
JNZ 0x002484c0
MOV qword ptr [R12 + 0xb0],RDX
MOV R15,qword ptr [RBP + 0x90]
MOV qword ptr [R12 + 0xc0],0x0
MOV qword ptr [R12 + 0xc8],0x1
CMP R15,qword ptr [RBP + 0x98]
JZ 0x00248678
MOV qword ptr [R15],R12
ADD R15,0x8
MOV qword ptr [RBP + 0x90],R15
MOVZX EAX,byte ptr [RBX + 0x20]
TEST AL,0x1
JZ 0x002489b1
MOV RCX,qword ptr [RBX + 0x8]
TEST AL,0x2
JZ 0x0024883d
MOV RDX,qword ptr [RBX + 0x10]
MOVZX EAX,byte ptr [R12 + 0x20]
ADD RCX,RDX
TEST AL,0x1
JNZ 0x0024886d
MOV qword ptr [R12 + 0x8],RCX
MOV ECX,EAX
OR ECX,0x1
MOV byte ptr [R12 + 0x20],CL
TEST byte ptr [RBX + 0x20],0x4
JZ 0x00248885
ADD RDX,qword ptr [RBX + 0x18]
AND ECX,0x4
JNZ 0x0024880d
OR EAX,0x5
MOV qword ptr [R12 + 0x18],RDX
MOV byte ptr [R12 + 0x20],AL
TEST AL,0x2
JNZ 0x0024858c
MOV RAX,qword ptr [R12]
MOV RDI,R12
CALL qword ptr [RAX + 0x70]
TEST byte ptr [R12 + 0x20],0x2
JZ 0x00248825
MOV qword ptr [RBX + 0x50],R12
MOV RBP,qword ptr [RSP + 0x8]
MOV RBX,qword ptr [RSP]
JMP 0x002485a3
MOV RBX,RAX
MOV EAX,dword ptr [RBX]
ADD EAX,0x3
CMP EAX,0x2
JBE 0x002485e4
MOV RDI,RBX
CALL 0x003c9a60
MOV RDI,RBX
MOV R13,RAX
CALL 0x003c9ae0
MOV RCX,qword ptr [R13 + 0x220]
MOV RDX,qword ptr [R13 + 0x228]
MOV EAX,EAX
SUB RDX,RCX
SAR RDX,0x3
CMP RAX,RDX
JNC 0x002487dd
MOV qword ptr [RCX + RAX*0x8],R12
LEA RAX,[RBX + 0x20]
CMP RBP,RBX
JNZ 0x002485a0
ADD RSP,0x68
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV R13,qword ptr [RBP + 0xb0]
MOV RAX,qword ptr [RSP + 0x20]
MOV qword ptr [R15 + 0x20],R12
LEA RCX,[R13 + RAX*0x8]
MOV RAX,qword ptr [RCX]
TEST RAX,RAX
JZ 0x00248748
MOV RAX,qword ptr [RAX]
MOV qword ptr [R15],RAX
MOV RAX,qword ptr [RCX]
MOV qword ptr [RAX],R15
MOV RDI,qword ptr [RSP + 0x10]
LEA RSI,[RSP + 0x40]
MOV qword ptr [RSP + 0x40],RBX
ADD qword ptr [RBP + 0xc8],0x1
CALL 0x0022a4f0
MOV RAX,qword ptr [RSP + 0x18]
MOV RDI,qword ptr [RAX + 0x28]
TEST RDI,RDI
JZ 0x002483ac
MOV RSI,qword ptr [RSP + 0xa0]
ADD RDI,0x28
CALL 0x0034cac0
JMP 0x002483ac
MOV R8,qword ptr [RBP + 0x88]
MOV RDX,R15
SUB RDX,R8
MOV RAX,RDX
SAR RAX,0x3
JZ 0x002487b8
LEA RCX,[RAX + RAX*0x1]
MOV R13,-0x8
CMP RAX,RCX
JBE 0x0024877f
MOV RDI,R13
MOV qword ptr [RSP + 0x18],RDX
MOV qword ptr [RSP + 0x10],R8
CALL 0x0049cb70
MOV R8,qword ptr [RSP + 0x10]
MOV RDX,qword ptr [RSP + 0x18]
MOV R14,RAX
ADD R13,RAX
LEA RAX,[R14 + RDX*0x1 + 0x8]
MOV qword ptr [R14 + RDX*0x1],R12
MOV qword ptr [RSP + 0x10],RAX
CMP R15,R8
JZ 0x002487a6
MOV RSI,R8
MOV RDI,R14
MOV qword ptr [RSP + 0x18],R8
CALL 0x001776d0
MOV R8,qword ptr [RSP + 0x18]
MOV RDI,R8
CALL 0x0049e340
MOV RAX,qword ptr [RSP + 0x10]
MOV qword ptr [RBP + 0x88],R14
MOV qword ptr [RBP + 0x98],R13
MOV qword ptr [RBP + 0x90],RAX
JMP 0x00248512
MOV RDI,RDX
JMP 0x0024831c
MOV ESI,R13D
MOV RDI,R12
CALL RAX
MOV R14,RAX
MOV RDX,qword ptr [R12]
JMP 0x00248173
MOV RAX,qword ptr [RBP + 0xc0]
MOV qword ptr [RBP + 0xc0],R15
MOV qword ptr [R15],RAX
TEST RAX,RAX
JZ 0x00248770
MOV RAX,qword ptr [RAX + 0x20]
XOR EDX,EDX
DIV qword ptr [RBP + 0xb8]
MOV qword ptr [R13 + RDX*0x8],R15
LEA RAX,[RBP + 0xc0]
MOV qword ptr [RCX],RAX
JMP 0x0024862d
MOV RSI,0x1fffffffffffffff
CMP RCX,RSI
JA 0x002486a6
TEST RCX,RCX
JNZ 0x002488fd
XOR R13D,R13D
XOR R14D,R14D
JMP 0x002486c8
TEST R8,R8
JZ 0x002486fc
JMP 0x002486f4
MOV R13D,0x8
JMP 0x002486a6
LEA R13,[RBP + 0xe0]
MOV qword ptr [RBP + 0xe0],0x0
MOV R9,R13
JMP 0x002482ee
LEA RDX,[0x54f908]
MOV ESI,0x5ef
LEA RDI,[0x54dce6]
CALL 0x00352af0
LEA RDX,[0x54f921]
MOV ESI,0x14c7
LEA RDI,[0x54dce6]
CALL 0x00352af0
LEA RDX,[0x5508a0]
MOV ESI,0x14b
LEA RDI,[0x533384]
CALL 0x00352af0
LEA RDX,[0x550950]
MOV ESI,0x163
LEA RDI,[0x533384]
CALL 0x00352af0
LEA RDX,[0x5513e0]
MOV ESI,0xcf
LEA RDI,[0x533384]
CALL 0x00352af0
LEA RDX,[0x551120]
MOV ESI,0x5c8
LEA RDI,[0x5333ac]
CALL 0x00352af0
LEA RDX,[0x5508b0]
MOV ESI,0x142
LEA RDI,[0x533384]
CALL 0x00352af0
LEA RDX,[0x5513ea]
MOV ESI,0xe3
LEA RDI,[0x533384]
CALL 0x00352af0
LEA RDX,[0x54f960]
MOV ESI,0x1680
LEA RDI,[0x54dce6]
CALL 0x00352af0
LEA RDX,[0x54f960]
MOV ESI,0x1690
LEA RDI,[0x54dce6]
CALL 0x00352af0
LEA RDX,[0x54f921]
MOV ESI,0x14bf
LEA RDI,[0x54dce6]
CALL 0x00352af0
LEA RDX,[0x5508a0]
MOV ESI,0x14b
LEA RDI,[0x533384]
CALL 0x00352af0
SHL RAX,0x4
MOV R13,RAX
JMP 0x002486a6
LEA RDX,[0x5513ea]
MOV ESI,0xe3
LEA RDI,[0x533384]
CALL 0x00352af0
LEA RDX,[0x5508b0]
MOV ESI,0x142
LEA RDI,[0x533384]
CALL 0x00352af0
LEA RDX,[0x5513c0]
MOV ESI,0xc5
LEA RDI,[0x533384]
CALL 0x00352af0
LEA RDX,[0x550950]
MOV ESI,0x163
LEA RDI,[0x533384]
CALL 0x00352af0
LEA RDX,[0x551340]
MOV ESI,0x231
LEA RDI,[0x533384]
CALL 0x00352af0
LEA RDX,[0x551360]
MOV ESI,0xc0
LEA RDI,[0x535f0e]
CALL 0x00352af0
LEA RDX,[0x551360]
MOV ESI,0xc0
LEA RDI,[0x535f0e]
CALL 0x00352af0
LEA RDX,[0x5513c0]
MOV ESI,0xc5
LEA RDI,[0x533384]
CALL 0x00352af0
(translation_unit "void FUN_00247fe0(long param_1,int *param_2,int *param_3,uint *param_4,long param_5,\n                 undefined8 param_6,undefined8 param_7)\n\n{\n  long *plVar1;\n  byte bVar2;\n  long *plVar3;\n  undefined8 *puVar4;\n  char cVar5;\n  uint uVar6;\n  long lVar7;\n  long *plVar8;\n  long *plVar9;\n  ulong uVar10;\n  void *pvVar11;\n  void *__dest;\n  long lVar12;\n  long *plVar13;\n  undefined8 *puVar14;\n  long lVar15;\n  ulong extraout_RDX;\n  ulong uVar16;\n  size_t __n;\n  ulong uVar17;\n  bool bVar18;\n  ulong local_78;\n  size_t local_60;\n  long *local_58;\n  uint uStack_50;\n  undefined4 uStack_4c;\n  \n  if (*(int *)(param_1 + 0x6c) == 0x70000001) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/arm.cc",0x1680,"create_stub_group");\n  }\n  if (*param_4 == 0xfffffffc) {\n    plVar9 = *(long **)(param_4 + 4);\n  }\n  else {\n    if (0xfffffffb < *param_4) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");\n    }\n    lVar7 = FUN_003c9a60(param_4);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n                    /* try { // try from 0024804a to 002482c6 has its CatchHandler @ 002489ce */\n    uVar6 = FUN_003c9ae0(param_4);\n    plVar8 = (long *)FUN_003c9a60(param_4);\n    plVar9 = (long *)FUN_0049cb70(0x60);\n    *(byte *)(plVar9 + 4) = *(byte *)(plVar9 + 4) & 0xe0;\n    plVar9[1] = 0;\n    plVar9[2] = 0;\n    plVar9[3] = -1;\n    plVar9[5] = 0;\n    plVar9[6] = 1;\n    plVar9[7] = (long)plVar8;\n    *(uint *)(plVar9 + 8) = uVar6;\n    *plVar9 = (long)&PTR_FUN_006670c0;\n    lVar12 = *plVar8;\n    *(undefined8 *)((long)plVar9 + 0x44) = 1;\n    plVar9[10] = 0;\n    plVar9[0xb] = 0;\n    uVar10 = (**(code **)(lVar12 + 0xb8))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)((long)plVar9 + 0x44) = (int)uVar10;\n    pvVar11 = (void *)FUN_00392d50(plVar8,uVar6,&local_60,0);\n    uVar10 = (**(code **)(*plVar8 + 0x78))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)(plVar9 + 9) = (int)uVar10;\n    if (plVar9[0xb] != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002488e0 to 002489b0 has its CatchHandler @ 002489ce */\n      FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);\n    }\n    __dest = (void *)thunk_FUN_0049cb70(local_60);\n    plVar9[0xb] = (long)__dest;\n    memcpy(__dest,pvVar11,local_60);\n    lVar12 = *plVar8;\n    if (*(code **)(lVar12 + 0xc0) == FUN_001a5070) {\n      if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248868 to 0024886c has its CatchHandler @ 002489ce */\n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);\n    }\n    else {\n                    /* try { // try from 00248736 to 00248737 has its CatchHandler @ 002489ce */\n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }\n    lVar12 = (**(code **)(lVar12 + 0xd0))(plVar8,uVar6);\n    if ((lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248808 to 0024880c has its CatchHandler @ 002489ce */\n      FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);\n    }\n    if ((*(byte *)(lVar15 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n    bVar2 = *(byte *)(plVar9 + 4);\n    if ((bVar2 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x142,"set_address");\n    }\n    plVar9[1] = *(long *)(lVar15 + 8) + lVar12;\n    *(byte *)(plVar9 + 4) = bVar2 | 1;\n    if ((*(byte *)(lVar15 + 0x20) & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0xe3,"offset");\n    }\n    if ((bVar2 & 4) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n    }\n    plVar9[3] = lVar12 + *(long *)(lVar15 + 0x18);\n    *(byte *)(plVar9 + 4) = bVar2 | 5;\n    if ((bVar2 & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    plVar9[2] = (ulong)*(uint *)(plVar9 + 9);\n    FUN_00236100(plVar9);\n    if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n    }\n    plVar13 = (long *)FUN_0049cb70(0x28);\n    *plVar13 = 0;\n    uVar10 = *(ulong *)(param_5 + 0xb8);\n    plVar13[1] = (long)plVar8;\n    plVar13[2] = CONCAT44(uStack_4c,uVar6);\n    plVar13[3] = (long)plVar9;\n    uVar17 = (ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2);\n    local_78 = uVar17 % uVar10;\n    local_58 = plVar8;\n    uStack_50 = uVar6;\n    plVar8 = (long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17);\n    if ((plVar8 != (long *)0x0) && (*plVar8 != 0)) {\n      FUN_0049e340(plVar13);\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }\n    cVar5 = FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1);\n    if (cVar5 == '\0') {\n      lVar12 = *(long *)(param_5 + 0xb0);\n    }\n    else {\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */\n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }\n    plVar13[4] = uVar17;\n    plVar8 = (long *)(lVar12 + local_78 * 8);\n    if ((long *)*plVar8 == (long *)0x0) {\n      lVar15 = *(long *)(param_5 + 0xc0);\n      *(long **)(param_5 + 0xc0) = plVar13;\n      *plVar13 = lVar15;\n      if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }\n      *plVar8 = param_5 + 0xc0;\n    }\n    else {\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }\n    *(long *)(param_5 + 200) = *(long *)(param_5 + 200) + 1;\n    local_58 = plVar9;\n                    /* try { // try from 00248644 to 00248648 has its CatchHandler @ 002489ce */\n    FUN_0022a4f0(param_6,&local_58);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n  }\n  plVar8 = (long *)FUN_0049cb70(0xd0);\n  plVar8[1] = 0;\n  plVar8[2] = 0;\n  plVar8[3] = -1;\n  *(byte *)(plVar8 + 4) = *(byte *)(plVar8 + 4) & 0xe0;\n  *plVar8 = (long)&PTR_FUN_00653e00;\n  plVar8[6] = (long)(plVar8 + 0xc);\n  *(undefined1 (*) [16])(plVar8 + 10) = (undefined1  [16])0x0;\n  plVar8[5] = (long)plVar9;\n  plVar8[0xc] = 0;\n  plVar8[7] = 1;\n  plVar8[8] = 0;\n  plVar8[9] = 0;\n  *(undefined4 *)(plVar8 + 10) = 0x3f800000;\n  plVar8[0xb] = 0;\n  plVar8[0xd] = 0;\n  plVar8[0xe] = 1;\n  *(undefined4 *)(plVar8 + 0x10) = 0;\n  plVar8[0x11] = 0;\n  plVar8[0x12] = (long)(plVar8 + 0x10);\n  plVar8[0x13] = (long)(plVar8 + 0x10);\n  plVar8[0x14] = 0;\n  plVar8[0x15] = 0;\n  plVar8[0x16] = 0;\n  plVar8[0x17] = 0;\n                    /* try { // try from 002484a6 to 002484aa has its CatchHandler @ 002489d6 */\n  puVar14 = (undefined8 *)FUN_0049cb70(0x78);\n  puVar4 = puVar14 + 0xf;\n  plVar8[0x15] = (long)puVar14;\n  plVar8[0x17] = (long)puVar4;\n  do {\n    *puVar14 = 0;\n    puVar14 = puVar14 + 1;\n  } while (puVar4 != puVar14);\n  plVar8[0x16] = (long)puVar4;\n  puVar4 = *(undefined8 **)(param_5 + 0x90);\n  plVar8[0x18] = 0;\n  plVar8[0x19] = 1;\n  if (puVar4 != *(undefined8 **)(param_5 + 0x98)) {\n    *puVar4 = plVar8;\n    *(undefined8 **)(param_5 + 0x90) = puVar4 + 1;\n    goto LAB_00248512;\n  }\n  puVar14 = *(undefined8 **)(param_5 + 0x88);\n  __n = (long)puVar4 - (long)puVar14;\n  uVar10 = (long)__n >> 3;\n  if (uVar10 == 0) {\n    lVar7 = 8;\nLAB_002486a6:\n    pvVar11 = (void *)FUN_0049cb70(lVar7);\n    lVar7 = lVar7 + (long)pvVar11;\n  }\n  else {\n    uVar17 = uVar10 * 2;\n    lVar7 = -8;\n    if ((uVar17 < uVar10) || (0x1fffffffffffffff < uVar17)) goto LAB_002486a6;\n    if (uVar17 != 0) {\n      lVar7 = uVar10 << 4;\n      goto LAB_002486a6;\n    }\n    lVar7 = 0;\n    pvVar11 = (void *)0x0;\n  }\n  *(long **)((long)pvVar11 + __n) = plVar8;\n  if (puVar4 == puVar14) {\n    if (puVar14 != (undefined8 *)0x0) goto LAB_002486f4;\n  }\n  else {\n    memmove(pvVar11,puVar14,__n);\nLAB_002486f4:\n    FUN_0049e340(puVar14);\n  }\n  *(void **)(param_5 + 0x88) = pvVar11;\n  *(long *)(param_5 + 0x98) = lVar7;\n  *(size_t *)(param_5 + 0x90) = (long)pvVar11 + __n + 8;\nLAB_00248512:\n  if ((*(byte *)(plVar9 + 4) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xc5,"address");\n  }\n  if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar7 = plVar9[2];\n  bVar2 = *(byte *)(plVar8 + 4);\n  if ((bVar2 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0x142,"set_address");\n  }\n  plVar8[1] = plVar9[1] + lVar7;\n  *(byte *)(plVar8 + 4) = bVar2 | 1;\n  if ((*(byte *)(plVar9 + 4) & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\n  }\n  if ((bVar2 & 4) != 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n  }\n  plVar8[3] = lVar7 + plVar9[3];\n  *(byte *)(plVar8 + 4) = bVar2 | 5;\n  if (((bVar2 & 2) == 0) &&\n     ((**(code **)(*plVar8 + 0x70))(plVar8), (*(byte *)(plVar8 + 4) & 2) == 0)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n  }\n  plVar9[10] = (long)plVar8;\n  do {\n    if (2 < *param_2 + 3U) {\n      lVar7 = FUN_003c9a60(param_2);\n      uVar6 = FUN_003c9ae0(param_2);\n      if ((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      *(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8;\n    }\n    bVar18 = param_3 != param_2;\n    param_2 = param_2 + 8;\n  } while (bVar18);\n  return;\n}\n\n" (function_definition "void FUN_00247fe0(long param_1,int *param_2,int *param_3,uint *param_4,long param_5,\n                 undefined8 param_6,undefined8 param_7)\n\n{\n  long *plVar1;\n  byte bVar2;\n  long *plVar3;\n  undefined8 *puVar4;\n  char cVar5;\n  uint uVar6;\n  long lVar7;\n  long *plVar8;\n  long *plVar9;\n  ulong uVar10;\n  void *pvVar11;\n  void *__dest;\n  long lVar12;\n  long *plVar13;\n  undefined8 *puVar14;\n  long lVar15;\n  ulong extraout_RDX;\n  ulong uVar16;\n  size_t __n;\n  ulong uVar17;\n  bool bVar18;\n  ulong local_78;\n  size_t local_60;\n  long *local_58;\n  uint uStack_50;\n  undefined4 uStack_4c;\n  \n  if (*(int *)(param_1 + 0x6c) == 0x70000001) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/arm.cc",0x1680,"create_stub_group");\n  }\n  if (*param_4 == 0xfffffffc) {\n    plVar9 = *(long **)(param_4 + 4);\n  }\n  else {\n    if (0xfffffffb < *param_4) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");\n    }\n    lVar7 = FUN_003c9a60(param_4);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n                    /* try { // try from 0024804a to 002482c6 has its CatchHandler @ 002489ce */\n    uVar6 = FUN_003c9ae0(param_4);\n    plVar8 = (long *)FUN_003c9a60(param_4);\n    plVar9 = (long *)FUN_0049cb70(0x60);\n    *(byte *)(plVar9 + 4) = *(byte *)(plVar9 + 4) & 0xe0;\n    plVar9[1] = 0;\n    plVar9[2] = 0;\n    plVar9[3] = -1;\n    plVar9[5] = 0;\n    plVar9[6] = 1;\n    plVar9[7] = (long)plVar8;\n    *(uint *)(plVar9 + 8) = uVar6;\n    *plVar9 = (long)&PTR_FUN_006670c0;\n    lVar12 = *plVar8;\n    *(undefined8 *)((long)plVar9 + 0x44) = 1;\n    plVar9[10] = 0;\n    plVar9[0xb] = 0;\n    uVar10 = (**(code **)(lVar12 + 0xb8))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)((long)plVar9 + 0x44) = (int)uVar10;\n    pvVar11 = (void *)FUN_00392d50(plVar8,uVar6,&local_60,0);\n    uVar10 = (**(code **)(*plVar8 + 0x78))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)(plVar9 + 9) = (int)uVar10;\n    if (plVar9[0xb] != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002488e0 to 002489b0 has its CatchHandler @ 002489ce */\n      FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);\n    }\n    __dest = (void *)thunk_FUN_0049cb70(local_60);\n    plVar9[0xb] = (long)__dest;\n    memcpy(__dest,pvVar11,local_60);\n    lVar12 = *plVar8;\n    if (*(code **)(lVar12 + 0xc0) == FUN_001a5070) {\n      if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248868 to 0024886c has its CatchHandler @ 002489ce */\n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);\n    }\n    else {\n                    /* try { // try from 00248736 to 00248737 has its CatchHandler @ 002489ce */\n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }\n    lVar12 = (**(code **)(lVar12 + 0xd0))(plVar8,uVar6);\n    if ((lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248808 to 0024880c has its CatchHandler @ 002489ce */\n      FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);\n    }\n    if ((*(byte *)(lVar15 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n    bVar2 = *(byte *)(plVar9 + 4);\n    if ((bVar2 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x142,"set_address");\n    }\n    plVar9[1] = *(long *)(lVar15 + 8) + lVar12;\n    *(byte *)(plVar9 + 4) = bVar2 | 1;\n    if ((*(byte *)(lVar15 + 0x20) & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0xe3,"offset");\n    }\n    if ((bVar2 & 4) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n    }\n    plVar9[3] = lVar12 + *(long *)(lVar15 + 0x18);\n    *(byte *)(plVar9 + 4) = bVar2 | 5;\n    if ((bVar2 & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    plVar9[2] = (ulong)*(uint *)(plVar9 + 9);\n    FUN_00236100(plVar9);\n    if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n    }\n    plVar13 = (long *)FUN_0049cb70(0x28);\n    *plVar13 = 0;\n    uVar10 = *(ulong *)(param_5 + 0xb8);\n    plVar13[1] = (long)plVar8;\n    plVar13[2] = CONCAT44(uStack_4c,uVar6);\n    plVar13[3] = (long)plVar9;\n    uVar17 = (ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2);\n    local_78 = uVar17 % uVar10;\n    local_58 = plVar8;\n    uStack_50 = uVar6;\n    plVar8 = (long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17);\n    if ((plVar8 != (long *)0x0) && (*plVar8 != 0)) {\n      FUN_0049e340(plVar13);\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }\n    cVar5 = FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1);\n    if (cVar5 == '\0') {\n      lVar12 = *(long *)(param_5 + 0xb0);\n    }\n    else {\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */\n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }\n    plVar13[4] = uVar17;\n    plVar8 = (long *)(lVar12 + local_78 * 8);\n    if ((long *)*plVar8 == (long *)0x0) {\n      lVar15 = *(long *)(param_5 + 0xc0);\n      *(long **)(param_5 + 0xc0) = plVar13;\n      *plVar13 = lVar15;\n      if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }\n      *plVar8 = param_5 + 0xc0;\n    }\n    else {\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }\n    *(long *)(param_5 + 200) = *(long *)(param_5 + 200) + 1;\n    local_58 = plVar9;\n                    /* try { // try from 00248644 to 00248648 has its CatchHandler @ 002489ce */\n    FUN_0022a4f0(param_6,&local_58);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n  }\n  plVar8 = (long *)FUN_0049cb70(0xd0);\n  plVar8[1] = 0;\n  plVar8[2] = 0;\n  plVar8[3] = -1;\n  *(byte *)(plVar8 + 4) = *(byte *)(plVar8 + 4) & 0xe0;\n  *plVar8 = (long)&PTR_FUN_00653e00;\n  plVar8[6] = (long)(plVar8 + 0xc);\n  *(undefined1 (*) [16])(plVar8 + 10) = (undefined1  [16])0x0;\n  plVar8[5] = (long)plVar9;\n  plVar8[0xc] = 0;\n  plVar8[7] = 1;\n  plVar8[8] = 0;\n  plVar8[9] = 0;\n  *(undefined4 *)(plVar8 + 10) = 0x3f800000;\n  plVar8[0xb] = 0;\n  plVar8[0xd] = 0;\n  plVar8[0xe] = 1;\n  *(undefined4 *)(plVar8 + 0x10) = 0;\n  plVar8[0x11] = 0;\n  plVar8[0x12] = (long)(plVar8 + 0x10);\n  plVar8[0x13] = (long)(plVar8 + 0x10);\n  plVar8[0x14] = 0;\n  plVar8[0x15] = 0;\n  plVar8[0x16] = 0;\n  plVar8[0x17] = 0;\n                    /* try { // try from 002484a6 to 002484aa has its CatchHandler @ 002489d6 */\n  puVar14 = (undefined8 *)FUN_0049cb70(0x78);\n  puVar4 = puVar14 + 0xf;\n  plVar8[0x15] = (long)puVar14;\n  plVar8[0x17] = (long)puVar4;\n  do {\n    *puVar14 = 0;\n    puVar14 = puVar14 + 1;\n  } while (puVar4 != puVar14);\n  plVar8[0x16] = (long)puVar4;\n  puVar4 = *(undefined8 **)(param_5 + 0x90);\n  plVar8[0x18] = 0;\n  plVar8[0x19] = 1;\n  if (puVar4 != *(undefined8 **)(param_5 + 0x98)) {\n    *puVar4 = plVar8;\n    *(undefined8 **)(param_5 + 0x90) = puVar4 + 1;\n    goto LAB_00248512;\n  }\n  puVar14 = *(undefined8 **)(param_5 + 0x88);\n  __n = (long)puVar4 - (long)puVar14;\n  uVar10 = (long)__n >> 3;\n  if (uVar10 == 0) {\n    lVar7 = 8;\nLAB_002486a6:\n    pvVar11 = (void *)FUN_0049cb70(lVar7);\n    lVar7 = lVar7 + (long)pvVar11;\n  }\n  else {\n    uVar17 = uVar10 * 2;\n    lVar7 = -8;\n    if ((uVar17 < uVar10) || (0x1fffffffffffffff < uVar17)) goto LAB_002486a6;\n    if (uVar17 != 0) {\n      lVar7 = uVar10 << 4;\n      goto LAB_002486a6;\n    }\n    lVar7 = 0;\n    pvVar11 = (void *)0x0;\n  }\n  *(long **)((long)pvVar11 + __n) = plVar8;\n  if (puVar4 == puVar14) {\n    if (puVar14 != (undefined8 *)0x0) goto LAB_002486f4;\n  }\n  else {\n    memmove(pvVar11,puVar14,__n);\nLAB_002486f4:\n    FUN_0049e340(puVar14);\n  }\n  *(void **)(param_5 + 0x88) = pvVar11;\n  *(long *)(param_5 + 0x98) = lVar7;\n  *(size_t *)(param_5 + 0x90) = (long)pvVar11 + __n + 8;\nLAB_00248512:\n  if ((*(byte *)(plVar9 + 4) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xc5,"address");\n  }\n  if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar7 = plVar9[2];\n  bVar2 = *(byte *)(plVar8 + 4);\n  if ((bVar2 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0x142,"set_address");\n  }\n  plVar8[1] = plVar9[1] + lVar7;\n  *(byte *)(plVar8 + 4) = bVar2 | 1;\n  if ((*(byte *)(plVar9 + 4) & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\n  }\n  if ((bVar2 & 4) != 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n  }\n  plVar8[3] = lVar7 + plVar9[3];\n  *(byte *)(plVar8 + 4) = bVar2 | 5;\n  if (((bVar2 & 2) == 0) &&\n     ((**(code **)(*plVar8 + 0x70))(plVar8), (*(byte *)(plVar8 + 4) & 2) == 0)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n  }\n  plVar9[10] = (long)plVar8;\n  do {\n    if (2 < *param_2 + 3U) {\n      lVar7 = FUN_003c9a60(param_2);\n      uVar6 = FUN_003c9ae0(param_2);\n      if ((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      *(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8;\n    }\n    bVar18 = param_3 != param_2;\n    param_2 = param_2 + 8;\n  } while (bVar18);\n  return;\n}" primitive_type (function_declarator "FUN_00247fe0(long param_1,int *param_2,int *param_3,uint *param_4,long param_5,\n                 undefined8 param_6,undefined8 param_7)" identifier (parameter_list "(long param_1,int *param_2,int *param_3,uint *param_4,long param_5,\n                 undefined8 param_6,undefined8 param_7)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "uint *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "long param_5" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_6" type_identifier identifier) , (parameter_declaration "undefined8 param_7" type_identifier identifier) ))) (compound_statement "{\n  long *plVar1;\n  byte bVar2;\n  long *plVar3;\n  undefined8 *puVar4;\n  char cVar5;\n  uint uVar6;\n  long lVar7;\n  long *plVar8;\n  long *plVar9;\n  ulong uVar10;\n  void *pvVar11;\n  void *__dest;\n  long lVar12;\n  long *plVar13;\n  undefined8 *puVar14;\n  long lVar15;\n  ulong extraout_RDX;\n  ulong uVar16;\n  size_t __n;\n  ulong uVar17;\n  bool bVar18;\n  ulong local_78;\n  size_t local_60;\n  long *local_58;\n  uint uStack_50;\n  undefined4 uStack_4c;\n  \n  if (*(int *)(param_1 + 0x6c) == 0x70000001) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/arm.cc",0x1680,"create_stub_group");\n  }\n  if (*param_4 == 0xfffffffc) {\n    plVar9 = *(long **)(param_4 + 4);\n  }\n  else {\n    if (0xfffffffb < *param_4) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");\n    }\n    lVar7 = FUN_003c9a60(param_4);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n                    /* try { // try from 0024804a to 002482c6 has its CatchHandler @ 002489ce */\n    uVar6 = FUN_003c9ae0(param_4);\n    plVar8 = (long *)FUN_003c9a60(param_4);\n    plVar9 = (long *)FUN_0049cb70(0x60);\n    *(byte *)(plVar9 + 4) = *(byte *)(plVar9 + 4) & 0xe0;\n    plVar9[1] = 0;\n    plVar9[2] = 0;\n    plVar9[3] = -1;\n    plVar9[5] = 0;\n    plVar9[6] = 1;\n    plVar9[7] = (long)plVar8;\n    *(uint *)(plVar9 + 8) = uVar6;\n    *plVar9 = (long)&PTR_FUN_006670c0;\n    lVar12 = *plVar8;\n    *(undefined8 *)((long)plVar9 + 0x44) = 1;\n    plVar9[10] = 0;\n    plVar9[0xb] = 0;\n    uVar10 = (**(code **)(lVar12 + 0xb8))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)((long)plVar9 + 0x44) = (int)uVar10;\n    pvVar11 = (void *)FUN_00392d50(plVar8,uVar6,&local_60,0);\n    uVar10 = (**(code **)(*plVar8 + 0x78))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)(plVar9 + 9) = (int)uVar10;\n    if (plVar9[0xb] != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002488e0 to 002489b0 has its CatchHandler @ 002489ce */\n      FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);\n    }\n    __dest = (void *)thunk_FUN_0049cb70(local_60);\n    plVar9[0xb] = (long)__dest;\n    memcpy(__dest,pvVar11,local_60);\n    lVar12 = *plVar8;\n    if (*(code **)(lVar12 + 0xc0) == FUN_001a5070) {\n      if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248868 to 0024886c has its CatchHandler @ 002489ce */\n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);\n    }\n    else {\n                    /* try { // try from 00248736 to 00248737 has its CatchHandler @ 002489ce */\n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }\n    lVar12 = (**(code **)(lVar12 + 0xd0))(plVar8,uVar6);\n    if ((lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248808 to 0024880c has its CatchHandler @ 002489ce */\n      FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);\n    }\n    if ((*(byte *)(lVar15 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n    bVar2 = *(byte *)(plVar9 + 4);\n    if ((bVar2 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x142,"set_address");\n    }\n    plVar9[1] = *(long *)(lVar15 + 8) + lVar12;\n    *(byte *)(plVar9 + 4) = bVar2 | 1;\n    if ((*(byte *)(lVar15 + 0x20) & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0xe3,"offset");\n    }\n    if ((bVar2 & 4) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n    }\n    plVar9[3] = lVar12 + *(long *)(lVar15 + 0x18);\n    *(byte *)(plVar9 + 4) = bVar2 | 5;\n    if ((bVar2 & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    plVar9[2] = (ulong)*(uint *)(plVar9 + 9);\n    FUN_00236100(plVar9);\n    if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n    }\n    plVar13 = (long *)FUN_0049cb70(0x28);\n    *plVar13 = 0;\n    uVar10 = *(ulong *)(param_5 + 0xb8);\n    plVar13[1] = (long)plVar8;\n    plVar13[2] = CONCAT44(uStack_4c,uVar6);\n    plVar13[3] = (long)plVar9;\n    uVar17 = (ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2);\n    local_78 = uVar17 % uVar10;\n    local_58 = plVar8;\n    uStack_50 = uVar6;\n    plVar8 = (long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17);\n    if ((plVar8 != (long *)0x0) && (*plVar8 != 0)) {\n      FUN_0049e340(plVar13);\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }\n    cVar5 = FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1);\n    if (cVar5 == '\0') {\n      lVar12 = *(long *)(param_5 + 0xb0);\n    }\n    else {\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */\n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }\n    plVar13[4] = uVar17;\n    plVar8 = (long *)(lVar12 + local_78 * 8);\n    if ((long *)*plVar8 == (long *)0x0) {\n      lVar15 = *(long *)(param_5 + 0xc0);\n      *(long **)(param_5 + 0xc0) = plVar13;\n      *plVar13 = lVar15;\n      if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }\n      *plVar8 = param_5 + 0xc0;\n    }\n    else {\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }\n    *(long *)(param_5 + 200) = *(long *)(param_5 + 200) + 1;\n    local_58 = plVar9;\n                    /* try { // try from 00248644 to 00248648 has its CatchHandler @ 002489ce */\n    FUN_0022a4f0(param_6,&local_58);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n  }\n  plVar8 = (long *)FUN_0049cb70(0xd0);\n  plVar8[1] = 0;\n  plVar8[2] = 0;\n  plVar8[3] = -1;\n  *(byte *)(plVar8 + 4) = *(byte *)(plVar8 + 4) & 0xe0;\n  *plVar8 = (long)&PTR_FUN_00653e00;\n  plVar8[6] = (long)(plVar8 + 0xc);\n  *(undefined1 (*) [16])(plVar8 + 10) = (undefined1  [16])0x0;\n  plVar8[5] = (long)plVar9;\n  plVar8[0xc] = 0;\n  plVar8[7] = 1;\n  plVar8[8] = 0;\n  plVar8[9] = 0;\n  *(undefined4 *)(plVar8 + 10) = 0x3f800000;\n  plVar8[0xb] = 0;\n  plVar8[0xd] = 0;\n  plVar8[0xe] = 1;\n  *(undefined4 *)(plVar8 + 0x10) = 0;\n  plVar8[0x11] = 0;\n  plVar8[0x12] = (long)(plVar8 + 0x10);\n  plVar8[0x13] = (long)(plVar8 + 0x10);\n  plVar8[0x14] = 0;\n  plVar8[0x15] = 0;\n  plVar8[0x16] = 0;\n  plVar8[0x17] = 0;\n                    /* try { // try from 002484a6 to 002484aa has its CatchHandler @ 002489d6 */\n  puVar14 = (undefined8 *)FUN_0049cb70(0x78);\n  puVar4 = puVar14 + 0xf;\n  plVar8[0x15] = (long)puVar14;\n  plVar8[0x17] = (long)puVar4;\n  do {\n    *puVar14 = 0;\n    puVar14 = puVar14 + 1;\n  } while (puVar4 != puVar14);\n  plVar8[0x16] = (long)puVar4;\n  puVar4 = *(undefined8 **)(param_5 + 0x90);\n  plVar8[0x18] = 0;\n  plVar8[0x19] = 1;\n  if (puVar4 != *(undefined8 **)(param_5 + 0x98)) {\n    *puVar4 = plVar8;\n    *(undefined8 **)(param_5 + 0x90) = puVar4 + 1;\n    goto LAB_00248512;\n  }\n  puVar14 = *(undefined8 **)(param_5 + 0x88);\n  __n = (long)puVar4 - (long)puVar14;\n  uVar10 = (long)__n >> 3;\n  if (uVar10 == 0) {\n    lVar7 = 8;\nLAB_002486a6:\n    pvVar11 = (void *)FUN_0049cb70(lVar7);\n    lVar7 = lVar7 + (long)pvVar11;\n  }\n  else {\n    uVar17 = uVar10 * 2;\n    lVar7 = -8;\n    if ((uVar17 < uVar10) || (0x1fffffffffffffff < uVar17)) goto LAB_002486a6;\n    if (uVar17 != 0) {\n      lVar7 = uVar10 << 4;\n      goto LAB_002486a6;\n    }\n    lVar7 = 0;\n    pvVar11 = (void *)0x0;\n  }\n  *(long **)((long)pvVar11 + __n) = plVar8;\n  if (puVar4 == puVar14) {\n    if (puVar14 != (undefined8 *)0x0) goto LAB_002486f4;\n  }\n  else {\n    memmove(pvVar11,puVar14,__n);\nLAB_002486f4:\n    FUN_0049e340(puVar14);\n  }\n  *(void **)(param_5 + 0x88) = pvVar11;\n  *(long *)(param_5 + 0x98) = lVar7;\n  *(size_t *)(param_5 + 0x90) = (long)pvVar11 + __n + 8;\nLAB_00248512:\n  if ((*(byte *)(plVar9 + 4) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xc5,"address");\n  }\n  if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar7 = plVar9[2];\n  bVar2 = *(byte *)(plVar8 + 4);\n  if ((bVar2 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0x142,"set_address");\n  }\n  plVar8[1] = plVar9[1] + lVar7;\n  *(byte *)(plVar8 + 4) = bVar2 | 1;\n  if ((*(byte *)(plVar9 + 4) & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\n  }\n  if ((bVar2 & 4) != 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n  }\n  plVar8[3] = lVar7 + plVar9[3];\n  *(byte *)(plVar8 + 4) = bVar2 | 5;\n  if (((bVar2 & 2) == 0) &&\n     ((**(code **)(*plVar8 + 0x70))(plVar8), (*(byte *)(plVar8 + 4) & 2) == 0)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n  }\n  plVar9[10] = (long)plVar8;\n  do {\n    if (2 < *param_2 + 3U) {\n      lVar7 = FUN_003c9a60(param_2);\n      uVar6 = FUN_003c9ae0(param_2);\n      if ((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      *(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8;\n    }\n    bVar18 = param_3 != param_2;\n    param_2 = param_2 + 8;\n  } while (bVar18);\n  return;\n}" { (declaration "long *plVar1;" (sized_type_specifier "long" long) (pointer_declarator "*plVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "long *plVar3;" (sized_type_specifier "long" long) (pointer_declarator "*plVar3" * identifier) ;) (declaration "undefined8 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar8;" (sized_type_specifier "long" long) (pointer_declarator "*plVar8" * identifier) ;) (declaration "long *plVar9;" (sized_type_specifier "long" long) (pointer_declarator "*plVar9" * identifier) ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "void *pvVar11;" primitive_type (pointer_declarator "*pvVar11" * identifier) ;) (declaration "void *__dest;" primitive_type (pointer_declarator "*__dest" * identifier) ;) (declaration "long lVar12;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar13;" (sized_type_specifier "long" long) (pointer_declarator "*plVar13" * identifier) ;) (declaration "undefined8 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "long lVar15;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong extraout_RDX;" type_identifier identifier ;) (declaration "ulong uVar16;" type_identifier identifier ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "ulong uVar17;" type_identifier identifier ;) (declaration "bool bVar18;" primitive_type identifier ;) (declaration "ulong local_78;" type_identifier identifier ;) (declaration "size_t local_60;" primitive_type identifier ;) (declaration "long *local_58;" (sized_type_specifier "long" long) (pointer_declarator "*local_58" * identifier) ;) (declaration "uint uStack_50;" type_identifier identifier ;) (declaration "undefined4 uStack_4c;" type_identifier identifier ;) (if_statement "if (*(int *)(param_1 + 0x6c) == 0x70000001) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/arm.cc",0x1680,"create_stub_group");\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x6c) == 0x70000001)" ( (binary_expression "*(int *)(param_1 + 0x6c) == 0x70000001" (pointer_expression "*(int *)(param_1 + 0x6c)" * (cast_expression "(int *)(param_1 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x6c)" ( (binary_expression "param_1 + 0x6c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/arm.cc",0x1680,"create_stub_group");\n  }" { comment (expression_statement "FUN_00352af0("../../gold/arm.cc",0x1680,"create_stub_group");" (call_expression "FUN_00352af0("../../gold/arm.cc",0x1680,"create_stub_group")" identifier (argument_list "("../../gold/arm.cc",0x1680,"create_stub_group")" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""create_stub_group"" " string_content ") ))) ;) })) (if_statement "if (*param_4 == 0xfffffffc) {\n    plVar9 = *(long **)(param_4 + 4);\n  }\n  else {\n    if (0xfffffffb < *param_4) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");\n    }\n    lVar7 = FUN_003c9a60(param_4);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n                    /* try { // try from 0024804a to 002482c6 has its CatchHandler @ 002489ce */\n    uVar6 = FUN_003c9ae0(param_4);\n    plVar8 = (long *)FUN_003c9a60(param_4);\n    plVar9 = (long *)FUN_0049cb70(0x60);\n    *(byte *)(plVar9 + 4) = *(byte *)(plVar9 + 4) & 0xe0;\n    plVar9[1] = 0;\n    plVar9[2] = 0;\n    plVar9[3] = -1;\n    plVar9[5] = 0;\n    plVar9[6] = 1;\n    plVar9[7] = (long)plVar8;\n    *(uint *)(plVar9 + 8) = uVar6;\n    *plVar9 = (long)&PTR_FUN_006670c0;\n    lVar12 = *plVar8;\n    *(undefined8 *)((long)plVar9 + 0x44) = 1;\n    plVar9[10] = 0;\n    plVar9[0xb] = 0;\n    uVar10 = (**(code **)(lVar12 + 0xb8))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)((long)plVar9 + 0x44) = (int)uVar10;\n    pvVar11 = (void *)FUN_00392d50(plVar8,uVar6,&local_60,0);\n    uVar10 = (**(code **)(*plVar8 + 0x78))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)(plVar9 + 9) = (int)uVar10;\n    if (plVar9[0xb] != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002488e0 to 002489b0 has its CatchHandler @ 002489ce */\n      FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);\n    }\n    __dest = (void *)thunk_FUN_0049cb70(local_60);\n    plVar9[0xb] = (long)__dest;\n    memcpy(__dest,pvVar11,local_60);\n    lVar12 = *plVar8;\n    if (*(code **)(lVar12 + 0xc0) == FUN_001a5070) {\n      if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248868 to 0024886c has its CatchHandler @ 002489ce */\n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);\n    }\n    else {\n                    /* try { // try from 00248736 to 00248737 has its CatchHandler @ 002489ce */\n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }\n    lVar12 = (**(code **)(lVar12 + 0xd0))(plVar8,uVar6);\n    if ((lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248808 to 0024880c has its CatchHandler @ 002489ce */\n      FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);\n    }\n    if ((*(byte *)(lVar15 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n    bVar2 = *(byte *)(plVar9 + 4);\n    if ((bVar2 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x142,"set_address");\n    }\n    plVar9[1] = *(long *)(lVar15 + 8) + lVar12;\n    *(byte *)(plVar9 + 4) = bVar2 | 1;\n    if ((*(byte *)(lVar15 + 0x20) & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0xe3,"offset");\n    }\n    if ((bVar2 & 4) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n    }\n    plVar9[3] = lVar12 + *(long *)(lVar15 + 0x18);\n    *(byte *)(plVar9 + 4) = bVar2 | 5;\n    if ((bVar2 & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    plVar9[2] = (ulong)*(uint *)(plVar9 + 9);\n    FUN_00236100(plVar9);\n    if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n    }\n    plVar13 = (long *)FUN_0049cb70(0x28);\n    *plVar13 = 0;\n    uVar10 = *(ulong *)(param_5 + 0xb8);\n    plVar13[1] = (long)plVar8;\n    plVar13[2] = CONCAT44(uStack_4c,uVar6);\n    plVar13[3] = (long)plVar9;\n    uVar17 = (ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2);\n    local_78 = uVar17 % uVar10;\n    local_58 = plVar8;\n    uStack_50 = uVar6;\n    plVar8 = (long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17);\n    if ((plVar8 != (long *)0x0) && (*plVar8 != 0)) {\n      FUN_0049e340(plVar13);\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }\n    cVar5 = FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1);\n    if (cVar5 == '\0') {\n      lVar12 = *(long *)(param_5 + 0xb0);\n    }\n    else {\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */\n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }\n    plVar13[4] = uVar17;\n    plVar8 = (long *)(lVar12 + local_78 * 8);\n    if ((long *)*plVar8 == (long *)0x0) {\n      lVar15 = *(long *)(param_5 + 0xc0);\n      *(long **)(param_5 + 0xc0) = plVar13;\n      *plVar13 = lVar15;\n      if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }\n      *plVar8 = param_5 + 0xc0;\n    }\n    else {\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }\n    *(long *)(param_5 + 200) = *(long *)(param_5 + 200) + 1;\n    local_58 = plVar9;\n                    /* try { // try from 00248644 to 00248648 has its CatchHandler @ 002489ce */\n    FUN_0022a4f0(param_6,&local_58);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n  }" if (parenthesized_expression "(*param_4 == 0xfffffffc)" ( (binary_expression "*param_4 == 0xfffffffc" (pointer_expression "*param_4" * identifier) == number_literal) )) (compound_statement "{\n    plVar9 = *(long **)(param_4 + 4);\n  }" { (expression_statement "plVar9 = *(long **)(param_4 + 4);" (assignment_expression "plVar9 = *(long **)(param_4 + 4)" identifier = (pointer_expression "*(long **)(param_4 + 4)" * (cast_expression "(long **)(param_4 + 4)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) ))))) ;) }) (else_clause "else {\n    if (0xfffffffb < *param_4) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");\n    }\n    lVar7 = FUN_003c9a60(param_4);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n                    /* try { // try from 0024804a to 002482c6 has its CatchHandler @ 002489ce */\n    uVar6 = FUN_003c9ae0(param_4);\n    plVar8 = (long *)FUN_003c9a60(param_4);\n    plVar9 = (long *)FUN_0049cb70(0x60);\n    *(byte *)(plVar9 + 4) = *(byte *)(plVar9 + 4) & 0xe0;\n    plVar9[1] = 0;\n    plVar9[2] = 0;\n    plVar9[3] = -1;\n    plVar9[5] = 0;\n    plVar9[6] = 1;\n    plVar9[7] = (long)plVar8;\n    *(uint *)(plVar9 + 8) = uVar6;\n    *plVar9 = (long)&PTR_FUN_006670c0;\n    lVar12 = *plVar8;\n    *(undefined8 *)((long)plVar9 + 0x44) = 1;\n    plVar9[10] = 0;\n    plVar9[0xb] = 0;\n    uVar10 = (**(code **)(lVar12 + 0xb8))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)((long)plVar9 + 0x44) = (int)uVar10;\n    pvVar11 = (void *)FUN_00392d50(plVar8,uVar6,&local_60,0);\n    uVar10 = (**(code **)(*plVar8 + 0x78))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)(plVar9 + 9) = (int)uVar10;\n    if (plVar9[0xb] != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002488e0 to 002489b0 has its CatchHandler @ 002489ce */\n      FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);\n    }\n    __dest = (void *)thunk_FUN_0049cb70(local_60);\n    plVar9[0xb] = (long)__dest;\n    memcpy(__dest,pvVar11,local_60);\n    lVar12 = *plVar8;\n    if (*(code **)(lVar12 + 0xc0) == FUN_001a5070) {\n      if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248868 to 0024886c has its CatchHandler @ 002489ce */\n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);\n    }\n    else {\n                    /* try { // try from 00248736 to 00248737 has its CatchHandler @ 002489ce */\n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }\n    lVar12 = (**(code **)(lVar12 + 0xd0))(plVar8,uVar6);\n    if ((lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248808 to 0024880c has its CatchHandler @ 002489ce */\n      FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);\n    }\n    if ((*(byte *)(lVar15 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n    bVar2 = *(byte *)(plVar9 + 4);\n    if ((bVar2 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x142,"set_address");\n    }\n    plVar9[1] = *(long *)(lVar15 + 8) + lVar12;\n    *(byte *)(plVar9 + 4) = bVar2 | 1;\n    if ((*(byte *)(lVar15 + 0x20) & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0xe3,"offset");\n    }\n    if ((bVar2 & 4) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n    }\n    plVar9[3] = lVar12 + *(long *)(lVar15 + 0x18);\n    *(byte *)(plVar9 + 4) = bVar2 | 5;\n    if ((bVar2 & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    plVar9[2] = (ulong)*(uint *)(plVar9 + 9);\n    FUN_00236100(plVar9);\n    if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n    }\n    plVar13 = (long *)FUN_0049cb70(0x28);\n    *plVar13 = 0;\n    uVar10 = *(ulong *)(param_5 + 0xb8);\n    plVar13[1] = (long)plVar8;\n    plVar13[2] = CONCAT44(uStack_4c,uVar6);\n    plVar13[3] = (long)plVar9;\n    uVar17 = (ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2);\n    local_78 = uVar17 % uVar10;\n    local_58 = plVar8;\n    uStack_50 = uVar6;\n    plVar8 = (long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17);\n    if ((plVar8 != (long *)0x0) && (*plVar8 != 0)) {\n      FUN_0049e340(plVar13);\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }\n    cVar5 = FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1);\n    if (cVar5 == '\0') {\n      lVar12 = *(long *)(param_5 + 0xb0);\n    }\n    else {\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */\n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }\n    plVar13[4] = uVar17;\n    plVar8 = (long *)(lVar12 + local_78 * 8);\n    if ((long *)*plVar8 == (long *)0x0) {\n      lVar15 = *(long *)(param_5 + 0xc0);\n      *(long **)(param_5 + 0xc0) = plVar13;\n      *plVar13 = lVar15;\n      if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }\n      *plVar8 = param_5 + 0xc0;\n    }\n    else {\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }\n    *(long *)(param_5 + 200) = *(long *)(param_5 + 200) + 1;\n    local_58 = plVar9;\n                    /* try { // try from 00248644 to 00248648 has its CatchHandler @ 002489ce */\n    FUN_0022a4f0(param_6,&local_58);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n  }" else (compound_statement "{\n    if (0xfffffffb < *param_4) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");\n    }\n    lVar7 = FUN_003c9a60(param_4);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n                    /* try { // try from 0024804a to 002482c6 has its CatchHandler @ 002489ce */\n    uVar6 = FUN_003c9ae0(param_4);\n    plVar8 = (long *)FUN_003c9a60(param_4);\n    plVar9 = (long *)FUN_0049cb70(0x60);\n    *(byte *)(plVar9 + 4) = *(byte *)(plVar9 + 4) & 0xe0;\n    plVar9[1] = 0;\n    plVar9[2] = 0;\n    plVar9[3] = -1;\n    plVar9[5] = 0;\n    plVar9[6] = 1;\n    plVar9[7] = (long)plVar8;\n    *(uint *)(plVar9 + 8) = uVar6;\n    *plVar9 = (long)&PTR_FUN_006670c0;\n    lVar12 = *plVar8;\n    *(undefined8 *)((long)plVar9 + 0x44) = 1;\n    plVar9[10] = 0;\n    plVar9[0xb] = 0;\n    uVar10 = (**(code **)(lVar12 + 0xb8))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)((long)plVar9 + 0x44) = (int)uVar10;\n    pvVar11 = (void *)FUN_00392d50(plVar8,uVar6,&local_60,0);\n    uVar10 = (**(code **)(*plVar8 + 0x78))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)(plVar9 + 9) = (int)uVar10;\n    if (plVar9[0xb] != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002488e0 to 002489b0 has its CatchHandler @ 002489ce */\n      FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);\n    }\n    __dest = (void *)thunk_FUN_0049cb70(local_60);\n    plVar9[0xb] = (long)__dest;\n    memcpy(__dest,pvVar11,local_60);\n    lVar12 = *plVar8;\n    if (*(code **)(lVar12 + 0xc0) == FUN_001a5070) {\n      if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248868 to 0024886c has its CatchHandler @ 002489ce */\n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);\n    }\n    else {\n                    /* try { // try from 00248736 to 00248737 has its CatchHandler @ 002489ce */\n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }\n    lVar12 = (**(code **)(lVar12 + 0xd0))(plVar8,uVar6);\n    if ((lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248808 to 0024880c has its CatchHandler @ 002489ce */\n      FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);\n    }\n    if ((*(byte *)(lVar15 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n    bVar2 = *(byte *)(plVar9 + 4);\n    if ((bVar2 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x142,"set_address");\n    }\n    plVar9[1] = *(long *)(lVar15 + 8) + lVar12;\n    *(byte *)(plVar9 + 4) = bVar2 | 1;\n    if ((*(byte *)(lVar15 + 0x20) & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0xe3,"offset");\n    }\n    if ((bVar2 & 4) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n    }\n    plVar9[3] = lVar12 + *(long *)(lVar15 + 0x18);\n    *(byte *)(plVar9 + 4) = bVar2 | 5;\n    if ((bVar2 & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    plVar9[2] = (ulong)*(uint *)(plVar9 + 9);\n    FUN_00236100(plVar9);\n    if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n    }\n    plVar13 = (long *)FUN_0049cb70(0x28);\n    *plVar13 = 0;\n    uVar10 = *(ulong *)(param_5 + 0xb8);\n    plVar13[1] = (long)plVar8;\n    plVar13[2] = CONCAT44(uStack_4c,uVar6);\n    plVar13[3] = (long)plVar9;\n    uVar17 = (ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2);\n    local_78 = uVar17 % uVar10;\n    local_58 = plVar8;\n    uStack_50 = uVar6;\n    plVar8 = (long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17);\n    if ((plVar8 != (long *)0x0) && (*plVar8 != 0)) {\n      FUN_0049e340(plVar13);\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }\n    cVar5 = FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1);\n    if (cVar5 == '\0') {\n      lVar12 = *(long *)(param_5 + 0xb0);\n    }\n    else {\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */\n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }\n    plVar13[4] = uVar17;\n    plVar8 = (long *)(lVar12 + local_78 * 8);\n    if ((long *)*plVar8 == (long *)0x0) {\n      lVar15 = *(long *)(param_5 + 0xc0);\n      *(long **)(param_5 + 0xc0) = plVar13;\n      *plVar13 = lVar15;\n      if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }\n      *plVar8 = param_5 + 0xc0;\n    }\n    else {\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }\n    *(long *)(param_5 + 200) = *(long *)(param_5 + 200) + 1;\n    local_58 = plVar9;\n                    /* try { // try from 00248644 to 00248648 has its CatchHandler @ 002489ce */\n    FUN_0022a4f0(param_6,&local_58);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n  }" { (if_statement "if (0xfffffffb < *param_4) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");\n    }" if (parenthesized_expression "(0xfffffffb < *param_4)" ( (binary_expression "0xfffffffb < *param_4" number_literal < (pointer_expression "*param_4" * identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");\n    }" { comment (expression_statement "FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");" (call_expression "FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group")" identifier (argument_list "("../../gold/arm.cc",0x1690,"create_stub_group")" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""create_stub_group"" " string_content ") ))) ;) })) (expression_statement "lVar7 = FUN_003c9a60(param_4);" (assignment_expression "lVar7 = FUN_003c9a60(param_4)" identifier = (call_expression "FUN_003c9a60(param_4)" identifier (argument_list "(param_4)" ( identifier )))) ;) (if_statement "if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }" if (parenthesized_expression "(*(long *)(lVar7 + 0x28) != 0)" ( (binary_expression "*(long *)(lVar7 + 0x28) != 0" (pointer_expression "*(long *)(lVar7 + 0x28)" * (cast_expression "(long *)(lVar7 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x28)" ( (binary_expression "lVar7 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }" { (expression_statement "FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);" (call_expression "FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7)" identifier (argument_list "(*(long *)(lVar7 + 0x28) + 0x28,param_7)" ( (binary_expression "*(long *)(lVar7 + 0x28) + 0x28" (pointer_expression "*(long *)(lVar7 + 0x28)" * (cast_expression "(long *)(lVar7 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x28)" ( (binary_expression "lVar7 + 0x28" identifier + number_literal) )))) + number_literal) , identifier ))) ;) })) comment (expression_statement "uVar6 = FUN_003c9ae0(param_4);" (assignment_expression "uVar6 = FUN_003c9ae0(param_4)" identifier = (call_expression "FUN_003c9ae0(param_4)" identifier (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "plVar8 = (long *)FUN_003c9a60(param_4);" (assignment_expression "plVar8 = (long *)FUN_003c9a60(param_4)" identifier = (cast_expression "(long *)FUN_003c9a60(param_4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003c9a60(param_4)" identifier (argument_list "(param_4)" ( identifier ))))) ;) (expression_statement "plVar9 = (long *)FUN_0049cb70(0x60);" (assignment_expression "plVar9 = (long *)FUN_0049cb70(0x60)" identifier = (cast_expression "(long *)FUN_0049cb70(0x60)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0049cb70(0x60)" identifier (argument_list "(0x60)" ( number_literal ))))) ;) (expression_statement "*(byte *)(plVar9 + 4) = *(byte *)(plVar9 + 4) & 0xe0;" (assignment_expression "*(byte *)(plVar9 + 4) = *(byte *)(plVar9 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar9 + 4)" * (cast_expression "(byte *)(plVar9 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar9 + 4)" ( (binary_expression "plVar9 + 4" identifier + number_literal) )))) = (binary_expression "*(byte *)(plVar9 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar9 + 4)" * (cast_expression "(byte *)(plVar9 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar9 + 4)" ( (binary_expression "plVar9 + 4" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "plVar9[1] = 0;" (assignment_expression "plVar9[1] = 0" (subscript_expression "plVar9[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar9[2] = 0;" (assignment_expression "plVar9[2] = 0" (subscript_expression "plVar9[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar9[3] = -1;" (assignment_expression "plVar9[3] = -1" (subscript_expression "plVar9[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar9[5] = 0;" (assignment_expression "plVar9[5] = 0" (subscript_expression "plVar9[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar9[6] = 1;" (assignment_expression "plVar9[6] = 1" (subscript_expression "plVar9[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar9[7] = (long)plVar8;" (assignment_expression "plVar9[7] = (long)plVar8" (subscript_expression "plVar9[7]" identifier [ number_literal ]) = (cast_expression "(long)plVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "*(uint *)(plVar9 + 8) = uVar6;" (assignment_expression "*(uint *)(plVar9 + 8) = uVar6" (pointer_expression "*(uint *)(plVar9 + 8)" * (cast_expression "(uint *)(plVar9 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar9 + 8)" ( (binary_expression "plVar9 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*plVar9 = (long)&PTR_FUN_006670c0;" (assignment_expression "*plVar9 = (long)&PTR_FUN_006670c0" (pointer_expression "*plVar9" * identifier) = (cast_expression "(long)&PTR_FUN_006670c0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&PTR_FUN_006670c0" & identifier))) ;) (expression_statement "lVar12 = *plVar8;" (assignment_expression "lVar12 = *plVar8" identifier = (pointer_expression "*plVar8" * identifier)) ;) (expression_statement "*(undefined8 *)((long)plVar9 + 0x44) = 1;" (assignment_expression "*(undefined8 *)((long)plVar9 + 0x44) = 1" (pointer_expression "*(undefined8 *)((long)plVar9 + 0x44)" * (cast_expression "(undefined8 *)((long)plVar9 + 0x44)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar9 + 0x44)" ( (binary_expression "(long)plVar9 + 0x44" (cast_expression "(long)plVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "plVar9[10] = 0;" (assignment_expression "plVar9[10] = 0" (subscript_expression "plVar9[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar9[0xb] = 0;" (assignment_expression "plVar9[0xb] = 0" (subscript_expression "plVar9[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar10 = (**(code **)(lVar12 + 0xb8))(plVar8,uVar6);" (assignment_expression "uVar10 = (**(code **)(lVar12 + 0xb8))(plVar8,uVar6)" identifier = (call_expression "(**(code **)(lVar12 + 0xb8))(plVar8,uVar6)" (parenthesized_expression "(**(code **)(lVar12 + 0xb8))" ( (pointer_expression "**(code **)(lVar12 + 0xb8)" * (pointer_expression "*(code **)(lVar12 + 0xb8)" * (cast_expression "(code **)(lVar12 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar12 + 0xb8)" ( (binary_expression "lVar12 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(plVar8,uVar6)" ( identifier , identifier )))) ;) (if_statement "if (uVar10 != (uVar10 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }" if (parenthesized_expression "(uVar10 != (uVar10 & 0xffffffff))" ( (binary_expression "uVar10 != (uVar10 & 0xffffffff)" identifier != (parenthesized_expression "(uVar10 & 0xffffffff)" ( (binary_expression "uVar10 & 0xffffffff" identifier & number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }" { comment (expression_statement "FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");" (call_expression "FUN_00352af0("../../gold/gold.h",0xc0,"convert_types")" identifier (argument_list "("../../gold/gold.h",0xc0,"convert_types")" ( (string_literal ""../../gold/gold.h"" " string_content ") , number_literal , (string_literal ""convert_types"" " string_content ") ))) ;) })) (expression_statement "*(int *)((long)plVar9 + 0x44) = (int)uVar10;" (assignment_expression "*(int *)((long)plVar9 + 0x44) = (int)uVar10" (pointer_expression "*(int *)((long)plVar9 + 0x44)" * (cast_expression "(int *)((long)plVar9 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar9 + 0x44)" ( (binary_expression "(long)plVar9 + 0x44" (cast_expression "(long)plVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pvVar11 = (void *)FUN_00392d50(plVar8,uVar6,&local_60,0);" (assignment_expression "pvVar11 = (void *)FUN_00392d50(plVar8,uVar6,&local_60,0)" identifier = (cast_expression "(void *)FUN_00392d50(plVar8,uVar6,&local_60,0)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00392d50(plVar8,uVar6,&local_60,0)" identifier (argument_list "(plVar8,uVar6,&local_60,0)" ( identifier , identifier , (pointer_expression "&local_60" & identifier) , number_literal ))))) ;) (expression_statement "uVar10 = (**(code **)(*plVar8 + 0x78))(plVar8,uVar6);" (assignment_expression "uVar10 = (**(code **)(*plVar8 + 0x78))(plVar8,uVar6)" identifier = (call_expression "(**(code **)(*plVar8 + 0x78))(plVar8,uVar6)" (parenthesized_expression "(**(code **)(*plVar8 + 0x78))" ( (pointer_expression "**(code **)(*plVar8 + 0x78)" * (pointer_expression "*(code **)(*plVar8 + 0x78)" * (cast_expression "(code **)(*plVar8 + 0x78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar8 + 0x78)" ( (binary_expression "*plVar8 + 0x78" (pointer_expression "*plVar8" * identifier) + number_literal) ))))) )) (argument_list "(plVar8,uVar6)" ( identifier , identifier )))) ;) (if_statement "if (uVar10 != (uVar10 & 0xffffffff)) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }" if (parenthesized_expression "(uVar10 != (uVar10 & 0xffffffff))" ( (binary_expression "uVar10 != (uVar10 & 0xffffffff)" identifier != (parenthesized_expression "(uVar10 & 0xffffffff)" ( (binary_expression "uVar10 & 0xffffffff" identifier & number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }" { comment (expression_statement "FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");" (call_expression "FUN_00352af0("../../gold/gold.h",0xc0,"convert_types")" identifier (argument_list "("../../gold/gold.h",0xc0,"convert_types")" ( (string_literal ""../../gold/gold.h"" " string_content ") , number_literal , (string_literal ""convert_types"" " string_content ") ))) ;) })) (expression_statement "*(int *)(plVar9 + 9) = (int)uVar10;" (assignment_expression "*(int *)(plVar9 + 9) = (int)uVar10" (pointer_expression "*(int *)(plVar9 + 9)" * (cast_expression "(int *)(plVar9 + 9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar9 + 9)" ( (binary_expression "plVar9 + 9" identifier + number_literal) )))) = (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (plVar9[0xb] != 0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002488e0 to 002489b0 has its CatchHandler @ 002489ce */\n      FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);\n    }" if (parenthesized_expression "(plVar9[0xb] != 0)" ( (binary_expression "plVar9[0xb] != 0" (subscript_expression "plVar9[0xb]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002488e0 to 002489b0 has its CatchHandler @ 002489ce */\n      FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);\n    }" { comment comment (expression_statement "FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);" (call_expression "FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921)" identifier (argument_list "("../../gold/arm.cc",0x14bf,&DAT_0054f921)" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (pointer_expression "&DAT_0054f921" & identifier) ))) ;) })) (expression_statement "__dest = (void *)thunk_FUN_0049cb70(local_60);" (assignment_expression "__dest = (void *)thunk_FUN_0049cb70(local_60)" identifier = (cast_expression "(void *)thunk_FUN_0049cb70(local_60)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "thunk_FUN_0049cb70(local_60)" identifier (argument_list "(local_60)" ( identifier ))))) ;) (expression_statement "plVar9[0xb] = (long)__dest;" (assignment_expression "plVar9[0xb] = (long)__dest" (subscript_expression "plVar9[0xb]" identifier [ number_literal ]) = (cast_expression "(long)__dest" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "memcpy(__dest,pvVar11,local_60);" (call_expression "memcpy(__dest,pvVar11,local_60)" identifier (argument_list "(__dest,pvVar11,local_60)" ( identifier , identifier , identifier ))) ;) (expression_statement "lVar12 = *plVar8;" (assignment_expression "lVar12 = *plVar8" identifier = (pointer_expression "*plVar8" * identifier)) ;) (if_statement "if (*(code **)(lVar12 + 0xc0) == FUN_001a5070) {\n      if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248868 to 0024886c has its CatchHandler @ 002489ce */\n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);\n    }\n    else {\n                    /* try { // try from 00248736 to 00248737 has its CatchHandler @ 002489ce */\n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }" if (parenthesized_expression "(*(code **)(lVar12 + 0xc0) == FUN_001a5070)" ( (binary_expression "*(code **)(lVar12 + 0xc0) == FUN_001a5070" (pointer_expression "*(code **)(lVar12 + 0xc0)" * (cast_expression "(code **)(lVar12 + 0xc0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar12 + 0xc0)" ( (binary_expression "lVar12 + 0xc0" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n      if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248868 to 0024886c has its CatchHandler @ 002489ce */\n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);\n    }" { (if_statement "if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248868 to 0024886c has its CatchHandler @ 002489ce */\n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }" if (parenthesized_expression "((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6)" ( (binary_expression "(ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6" (call_expression "(ulong)(plVar8[0xb] - plVar8[10] >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(plVar8[0xb] - plVar8[10] >> 3)" ( (binary_expression "plVar8[0xb] - plVar8[10] >> 3" (binary_expression "plVar8[0xb] - plVar8[10]" (subscript_expression "plVar8[0xb]" identifier [ number_literal ]) - (subscript_expression "plVar8[10]" identifier [ number_literal ])) >> number_literal) ))) <= (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248868 to 0024886c has its CatchHandler @ 002489ce */\n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }" { comment comment (expression_statement "FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");" (call_expression "FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section")" identifier (argument_list "("../../gold/object.h",0x5c8,"do_output_section")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""do_output_section"" " string_content ") ))) ;) })) (expression_statement "lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);" (assignment_expression "lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8)" identifier = (pointer_expression "*(long *)(plVar8[10] + (ulong)uVar6 * 8)" * (cast_expression "(long *)(plVar8[10] + (ulong)uVar6 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar8[10] + (ulong)uVar6 * 8)" ( (binary_expression "plVar8[10] + (ulong)uVar6 * 8" (subscript_expression "plVar8[10]" identifier [ number_literal ]) + (binary_expression "(ulong)uVar6 * 8" (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) ;) }) (else_clause "else {\n                    /* try { // try from 00248736 to 00248737 has its CatchHandler @ 002489ce */\n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }" else (compound_statement "{\n                    /* try { // try from 00248736 to 00248737 has its CatchHandler @ 002489ce */\n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }" { comment (expression_statement "lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);" (assignment_expression "lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6)" identifier = (call_expression "(**(code **)(lVar12 + 0xc0))(plVar8,uVar6)" (parenthesized_expression "(**(code **)(lVar12 + 0xc0))" ( (pointer_expression "**(code **)(lVar12 + 0xc0)" * (pointer_expression "*(code **)(lVar12 + 0xc0)" * (cast_expression "(code **)(lVar12 + 0xc0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar12 + 0xc0)" ( (binary_expression "lVar12 + 0xc0" identifier + number_literal) ))))) )) (argument_list "(plVar8,uVar6)" ( identifier , identifier )))) ;) (expression_statement "lVar12 = *plVar8;" (assignment_expression "lVar12 = *plVar8" identifier = (pointer_expression "*plVar8" * identifier)) ;) }))) (expression_statement "lVar12 = (**(code **)(lVar12 + 0xd0))(plVar8,uVar6);" (assignment_expression "lVar12 = (**(code **)(lVar12 + 0xd0))(plVar8,uVar6)" identifier = (call_expression "(**(code **)(lVar12 + 0xd0))(plVar8,uVar6)" (parenthesized_expression "(**(code **)(lVar12 + 0xd0))" ( (pointer_expression "**(code **)(lVar12 + 0xd0)" * (pointer_expression "*(code **)(lVar12 + 0xd0)" * (cast_expression "(code **)(lVar12 + 0xd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar12 + 0xd0)" ( (binary_expression "lVar12 + 0xd0" identifier + number_literal) ))))) )) (argument_list "(plVar8,uVar6)" ( identifier , identifier )))) ;) (if_statement "if ((lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248808 to 0024880c has its CatchHandler @ 002489ce */\n      FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);\n    }" if (parenthesized_expression "((lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0'))" ( (binary_expression "(lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')" (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) || (parenthesized_expression "(cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')" ( (comma_expression "cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0'" (assignment_expression "cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6)" identifier = (call_expression "(**(code **)(*plVar8 + 0x110))(plVar8,uVar6)" (parenthesized_expression "(**(code **)(*plVar8 + 0x110))" ( (pointer_expression "**(code **)(*plVar8 + 0x110)" * (pointer_expression "*(code **)(*plVar8 + 0x110)" * (cast_expression "(code **)(*plVar8 + 0x110)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar8 + 0x110)" ( (binary_expression "*plVar8 + 0x110" (pointer_expression "*plVar8" * identifier) + number_literal) ))))) )) (argument_list "(plVar8,uVar6)" ( identifier , identifier )))) , (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248808 to 0024880c has its CatchHandler @ 002489ce */\n      FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);\n    }" { comment comment (expression_statement "FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);" (call_expression "FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921)" identifier (argument_list "("../../gold/arm.cc",0x14c7,&DAT_0054f921)" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (pointer_expression "&DAT_0054f921" & identifier) ))) ;) })) (if_statement "if ((*(byte *)(lVar15 + 0x20) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }" if (parenthesized_expression "((*(byte *)(lVar15 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar15 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar15 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar15 + 0x20) & 1" (pointer_expression "*(byte *)(lVar15 + 0x20)" * (cast_expression "(byte *)(lVar15 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x20)" ( (binary_expression "lVar15 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }" { comment (expression_statement "FUN_00352af0("../../gold/output.h",0xc5,"address");" (call_expression "FUN_00352af0("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;) })) (expression_statement "bVar2 = *(byte *)(plVar9 + 4);" (assignment_expression "bVar2 = *(byte *)(plVar9 + 4)" identifier = (pointer_expression "*(byte *)(plVar9 + 4)" * (cast_expression "(byte *)(plVar9 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar9 + 4)" ( (binary_expression "plVar9 + 4" identifier + number_literal) ))))) ;) (if_statement "if ((bVar2 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x142,"set_address");\n    }" if (parenthesized_expression "((bVar2 & 1) != 0)" ( (binary_expression "(bVar2 & 1) != 0" (parenthesized_expression "(bVar2 & 1)" ( (binary_expression "bVar2 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x142,"set_address");\n    }" { comment (expression_statement "FUN_00352af0("../../gold/output.h",0x142,"set_address");" (call_expression "FUN_00352af0("../../gold/output.h",0x142,"set_address")" identifier (argument_list "("../../gold/output.h",0x142,"set_address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_address"" " string_content ") ))) ;) })) (expression_statement "plVar9[1] = *(long *)(lVar15 + 8) + lVar12;" (assignment_expression "plVar9[1] = *(long *)(lVar15 + 8) + lVar12" (subscript_expression "plVar9[1]" identifier [ number_literal ]) = (binary_expression "*(long *)(lVar15 + 8) + lVar12" (pointer_expression "*(long *)(lVar15 + 8)" * (cast_expression "(long *)(lVar15 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 8)" ( (binary_expression "lVar15 + 8" identifier + number_literal) )))) + identifier)) ;) (expression_statement "*(byte *)(plVar9 + 4) = bVar2 | 1;" (assignment_expression "*(byte *)(plVar9 + 4) = bVar2 | 1" (pointer_expression "*(byte *)(plVar9 + 4)" * (cast_expression "(byte *)(plVar9 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar9 + 4)" ( (binary_expression "plVar9 + 4" identifier + number_literal) )))) = (binary_expression "bVar2 | 1" identifier | number_literal)) ;) (if_statement "if ((*(byte *)(lVar15 + 0x20) & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0xe3,"offset");\n    }" if (parenthesized_expression "((*(byte *)(lVar15 + 0x20) & 4) == 0)" ( (binary_expression "(*(byte *)(lVar15 + 0x20) & 4) == 0" (parenthesized_expression "(*(byte *)(lVar15 + 0x20) & 4)" ( (binary_expression "*(byte *)(lVar15 + 0x20) & 4" (pointer_expression "*(byte *)(lVar15 + 0x20)" * (cast_expression "(byte *)(lVar15 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x20)" ( (binary_expression "lVar15 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0xe3,"offset");\n    }" { comment (expression_statement "FUN_00352af0("../../gold/output.h",0xe3,"offset");" (call_expression "FUN_00352af0("../../gold/output.h",0xe3,"offset")" identifier (argument_list "("../../gold/output.h",0xe3,"offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") ))) ;) })) (if_statement "if ((bVar2 & 4) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n    }" if (parenthesized_expression "((bVar2 & 4) != 0)" ( (binary_expression "(bVar2 & 4) != 0" (parenthesized_expression "(bVar2 & 4)" ( (binary_expression "bVar2 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n    }" { comment (expression_statement "FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");" (call_expression "FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset")" identifier (argument_list "("../../gold/output.h",0x14b,"set_file_offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_file_offset"" " string_content ") ))) ;) })) (expression_statement "plVar9[3] = lVar12 + *(long *)(lVar15 + 0x18);" (assignment_expression "plVar9[3] = lVar12 + *(long *)(lVar15 + 0x18)" (subscript_expression "plVar9[3]" identifier [ number_literal ]) = (binary_expression "lVar12 + *(long *)(lVar15 + 0x18)" identifier + (pointer_expression "*(long *)(lVar15 + 0x18)" * (cast_expression "(long *)(lVar15 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x18)" ( (binary_expression "lVar15 + 0x18" identifier + number_literal) )))))) ;) (expression_statement "*(byte *)(plVar9 + 4) = bVar2 | 5;" (assignment_expression "*(byte *)(plVar9 + 4) = bVar2 | 5" (pointer_expression "*(byte *)(plVar9 + 4)" * (cast_expression "(byte *)(plVar9 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar9 + 4)" ( (binary_expression "plVar9 + 4" identifier + number_literal) )))) = (binary_expression "bVar2 | 5" identifier | number_literal)) ;) (if_statement "if ((bVar2 & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }" if (parenthesized_expression "((bVar2 & 2) != 0)" ( (binary_expression "(bVar2 & 2) != 0" (parenthesized_expression "(bVar2 & 2)" ( (binary_expression "bVar2 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }" { comment (expression_statement "FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");" (call_expression "FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child")" identifier (argument_list "("../../gold/output.h",0x231,"set_current_data_size_for_child")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_current_data_size_for_child"" " string_content ") ))) ;) })) (expression_statement "plVar9[2] = (ulong)*(uint *)(plVar9 + 9);" (assignment_expression "plVar9[2] = (ulong)*(uint *)(plVar9 + 9)" (subscript_expression "plVar9[2]" identifier [ number_literal ]) = (binary_expression "(ulong)*(uint *)(plVar9 + 9)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(plVar9 + 9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar9 + 9)" ( (binary_expression "plVar9 + 9" identifier + number_literal) ))))) ;) (expression_statement "FUN_00236100(plVar9);" (call_expression "FUN_00236100(plVar9)" identifier (argument_list "(plVar9)" ( identifier ))) ;) (if_statement "if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n    }" if (parenthesized_expression "((*(byte *)(plVar9 + 4) & 2) == 0)" ( (binary_expression "(*(byte *)(plVar9 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar9 + 4) & 2)" ( (binary_expression "*(byte *)(plVar9 + 4) & 2" (pointer_expression "*(byte *)(plVar9 + 4)" * (cast_expression "(byte *)(plVar9 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar9 + 4)" ( (binary_expression "plVar9 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n    }" { comment (expression_statement "FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");" (call_expression "FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size")" identifier (argument_list "("../../gold/output.h",0x163,"finalize_data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""finalize_data_size"" " string_content ") ))) ;) })) (expression_statement "plVar13 = (long *)FUN_0049cb70(0x28);" (assignment_expression "plVar13 = (long *)FUN_0049cb70(0x28)" identifier = (cast_expression "(long *)FUN_0049cb70(0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0049cb70(0x28)" identifier (argument_list "(0x28)" ( number_literal ))))) ;) (expression_statement "*plVar13 = 0;" (assignment_expression "*plVar13 = 0" (pointer_expression "*plVar13" * identifier) = number_literal) ;) (expression_statement "uVar10 = *(ulong *)(param_5 + 0xb8);" (assignment_expression "uVar10 = *(ulong *)(param_5 + 0xb8)" identifier = (pointer_expression "*(ulong *)(param_5 + 0xb8)" * (cast_expression "(ulong *)(param_5 + 0xb8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xb8)" ( (binary_expression "param_5 + 0xb8" identifier + number_literal) ))))) ;) (expression_statement "plVar13[1] = (long)plVar8;" (assignment_expression "plVar13[1] = (long)plVar8" (subscript_expression "plVar13[1]" identifier [ number_literal ]) = (cast_expression "(long)plVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "plVar13[2] = CONCAT44(uStack_4c,uVar6);" (assignment_expression "plVar13[2] = CONCAT44(uStack_4c,uVar6)" (subscript_expression "plVar13[2]" identifier [ number_literal ]) = (call_expression "CONCAT44(uStack_4c,uVar6)" identifier (argument_list "(uStack_4c,uVar6)" ( identifier , identifier )))) ;) (expression_statement "plVar13[3] = (long)plVar9;" (assignment_expression "plVar13[3] = (long)plVar9" (subscript_expression "plVar13[3]" identifier [ number_literal ]) = (cast_expression "(long)plVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "uVar17 = (ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2);" (assignment_expression "uVar17 = (ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2)" identifier = (binary_expression "(ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2)" (cast_expression "(ulong)plVar8" ( (type_descriptor "ulong" type_identifier) ) identifier) ^ (binary_expression "(ulong)*(uint *)(plVar13 + 2)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(plVar13 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar13 + 2)" ( (binary_expression "plVar13 + 2" identifier + number_literal) )))))) ;) (expression_statement "local_78 = uVar17 % uVar10;" (assignment_expression "local_78 = uVar17 % uVar10" identifier = (binary_expression "uVar17 % uVar10" identifier % identifier)) ;) (expression_statement "local_58 = plVar8;" (assignment_expression "local_58 = plVar8" identifier = identifier) ;) (expression_statement "uStack_50 = uVar6;" (assignment_expression "uStack_50 = uVar6" identifier = identifier) ;) (expression_statement "plVar8 = (long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17);" (assignment_expression "plVar8 = (long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17)" identifier = (cast_expression "(long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17)" identifier (argument_list "(param_5 + 0xb0,local_78,plVar13 + 1,uVar17)" ( (binary_expression "param_5 + 0xb0" identifier + number_literal) , identifier , (binary_expression "plVar13 + 1" identifier + number_literal) , identifier ))))) ;) (if_statement "if ((plVar8 != (long *)0x0) && (*plVar8 != 0)) {\n      FUN_0049e340(plVar13);\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }" if (parenthesized_expression "((plVar8 != (long *)0x0) && (*plVar8 != 0))" ( (binary_expression "(plVar8 != (long *)0x0) && (*plVar8 != 0)" (parenthesized_expression "(plVar8 != (long *)0x0)" ( (binary_expression "plVar8 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*plVar8 != 0)" ( (binary_expression "*plVar8 != 0" (pointer_expression "*plVar8" * identifier) != number_literal) ))) )) (compound_statement "{\n      FUN_0049e340(plVar13);\n                    /* WARNING: Subroutine does not return */\n      FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }" { (expression_statement "FUN_0049e340(plVar13);" (call_expression "FUN_0049e340(plVar13)" identifier (argument_list "(plVar13)" ( identifier ))) ;) comment (expression_statement "FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");" (call_expression "FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section")" identifier (argument_list "("../../gold/arm.cc",0x2e50,"new_arm_input_section")" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""new_arm_input_section"" " string_content ") ))) ;) })) (expression_statement "cVar5 = FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1);" (assignment_expression "cVar5 = FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1)" identifier = (call_expression "FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1)" identifier (argument_list "(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1)" ( (binary_expression "param_5 + 0xd0" identifier + number_literal) , identifier , (pointer_expression "*(undefined8 *)(param_5 + 200)" * (cast_expression "(undefined8 *)(param_5 + 200)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 200)" ( (binary_expression "param_5 + 200" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (cVar5 == '\0') {\n      lVar12 = *(long *)(param_5 + 0xb0);\n    }\n    else {\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */\n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }" if (parenthesized_expression "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      lVar12 = *(long *)(param_5 + 0xb0);\n    }" { (expression_statement "lVar12 = *(long *)(param_5 + 0xb0);" (assignment_expression "lVar12 = *(long *)(param_5 + 0xb0)" identifier = (pointer_expression "*(long *)(param_5 + 0xb0)" * (cast_expression "(long *)(param_5 + 0xb0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xb0)" ( (binary_expression "param_5 + 0xb0" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */\n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }" else (compound_statement "{\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */\n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }" { (if_statement "if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */\n        lVar12 = FUN_00232700();\n      }" if (parenthesized_expression "(extraout_RDX == 1)" ( (binary_expression "extraout_RDX == 1" identifier == number_literal) )) (compound_statement "{\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }" { (expression_statement "lVar12 = param_5 + 0xe0;" (assignment_expression "lVar12 = param_5 + 0xe0" identifier = (binary_expression "param_5 + 0xe0" identifier + number_literal)) ;) (expression_statement "*(undefined8 *)(param_5 + 0xe0) = 0;" (assignment_expression "*(undefined8 *)(param_5 + 0xe0) = 0" (pointer_expression "*(undefined8 *)(param_5 + 0xe0)" * (cast_expression "(undefined8 *)(param_5 + 0xe0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xe0)" ( (binary_expression "param_5 + 0xe0" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */\n        lVar12 = FUN_00232700();\n      }" else (compound_statement "{\n                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */\n        lVar12 = FUN_00232700();\n      }" { comment (expression_statement "lVar12 = FUN_00232700();" (assignment_expression "lVar12 = FUN_00232700()" identifier = (call_expression "FUN_00232700()" identifier (argument_list "()" ( )))) ;) }))) (expression_statement "plVar8 = *(long **)(param_5 + 0xc0);" (assignment_expression "plVar8 = *(long **)(param_5 + 0xc0)" identifier = (pointer_expression "*(long **)(param_5 + 0xc0)" * (cast_expression "(long **)(param_5 + 0xc0)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0xc0)" ( (binary_expression "param_5 + 0xc0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(param_5 + 0xc0) = 0;" (assignment_expression "*(undefined8 *)(param_5 + 0xc0) = 0" (pointer_expression "*(undefined8 *)(param_5 + 0xc0)" * (cast_expression "(undefined8 *)(param_5 + 0xc0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc0)" ( (binary_expression "param_5 + 0xc0" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }" if (parenthesized_expression "(plVar8 != (long *)0x0)" ( (binary_expression "plVar8 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }" { (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);" do (compound_statement "{\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        }" { (while_statement "while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }" { (expression_statement "plVar3 = (long *)*plVar8;" (assignment_expression "plVar3 = (long *)*plVar8" identifier = (cast_expression "(long *)*plVar8" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar8" * identifier))) ;) (expression_statement "uVar16 = (ulong)plVar8[4] % extraout_RDX;" (assignment_expression "uVar16 = (ulong)plVar8[4] % extraout_RDX" identifier = (binary_expression "(ulong)plVar8[4] % extraout_RDX" (cast_expression "(ulong)plVar8[4]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "plVar8[4]" identifier [ number_literal ])) % identifier)) ;) (expression_statement "plVar1 = (long *)(lVar12 + uVar16 * 8);" (assignment_expression "plVar1 = (long *)(lVar12 + uVar16 * 8)" identifier = (cast_expression "(long *)(lVar12 + uVar16 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + uVar16 * 8)" ( (binary_expression "lVar12 + uVar16 * 8" identifier + (binary_expression "uVar16 * 8" identifier * number_literal)) )))) ;) (if_statement "if ((long *)*plVar1 == (long *)0x0) break;" if (parenthesized_expression "((long *)*plVar1 == (long *)0x0)" ( (binary_expression "(long *)*plVar1 == (long *)0x0" (cast_expression "(long *)*plVar1" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar1" * identifier)) == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "*plVar8 = *(long *)*plVar1;" (assignment_expression "*plVar8 = *(long *)*plVar1" (pointer_expression "*plVar8" * identifier) = (pointer_expression "*(long *)*plVar1" * (cast_expression "(long *)*plVar1" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar1" * identifier)))) ;) (expression_statement "*(long **)*plVar1 = plVar8;" (assignment_expression "*(long **)*plVar1 = plVar8" (pointer_expression "*(long **)*plVar1" * (cast_expression "(long **)*plVar1" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*plVar1" * identifier))) = identifier) ;) (expression_statement "uVar16 = uVar10;" (assignment_expression "uVar16 = uVar10" identifier = identifier) ;) (labeled_statement "LAB_0024831c:\n            plVar8 = plVar3;" statement_identifier : (expression_statement "plVar8 = plVar3;" (assignment_expression "plVar8 = plVar3" identifier = identifier) ;)) (expression_statement "uVar10 = uVar16;" (assignment_expression "uVar10 = uVar16" identifier = identifier) ;) (if_statement "if (plVar3 == (long *)0x0) goto LAB_00248370;" if (parenthesized_expression "(plVar3 == (long *)0x0)" ( (binary_expression "plVar3 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00248370;" goto statement_identifier ;)) })) (expression_statement "*plVar8 = *(long *)(param_5 + 0xc0);" (assignment_expression "*plVar8 = *(long *)(param_5 + 0xc0)" (pointer_expression "*plVar8" * identifier) = (pointer_expression "*(long *)(param_5 + 0xc0)" * (cast_expression "(long *)(param_5 + 0xc0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc0)" ( (binary_expression "param_5 + 0xc0" identifier + number_literal) ))))) ;) (expression_statement "*(long **)(param_5 + 0xc0) = plVar8;" (assignment_expression "*(long **)(param_5 + 0xc0) = plVar8" (pointer_expression "*(long **)(param_5 + 0xc0)" * (cast_expression "(long **)(param_5 + 0xc0)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0xc0)" ( (binary_expression "param_5 + 0xc0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*plVar1 = param_5 + 0xc0;" (assignment_expression "*plVar1 = param_5 + 0xc0" (pointer_expression "*plVar1" * identifier) = (binary_expression "param_5 + 0xc0" identifier + number_literal)) ;) (if_statement "if (*plVar8 == 0) goto LAB_0024831c;" if (parenthesized_expression "(*plVar8 == 0)" ( (binary_expression "*plVar8 == 0" (pointer_expression "*plVar8" * identifier) == number_literal) )) (goto_statement "goto LAB_0024831c;" goto statement_identifier ;)) (expression_statement "*(long **)(lVar12 + uVar10 * 8) = plVar8;" (assignment_expression "*(long **)(lVar12 + uVar10 * 8) = plVar8" (pointer_expression "*(long **)(lVar12 + uVar10 * 8)" * (cast_expression "(long **)(lVar12 + uVar10 * 8)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar12 + uVar10 * 8)" ( (binary_expression "lVar12 + uVar10 * 8" identifier + (binary_expression "uVar10 * 8" identifier * number_literal)) )))) = identifier) ;) (expression_statement "plVar8 = plVar3;" (assignment_expression "plVar8 = plVar3" identifier = identifier) ;) (expression_statement "uVar10 = uVar16;" (assignment_expression "uVar10 = uVar16" identifier = identifier) ;) }) while (parenthesized_expression "(plVar3 != (long *)0x0)" ( (binary_expression "plVar3 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (labeled_statement "LAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }" statement_identifier : (if_statement "if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }" if (parenthesized_expression "(*(long *)(param_5 + 0xb0) != param_5 + 0xe0)" ( (binary_expression "*(long *)(param_5 + 0xb0) != param_5 + 0xe0" (pointer_expression "*(long *)(param_5 + 0xb0)" * (cast_expression "(long *)(param_5 + 0xb0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xb0)" ( (binary_expression "param_5 + 0xb0" identifier + number_literal) )))) != (binary_expression "param_5 + 0xe0" identifier + number_literal)) )) (compound_statement "{\n        FUN_0049e340();\n      }" { (expression_statement "FUN_0049e340();" (call_expression "FUN_0049e340()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "*(ulong *)(param_5 + 0xb8) = extraout_RDX;" (assignment_expression "*(ulong *)(param_5 + 0xb8) = extraout_RDX" (pointer_expression "*(ulong *)(param_5 + 0xb8)" * (cast_expression "(ulong *)(param_5 + 0xb8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xb8)" ( (binary_expression "param_5 + 0xb8" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_78 = uVar17 % extraout_RDX;" (assignment_expression "local_78 = uVar17 % extraout_RDX" identifier = (binary_expression "uVar17 % extraout_RDX" identifier % identifier)) ;) (expression_statement "*(long *)(param_5 + 0xb0) = lVar12;" (assignment_expression "*(long *)(param_5 + 0xb0) = lVar12" (pointer_expression "*(long *)(param_5 + 0xb0)" * (cast_expression "(long *)(param_5 + 0xb0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xb0)" ( (binary_expression "param_5 + 0xb0" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "plVar13[4] = uVar17;" (assignment_expression "plVar13[4] = uVar17" (subscript_expression "plVar13[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "plVar8 = (long *)(lVar12 + local_78 * 8);" (assignment_expression "plVar8 = (long *)(lVar12 + local_78 * 8)" identifier = (cast_expression "(long *)(lVar12 + local_78 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + local_78 * 8)" ( (binary_expression "lVar12 + local_78 * 8" identifier + (binary_expression "local_78 * 8" identifier * number_literal)) )))) ;) (if_statement "if ((long *)*plVar8 == (long *)0x0) {\n      lVar15 = *(long *)(param_5 + 0xc0);\n      *(long **)(param_5 + 0xc0) = plVar13;\n      *plVar13 = lVar15;\n      if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }\n      *plVar8 = param_5 + 0xc0;\n    }\n    else {\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }" if (parenthesized_expression "((long *)*plVar8 == (long *)0x0)" ( (binary_expression "(long *)*plVar8 == (long *)0x0" (cast_expression "(long *)*plVar8" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar8" * identifier)) == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      lVar15 = *(long *)(param_5 + 0xc0);\n      *(long **)(param_5 + 0xc0) = plVar13;\n      *plVar13 = lVar15;\n      if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }\n      *plVar8 = param_5 + 0xc0;\n    }" { (expression_statement "lVar15 = *(long *)(param_5 + 0xc0);" (assignment_expression "lVar15 = *(long *)(param_5 + 0xc0)" identifier = (pointer_expression "*(long *)(param_5 + 0xc0)" * (cast_expression "(long *)(param_5 + 0xc0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc0)" ( (binary_expression "param_5 + 0xc0" identifier + number_literal) ))))) ;) (expression_statement "*(long **)(param_5 + 0xc0) = plVar13;" (assignment_expression "*(long **)(param_5 + 0xc0) = plVar13" (pointer_expression "*(long **)(param_5 + 0xc0)" * (cast_expression "(long **)(param_5 + 0xc0)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0xc0)" ( (binary_expression "param_5 + 0xc0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*plVar13 = lVar15;" (assignment_expression "*plVar13 = lVar15" (pointer_expression "*plVar13" * identifier) = identifier) ;) (if_statement "if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }" if (parenthesized_expression "(lVar15 != 0)" ( (binary_expression "lVar15 != 0" identifier != number_literal) )) (compound_statement "{\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }" { (expression_statement "*(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;" (assignment_expression "*(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13" (pointer_expression "*(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8)" * (cast_expression "(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8)" ( (binary_expression "lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8" identifier + (binary_expression "(*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8" (parenthesized_expression "(*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8))" ( (binary_expression "*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)" (pointer_expression "*(ulong *)(lVar15 + 0x20)" * (cast_expression "(ulong *)(lVar15 + 0x20)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x20)" ( (binary_expression "lVar15 + 0x20" identifier + number_literal) )))) % (pointer_expression "*(ulong *)(param_5 + 0xb8)" * (cast_expression "(ulong *)(param_5 + 0xb8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xb8)" ( (binary_expression "param_5 + 0xb8" identifier + number_literal) ))))) )) * number_literal)) )))) = identifier) ;) })) (expression_statement "*plVar8 = param_5 + 0xc0;" (assignment_expression "*plVar8 = param_5 + 0xc0" (pointer_expression "*plVar8" * identifier) = (binary_expression "param_5 + 0xc0" identifier + number_literal)) ;) }) (else_clause "else {\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }" else (compound_statement "{\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }" { (expression_statement "*plVar13 = *(long *)*plVar8;" (assignment_expression "*plVar13 = *(long *)*plVar8" (pointer_expression "*plVar13" * identifier) = (pointer_expression "*(long *)*plVar8" * (cast_expression "(long *)*plVar8" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar8" * identifier)))) ;) (expression_statement "*(long **)*plVar8 = plVar13;" (assignment_expression "*(long **)*plVar8 = plVar13" (pointer_expression "*(long **)*plVar8" * (cast_expression "(long **)*plVar8" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*plVar8" * identifier))) = identifier) ;) }))) (expression_statement "*(long *)(param_5 + 200) = *(long *)(param_5 + 200) + 1;" (assignment_expression "*(long *)(param_5 + 200) = *(long *)(param_5 + 200) + 1" (pointer_expression "*(long *)(param_5 + 200)" * (cast_expression "(long *)(param_5 + 200)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 200)" ( (binary_expression "param_5 + 200" identifier + number_literal) )))) = (binary_expression "*(long *)(param_5 + 200) + 1" (pointer_expression "*(long *)(param_5 + 200)" * (cast_expression "(long *)(param_5 + 200)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 200)" ( (binary_expression "param_5 + 200" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "local_58 = plVar9;" (assignment_expression "local_58 = plVar9" identifier = identifier) ;) comment (expression_statement "FUN_0022a4f0(param_6,&local_58);" (call_expression "FUN_0022a4f0(param_6,&local_58)" identifier (argument_list "(param_6,&local_58)" ( identifier , (pointer_expression "&local_58" & identifier) ))) ;) (if_statement "if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }" if (parenthesized_expression "(*(long *)(lVar7 + 0x28) != 0)" ( (binary_expression "*(long *)(lVar7 + 0x28) != 0" (pointer_expression "*(long *)(lVar7 + 0x28)" * (cast_expression "(long *)(lVar7 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x28)" ( (binary_expression "lVar7 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }" { (expression_statement "FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);" (call_expression "FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7)" identifier (argument_list "(*(long *)(lVar7 + 0x28) + 0x28,param_7)" ( (binary_expression "*(long *)(lVar7 + 0x28) + 0x28" (pointer_expression "*(long *)(lVar7 + 0x28)" * (cast_expression "(long *)(lVar7 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x28)" ( (binary_expression "lVar7 + 0x28" identifier + number_literal) )))) + number_literal) , identifier ))) ;) })) }))) (expression_statement "plVar8 = (long *)FUN_0049cb70(0xd0);" (assignment_expression "plVar8 = (long *)FUN_0049cb70(0xd0)" identifier = (cast_expression "(long *)FUN_0049cb70(0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0049cb70(0xd0)" identifier (argument_list "(0xd0)" ( number_literal ))))) ;) (expression_statement "plVar8[1] = 0;" (assignment_expression "plVar8[1] = 0" (subscript_expression "plVar8[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar8[2] = 0;" (assignment_expression "plVar8[2] = 0" (subscript_expression "plVar8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar8[3] = -1;" (assignment_expression "plVar8[3] = -1" (subscript_expression "plVar8[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(plVar8 + 4) = *(byte *)(plVar8 + 4) & 0xe0;" (assignment_expression "*(byte *)(plVar8 + 4) = *(byte *)(plVar8 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar8 + 4)" * (cast_expression "(byte *)(plVar8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar8 + 4)" ( (binary_expression "plVar8 + 4" identifier + number_literal) )))) = (binary_expression "*(byte *)(plVar8 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar8 + 4)" * (cast_expression "(byte *)(plVar8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar8 + 4)" ( (binary_expression "plVar8 + 4" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "*plVar8 = (long)&PTR_FUN_00653e00;" (assignment_expression "*plVar8 = (long)&PTR_FUN_00653e00" (pointer_expression "*plVar8" * identifier) = (cast_expression "(long)&PTR_FUN_00653e00" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&PTR_FUN_00653e00" & identifier))) ;) (expression_statement "plVar8[6] = (long)(plVar8 + 0xc);" (assignment_expression "plVar8[6] = (long)(plVar8 + 0xc)" (subscript_expression "plVar8[6]" identifier [ number_literal ]) = (cast_expression "(long)(plVar8 + 0xc)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(plVar8 + 0xc)" ( (binary_expression "plVar8 + 0xc" identifier + number_literal) )))) ;) (expression_statement "*(undefined1 (*) [16])(plVar8 + 10) = (undefined1  [16])0x0;" (assignment_expression "*(undefined1 (*) [16])(plVar8 + 10) = (undefined1  [16])0x0" (pointer_expression "*(undefined1 (*) [16])(plVar8 + 10)" * (cast_expression "(undefined1 (*) [16])(plVar8 + 10)" ( (type_descriptor "undefined1 (*) [16]" type_identifier (abstract_array_declarator "(*) [16]" (abstract_parenthesized_declarator "(*)" ( (abstract_pointer_declarator "*" *) )) [ number_literal ])) ) (parenthesized_expression "(plVar8 + 10)" ( (binary_expression "plVar8 + 10" identifier + number_literal) )))) = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "plVar8[5] = (long)plVar9;" (assignment_expression "plVar8[5] = (long)plVar9" (subscript_expression "plVar8[5]" identifier [ number_literal ]) = (cast_expression "(long)plVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "plVar8[0xc] = 0;" (assignment_expression "plVar8[0xc] = 0" (subscript_expression "plVar8[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar8[7] = 1;" (assignment_expression "plVar8[7] = 1" (subscript_expression "plVar8[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar8[8] = 0;" (assignment_expression "plVar8[8] = 0" (subscript_expression "plVar8[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar8[9] = 0;" (assignment_expression "plVar8[9] = 0" (subscript_expression "plVar8[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(plVar8 + 10) = 0x3f800000;" (assignment_expression "*(undefined4 *)(plVar8 + 10) = 0x3f800000" (pointer_expression "*(undefined4 *)(plVar8 + 10)" * (cast_expression "(undefined4 *)(plVar8 + 10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar8 + 10)" ( (binary_expression "plVar8 + 10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar8[0xb] = 0;" (assignment_expression "plVar8[0xb] = 0" (subscript_expression "plVar8[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar8[0xd] = 0;" (assignment_expression "plVar8[0xd] = 0" (subscript_expression "plVar8[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar8[0xe] = 1;" (assignment_expression "plVar8[0xe] = 1" (subscript_expression "plVar8[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(plVar8 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(plVar8 + 0x10) = 0" (pointer_expression "*(undefined4 *)(plVar8 + 0x10)" * (cast_expression "(undefined4 *)(plVar8 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar8 + 0x10)" ( (binary_expression "plVar8 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar8[0x11] = 0;" (assignment_expression "plVar8[0x11] = 0" (subscript_expression "plVar8[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar8[0x12] = (long)(plVar8 + 0x10);" (assignment_expression "plVar8[0x12] = (long)(plVar8 + 0x10)" (subscript_expression "plVar8[0x12]" identifier [ number_literal ]) = (cast_expression "(long)(plVar8 + 0x10)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(plVar8 + 0x10)" ( (binary_expression "plVar8 + 0x10" identifier + number_literal) )))) ;) (expression_statement "plVar8[0x13] = (long)(plVar8 + 0x10);" (assignment_expression "plVar8[0x13] = (long)(plVar8 + 0x10)" (subscript_expression "plVar8[0x13]" identifier [ number_literal ]) = (cast_expression "(long)(plVar8 + 0x10)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(plVar8 + 0x10)" ( (binary_expression "plVar8 + 0x10" identifier + number_literal) )))) ;) (expression_statement "plVar8[0x14] = 0;" (assignment_expression "plVar8[0x14] = 0" (subscript_expression "plVar8[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar8[0x15] = 0;" (assignment_expression "plVar8[0x15] = 0" (subscript_expression "plVar8[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar8[0x16] = 0;" (assignment_expression "plVar8[0x16] = 0" (subscript_expression "plVar8[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar8[0x17] = 0;" (assignment_expression "plVar8[0x17] = 0" (subscript_expression "plVar8[0x17]" identifier [ number_literal ]) = number_literal) ;) comment (expression_statement "puVar14 = (undefined8 *)FUN_0049cb70(0x78);" (assignment_expression "puVar14 = (undefined8 *)FUN_0049cb70(0x78)" identifier = (cast_expression "(undefined8 *)FUN_0049cb70(0x78)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0049cb70(0x78)" identifier (argument_list "(0x78)" ( number_literal ))))) ;) (expression_statement "puVar4 = puVar14 + 0xf;" (assignment_expression "puVar4 = puVar14 + 0xf" identifier = (binary_expression "puVar14 + 0xf" identifier + number_literal)) ;) (expression_statement "plVar8[0x15] = (long)puVar14;" (assignment_expression "plVar8[0x15] = (long)puVar14" (subscript_expression "plVar8[0x15]" identifier [ number_literal ]) = (cast_expression "(long)puVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "plVar8[0x17] = (long)puVar4;" (assignment_expression "plVar8[0x17] = (long)puVar4" (subscript_expression "plVar8[0x17]" identifier [ number_literal ]) = (cast_expression "(long)puVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (do_statement "do {\n    *puVar14 = 0;\n    puVar14 = puVar14 + 1;\n  } while (puVar4 != puVar14);" do (compound_statement "{\n    *puVar14 = 0;\n    puVar14 = puVar14 + 1;\n  }" { (expression_statement "*puVar14 = 0;" (assignment_expression "*puVar14 = 0" (pointer_expression "*puVar14" * identifier) = number_literal) ;) (expression_statement "puVar14 = puVar14 + 1;" (assignment_expression "puVar14 = puVar14 + 1" identifier = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar4 != puVar14)" ( (binary_expression "puVar4 != puVar14" identifier != identifier) )) ;) (expression_statement "plVar8[0x16] = (long)puVar4;" (assignment_expression "plVar8[0x16] = (long)puVar4" (subscript_expression "plVar8[0x16]" identifier [ number_literal ]) = (cast_expression "(long)puVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "puVar4 = *(undefined8 **)(param_5 + 0x90);" (assignment_expression "puVar4 = *(undefined8 **)(param_5 + 0x90)" identifier = (pointer_expression "*(undefined8 **)(param_5 + 0x90)" * (cast_expression "(undefined8 **)(param_5 + 0x90)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0x90)" ( (binary_expression "param_5 + 0x90" identifier + number_literal) ))))) ;) (expression_statement "plVar8[0x18] = 0;" (assignment_expression "plVar8[0x18] = 0" (subscript_expression "plVar8[0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar8[0x19] = 1;" (assignment_expression "plVar8[0x19] = 1" (subscript_expression "plVar8[0x19]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (puVar4 != *(undefined8 **)(param_5 + 0x98)) {\n    *puVar4 = plVar8;\n    *(undefined8 **)(param_5 + 0x90) = puVar4 + 1;\n    goto LAB_00248512;\n  }" if (parenthesized_expression "(puVar4 != *(undefined8 **)(param_5 + 0x98))" ( (binary_expression "puVar4 != *(undefined8 **)(param_5 + 0x98)" identifier != (pointer_expression "*(undefined8 **)(param_5 + 0x98)" * (cast_expression "(undefined8 **)(param_5 + 0x98)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0x98)" ( (binary_expression "param_5 + 0x98" identifier + number_literal) ))))) )) (compound_statement "{\n    *puVar4 = plVar8;\n    *(undefined8 **)(param_5 + 0x90) = puVar4 + 1;\n    goto LAB_00248512;\n  }" { (expression_statement "*puVar4 = plVar8;" (assignment_expression "*puVar4 = plVar8" (pointer_expression "*puVar4" * identifier) = identifier) ;) (expression_statement "*(undefined8 **)(param_5 + 0x90) = puVar4 + 1;" (assignment_expression "*(undefined8 **)(param_5 + 0x90) = puVar4 + 1" (pointer_expression "*(undefined8 **)(param_5 + 0x90)" * (cast_expression "(undefined8 **)(param_5 + 0x90)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0x90)" ( (binary_expression "param_5 + 0x90" identifier + number_literal) )))) = (binary_expression "puVar4 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00248512;" goto statement_identifier ;) })) (expression_statement "puVar14 = *(undefined8 **)(param_5 + 0x88);" (assignment_expression "puVar14 = *(undefined8 **)(param_5 + 0x88)" identifier = (pointer_expression "*(undefined8 **)(param_5 + 0x88)" * (cast_expression "(undefined8 **)(param_5 + 0x88)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0x88)" ( (binary_expression "param_5 + 0x88" identifier + number_literal) ))))) ;) (expression_statement "__n = (long)puVar4 - (long)puVar14;" (assignment_expression "__n = (long)puVar4 - (long)puVar14" identifier = (binary_expression "(long)puVar4 - (long)puVar14" (cast_expression "(long)puVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (expression_statement "uVar10 = (long)__n >> 3;" (assignment_expression "uVar10 = (long)__n >> 3" identifier = (binary_expression "(long)__n >> 3" (cast_expression "(long)__n" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) >> number_literal)) ;) (if_statement "if (uVar10 == 0) {\n    lVar7 = 8;\nLAB_002486a6:\n    pvVar11 = (void *)FUN_0049cb70(lVar7);\n    lVar7 = lVar7 + (long)pvVar11;\n  }\n  else {\n    uVar17 = uVar10 * 2;\n    lVar7 = -8;\n    if ((uVar17 < uVar10) || (0x1fffffffffffffff < uVar17)) goto LAB_002486a6;\n    if (uVar17 != 0) {\n      lVar7 = uVar10 << 4;\n      goto LAB_002486a6;\n    }\n    lVar7 = 0;\n    pvVar11 = (void *)0x0;\n  }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n    lVar7 = 8;\nLAB_002486a6:\n    pvVar11 = (void *)FUN_0049cb70(lVar7);\n    lVar7 = lVar7 + (long)pvVar11;\n  }" { (expression_statement "lVar7 = 8;" (assignment_expression "lVar7 = 8" identifier = number_literal) ;) (labeled_statement "LAB_002486a6:\n    pvVar11 = (void *)FUN_0049cb70(lVar7);" statement_identifier : (expression_statement "pvVar11 = (void *)FUN_0049cb70(lVar7);" (assignment_expression "pvVar11 = (void *)FUN_0049cb70(lVar7)" identifier = (cast_expression "(void *)FUN_0049cb70(lVar7)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0049cb70(lVar7)" identifier (argument_list "(lVar7)" ( identifier ))))) ;)) (expression_statement "lVar7 = lVar7 + (long)pvVar11;" (assignment_expression "lVar7 = lVar7 + (long)pvVar11" identifier = (binary_expression "lVar7 + (long)pvVar11" identifier + (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) }) (else_clause "else {\n    uVar17 = uVar10 * 2;\n    lVar7 = -8;\n    if ((uVar17 < uVar10) || (0x1fffffffffffffff < uVar17)) goto LAB_002486a6;\n    if (uVar17 != 0) {\n      lVar7 = uVar10 << 4;\n      goto LAB_002486a6;\n    }\n    lVar7 = 0;\n    pvVar11 = (void *)0x0;\n  }" else (compound_statement "{\n    uVar17 = uVar10 * 2;\n    lVar7 = -8;\n    if ((uVar17 < uVar10) || (0x1fffffffffffffff < uVar17)) goto LAB_002486a6;\n    if (uVar17 != 0) {\n      lVar7 = uVar10 << 4;\n      goto LAB_002486a6;\n    }\n    lVar7 = 0;\n    pvVar11 = (void *)0x0;\n  }" { (expression_statement "uVar17 = uVar10 * 2;" (assignment_expression "uVar17 = uVar10 * 2" identifier = (binary_expression "uVar10 * 2" identifier * number_literal)) ;) (expression_statement "lVar7 = -8;" (assignment_expression "lVar7 = -8" identifier = number_literal) ;) (if_statement "if ((uVar17 < uVar10) || (0x1fffffffffffffff < uVar17)) goto LAB_002486a6;" if (parenthesized_expression "((uVar17 < uVar10) || (0x1fffffffffffffff < uVar17))" ( (binary_expression "(uVar17 < uVar10) || (0x1fffffffffffffff < uVar17)" (parenthesized_expression "(uVar17 < uVar10)" ( (binary_expression "uVar17 < uVar10" identifier < identifier) )) || (parenthesized_expression "(0x1fffffffffffffff < uVar17)" ( (binary_expression "0x1fffffffffffffff < uVar17" number_literal < identifier) ))) )) (goto_statement "goto LAB_002486a6;" goto statement_identifier ;)) (if_statement "if (uVar17 != 0) {\n      lVar7 = uVar10 << 4;\n      goto LAB_002486a6;\n    }" if (parenthesized_expression "(uVar17 != 0)" ( (binary_expression "uVar17 != 0" identifier != number_literal) )) (compound_statement "{\n      lVar7 = uVar10 << 4;\n      goto LAB_002486a6;\n    }" { (expression_statement "lVar7 = uVar10 << 4;" (assignment_expression "lVar7 = uVar10 << 4" identifier = (binary_expression "uVar10 << 4" identifier << number_literal)) ;) (goto_statement "goto LAB_002486a6;" goto statement_identifier ;) })) (expression_statement "lVar7 = 0;" (assignment_expression "lVar7 = 0" identifier = number_literal) ;) (expression_statement "pvVar11 = (void *)0x0;" (assignment_expression "pvVar11 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "*(long **)((long)pvVar11 + __n) = plVar8;" (assignment_expression "*(long **)((long)pvVar11 + __n) = plVar8" (pointer_expression "*(long **)((long)pvVar11 + __n)" * (cast_expression "(long **)((long)pvVar11 + __n)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((long)pvVar11 + __n)" ( (binary_expression "(long)pvVar11 + __n" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = identifier) ;) (if_statement "if (puVar4 == puVar14) {\n    if (puVar14 != (undefined8 *)0x0) goto LAB_002486f4;\n  }\n  else {\n    memmove(pvVar11,puVar14,__n);\nLAB_002486f4:\n    FUN_0049e340(puVar14);\n  }" if (parenthesized_expression "(puVar4 == puVar14)" ( (binary_expression "puVar4 == puVar14" identifier == identifier) )) (compound_statement "{\n    if (puVar14 != (undefined8 *)0x0) goto LAB_002486f4;\n  }" { (if_statement "if (puVar14 != (undefined8 *)0x0) goto LAB_002486f4;" if (parenthesized_expression "(puVar14 != (undefined8 *)0x0)" ( (binary_expression "puVar14 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002486f4;" goto statement_identifier ;)) }) (else_clause "else {\n    memmove(pvVar11,puVar14,__n);\nLAB_002486f4:\n    FUN_0049e340(puVar14);\n  }" else (compound_statement "{\n    memmove(pvVar11,puVar14,__n);\nLAB_002486f4:\n    FUN_0049e340(puVar14);\n  }" { (expression_statement "memmove(pvVar11,puVar14,__n);" (call_expression "memmove(pvVar11,puVar14,__n)" identifier (argument_list "(pvVar11,puVar14,__n)" ( identifier , identifier , identifier ))) ;) (labeled_statement "LAB_002486f4:\n    FUN_0049e340(puVar14);" statement_identifier : (expression_statement "FUN_0049e340(puVar14);" (call_expression "FUN_0049e340(puVar14)" identifier (argument_list "(puVar14)" ( identifier ))) ;)) }))) (expression_statement "*(void **)(param_5 + 0x88) = pvVar11;" (assignment_expression "*(void **)(param_5 + 0x88) = pvVar11" (pointer_expression "*(void **)(param_5 + 0x88)" * (cast_expression "(void **)(param_5 + 0x88)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0x88)" ( (binary_expression "param_5 + 0x88" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(long *)(param_5 + 0x98) = lVar7;" (assignment_expression "*(long *)(param_5 + 0x98) = lVar7" (pointer_expression "*(long *)(param_5 + 0x98)" * (cast_expression "(long *)(param_5 + 0x98)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x98)" ( (binary_expression "param_5 + 0x98" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(size_t *)(param_5 + 0x90) = (long)pvVar11 + __n + 8;" (assignment_expression "*(size_t *)(param_5 + 0x90) = (long)pvVar11 + __n + 8" (pointer_expression "*(size_t *)(param_5 + 0x90)" * (cast_expression "(size_t *)(param_5 + 0x90)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x90)" ( (binary_expression "param_5 + 0x90" identifier + number_literal) )))) = (binary_expression "(long)pvVar11 + __n + 8" (binary_expression "(long)pvVar11 + __n" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal)) ;) (labeled_statement "LAB_00248512:\n  if ((*(byte *)(plVar9 + 4) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xc5,"address");\n  }" statement_identifier : (if_statement "if ((*(byte *)(plVar9 + 4) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xc5,"address");\n  }" if (parenthesized_expression "((*(byte *)(plVar9 + 4) & 1) == 0)" ( (binary_expression "(*(byte *)(plVar9 + 4) & 1) == 0" (parenthesized_expression "(*(byte *)(plVar9 + 4) & 1)" ( (binary_expression "*(byte *)(plVar9 + 4) & 1" (pointer_expression "*(byte *)(plVar9 + 4)" * (cast_expression "(byte *)(plVar9 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar9 + 4)" ( (binary_expression "plVar9 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xc5,"address");\n  }" { comment (expression_statement "FUN_00352af0("../../gold/output.h",0xc5,"address");" (call_expression "FUN_00352af0("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;) }))) (if_statement "if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n  }" if (parenthesized_expression "((*(byte *)(plVar9 + 4) & 2) == 0)" ( (binary_expression "(*(byte *)(plVar9 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar9 + 4) & 2)" ( (binary_expression "*(byte *)(plVar9 + 4) & 2" (pointer_expression "*(byte *)(plVar9 + 4)" * (cast_expression "(byte *)(plVar9 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar9 + 4)" ( (binary_expression "plVar9 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n  }" { comment (expression_statement "FUN_00352af0("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_00352af0("../../gold/output.h",0xcf,"data_size")" identifier (argument_list "("../../gold/output.h",0xcf,"data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") ))) ;) })) (expression_statement "lVar7 = plVar9[2];" (assignment_expression "lVar7 = plVar9[2]" identifier = (subscript_expression "plVar9[2]" identifier [ number_literal ])) ;) (expression_statement "bVar2 = *(byte *)(plVar8 + 4);" (assignment_expression "bVar2 = *(byte *)(plVar8 + 4)" identifier = (pointer_expression "*(byte *)(plVar8 + 4)" * (cast_expression "(byte *)(plVar8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar8 + 4)" ( (binary_expression "plVar8 + 4" identifier + number_literal) ))))) ;) (if_statement "if ((bVar2 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0x142,"set_address");\n  }" if (parenthesized_expression "((bVar2 & 1) != 0)" ( (binary_expression "(bVar2 & 1) != 0" (parenthesized_expression "(bVar2 & 1)" ( (binary_expression "bVar2 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0x142,"set_address");\n  }" { comment (expression_statement "FUN_00352af0("../../gold/output.h",0x142,"set_address");" (call_expression "FUN_00352af0("../../gold/output.h",0x142,"set_address")" identifier (argument_list "("../../gold/output.h",0x142,"set_address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_address"" " string_content ") ))) ;) })) (expression_statement "plVar8[1] = plVar9[1] + lVar7;" (assignment_expression "plVar8[1] = plVar9[1] + lVar7" (subscript_expression "plVar8[1]" identifier [ number_literal ]) = (binary_expression "plVar9[1] + lVar7" (subscript_expression "plVar9[1]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "*(byte *)(plVar8 + 4) = bVar2 | 1;" (assignment_expression "*(byte *)(plVar8 + 4) = bVar2 | 1" (pointer_expression "*(byte *)(plVar8 + 4)" * (cast_expression "(byte *)(plVar8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar8 + 4)" ( (binary_expression "plVar8 + 4" identifier + number_literal) )))) = (binary_expression "bVar2 | 1" identifier | number_literal)) ;) (if_statement "if ((*(byte *)(plVar9 + 4) & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\n  }" if (parenthesized_expression "((*(byte *)(plVar9 + 4) & 4) == 0)" ( (binary_expression "(*(byte *)(plVar9 + 4) & 4) == 0" (parenthesized_expression "(*(byte *)(plVar9 + 4) & 4)" ( (binary_expression "*(byte *)(plVar9 + 4) & 4" (pointer_expression "*(byte *)(plVar9 + 4)" * (cast_expression "(byte *)(plVar9 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar9 + 4)" ( (binary_expression "plVar9 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\n  }" { comment (expression_statement "FUN_00352af0("../../gold/output.h",0xe3,"offset");" (call_expression "FUN_00352af0("../../gold/output.h",0xe3,"offset")" identifier (argument_list "("../../gold/output.h",0xe3,"offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") ))) ;) })) (if_statement "if ((bVar2 & 4) != 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n  }" if (parenthesized_expression "((bVar2 & 4) != 0)" ( (binary_expression "(bVar2 & 4) != 0" (parenthesized_expression "(bVar2 & 4)" ( (binary_expression "bVar2 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n  }" { comment (expression_statement "FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");" (call_expression "FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset")" identifier (argument_list "("../../gold/output.h",0x14b,"set_file_offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_file_offset"" " string_content ") ))) ;) })) (expression_statement "plVar8[3] = lVar7 + plVar9[3];" (assignment_expression "plVar8[3] = lVar7 + plVar9[3]" (subscript_expression "plVar8[3]" identifier [ number_literal ]) = (binary_expression "lVar7 + plVar9[3]" identifier + (subscript_expression "plVar9[3]" identifier [ number_literal ]))) ;) (expression_statement "*(byte *)(plVar8 + 4) = bVar2 | 5;" (assignment_expression "*(byte *)(plVar8 + 4) = bVar2 | 5" (pointer_expression "*(byte *)(plVar8 + 4)" * (cast_expression "(byte *)(plVar8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar8 + 4)" ( (binary_expression "plVar8 + 4" identifier + number_literal) )))) = (binary_expression "bVar2 | 5" identifier | number_literal)) ;) (if_statement "if (((bVar2 & 2) == 0) &&\n     ((**(code **)(*plVar8 + 0x70))(plVar8), (*(byte *)(plVar8 + 4) & 2) == 0)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n  }" if (parenthesized_expression "(((bVar2 & 2) == 0) &&\n     ((**(code **)(*plVar8 + 0x70))(plVar8), (*(byte *)(plVar8 + 4) & 2) == 0))" ( (binary_expression "((bVar2 & 2) == 0) &&\n     ((**(code **)(*plVar8 + 0x70))(plVar8), (*(byte *)(plVar8 + 4) & 2) == 0)" (parenthesized_expression "((bVar2 & 2) == 0)" ( (binary_expression "(bVar2 & 2) == 0" (parenthesized_expression "(bVar2 & 2)" ( (binary_expression "bVar2 & 2" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "((**(code **)(*plVar8 + 0x70))(plVar8), (*(byte *)(plVar8 + 4) & 2) == 0)" ( (comma_expression "(**(code **)(*plVar8 + 0x70))(plVar8), (*(byte *)(plVar8 + 4) & 2) == 0" (call_expression "(**(code **)(*plVar8 + 0x70))(plVar8)" (parenthesized_expression "(**(code **)(*plVar8 + 0x70))" ( (pointer_expression "**(code **)(*plVar8 + 0x70)" * (pointer_expression "*(code **)(*plVar8 + 0x70)" * (cast_expression "(code **)(*plVar8 + 0x70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar8 + 0x70)" ( (binary_expression "*plVar8 + 0x70" (pointer_expression "*plVar8" * identifier) + number_literal) ))))) )) (argument_list "(plVar8)" ( identifier ))) , (binary_expression "(*(byte *)(plVar8 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar8 + 4) & 2)" ( (binary_expression "*(byte *)(plVar8 + 4) & 2" (pointer_expression "*(byte *)(plVar8 + 4)" * (cast_expression "(byte *)(plVar8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar8 + 4)" ( (binary_expression "plVar8 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n  }" { comment (expression_statement "FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");" (call_expression "FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size")" identifier (argument_list "("../../gold/output.h",0x163,"finalize_data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""finalize_data_size"" " string_content ") ))) ;) })) (expression_statement "plVar9[10] = (long)plVar8;" (assignment_expression "plVar9[10] = (long)plVar8" (subscript_expression "plVar9[10]" identifier [ number_literal ]) = (cast_expression "(long)plVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (do_statement "do {\n    if (2 < *param_2 + 3U) {\n      lVar7 = FUN_003c9a60(param_2);\n      uVar6 = FUN_003c9ae0(param_2);\n      if ((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      *(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8;\n    }\n    bVar18 = param_3 != param_2;\n    param_2 = param_2 + 8;\n  } while (bVar18);" do (compound_statement "{\n    if (2 < *param_2 + 3U) {\n      lVar7 = FUN_003c9a60(param_2);\n      uVar6 = FUN_003c9ae0(param_2);\n      if ((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      *(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8;\n    }\n    bVar18 = param_3 != param_2;\n    param_2 = param_2 + 8;\n  }" { (if_statement "if (2 < *param_2 + 3U) {\n      lVar7 = FUN_003c9a60(param_2);\n      uVar6 = FUN_003c9ae0(param_2);\n      if ((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      *(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8;\n    }" if (parenthesized_expression "(2 < *param_2 + 3U)" ( (binary_expression "2 < *param_2 + 3U" number_literal < (binary_expression "*param_2 + 3U" (pointer_expression "*param_2" * identifier) + number_literal)) )) (compound_statement "{\n      lVar7 = FUN_003c9a60(param_2);\n      uVar6 = FUN_003c9ae0(param_2);\n      if ((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      *(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8;\n    }" { (expression_statement "lVar7 = FUN_003c9a60(param_2);" (assignment_expression "lVar7 = FUN_003c9a60(param_2)" identifier = (call_expression "FUN_003c9a60(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "uVar6 = FUN_003c9ae0(param_2);" (assignment_expression "uVar6 = FUN_003c9ae0(param_2)" identifier = (call_expression "FUN_003c9ae0(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (if_statement "if ((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6) {\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }" if (parenthesized_expression "((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6)" ( (binary_expression "(ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6" (call_expression "(ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3)" ( (binary_expression "*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3" (binary_expression "*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220)" (pointer_expression "*(long *)(lVar7 + 0x228)" * (cast_expression "(long *)(lVar7 + 0x228)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x228)" ( (binary_expression "lVar7 + 0x228" identifier + number_literal) )))) - (pointer_expression "*(long *)(lVar7 + 0x220)" * (cast_expression "(long *)(lVar7 + 0x220)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x220)" ( (binary_expression "lVar7 + 0x220" identifier + number_literal) ))))) >> number_literal) ))) <= (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }" { comment (expression_statement "FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");" (call_expression "FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table")" identifier (argument_list "("../../gold/arm.cc",0x5ef,"set_stub_table")" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""set_stub_table"" " string_content ") ))) ;) })) (expression_statement "*(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8;" (assignment_expression "*(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8" (pointer_expression "*(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8)" * (cast_expression "(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8)" ( (binary_expression "*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8" (pointer_expression "*(long *)(lVar7 + 0x220)" * (cast_expression "(long *)(lVar7 + 0x220)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x220)" ( (binary_expression "lVar7 + 0x220" identifier + number_literal) )))) + (binary_expression "(ulong)uVar6 * 8" (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) = identifier) ;) })) (expression_statement "bVar18 = param_3 != param_2;" (assignment_expression "bVar18 = param_3 != param_2" identifier = (binary_expression "param_3 != param_2" identifier != identifier)) ;) (expression_statement "param_2 = param_2 + 8;" (assignment_expression "param_2 = param_2 + 8" identifier = (binary_expression "param_2 + 8" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar18)" ( identifier )) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Struct "Arm_input_section<false>": ignoring overlapping field "original_addralign_" */\n/* WARNING: Enum "<anon>": Some values do not have unique names */\n/* DWARF original prototype: void create_stub_group(Arm_output_section<false> * this, const_iterator\n   begin, const_iterator end, const_iterator owner, Target_arm<false> * target,\n   vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n   * new_relaxed_sections, Task * task) */\n\nvoid __thiscall\nanon_unknown.dwarf_9b9b16::Arm_output_section<false>::create_stub_group\n          (Arm_output_section<false> *this,const_iterator begin,const_iterator end,\n          const_iterator owner,Target_arm<false> *target,\n          vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n          *new_relaxed_sections,Task *task)\n\n{\n  byte *pbVar1;\n  undefined1 *puVar2;\n  pointer ppAVar3;\n  size_type *psVar4;\n  _Rb_tree_header *p_Var5;\n  byte bVar6;\n  Input_file *pIVar7;\n  _Hash_node_base *p_Var8;\n  __bucket_type *pp_Var9;\n  pointer ppSVar10;\n  size_type sVar11;\n  pointer __src;\n  ulong uVar12;\n  char cVar13;\n  uint uVar14;\n  uint uVar15;\n  int iVar16;\n  int iVar17;\n  Relobj *pRVar18;\n  Relobj *this_00;\n  Relobj *pRVar19;\n  undefined4 extraout_var;\n  uchar *__src_00;\n  undefined4 extraout_var_00;\n  pointer ppOVar20;\n  undefined4 extraout_var_01;\n  _Hash_node_base *p_Var21;\n  __node_base *p_Var22;\n  __bucket_type *pp_Var23;\n  Stub_table<false> *pSVar24;\n  pointer ppAVar25;\n  ulong uVar26;\n  pointer __dest;\n  Output_section *pOVar27;\n  _Hash_node_base *p_Var28;\n  _func_int_varargs **pp_Var29;\n  _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n  *this_01;\n  ulong uVar30;\n  size_t __n;\n  _Hash_node_base *p_Var31;\n  pointer ppSVar32;\n  bool bVar33;\n  ulong local_78;\n  section_size_type section_size;\n  Relobj *local_58;\n  uint uStack_50;\n  undefined4 uStack_4c;\n  undefined4 extraout_var_02;\n  \n  if ((this->super_Output_section).type_ == 0x70000001) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/arm.cc",0x1680,"create_stub_group");\n  }\n  if ((owner._M_current)->shndx_ == 0xfffffffc) {\n    pRVar19 = ((owner._M_current)->u2_).object;\n  }\n  else {\n    if (0xfffffffb < (owner._M_current)->shndx_) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x1690,"create_stub_group");\n    }\n    pRVar18 = gold::Output_section::Input_section::relobj(owner._M_current);\n    pIVar7 = (pRVar18->super_Object).input_file_;\n    if (pIVar7 != (Input_file *)0x0) {\n      gold::File_read::lock(&pIVar7->file_,task);\n    }\n                    /* try { // try from 0024804a to 002482c6 has its CatchHandler @ 002489ce */\n    uVar14 = gold::Output_section::Input_section::shndx(owner._M_current);\n    this_00 = gold::Output_section::Input_section::relobj(owner._M_current);\n    pRVar19 = (Relobj *)operator_new(0x60);\n    pbVar1 = (byte *)((pRVar19->super_Object).name_.field_2._M_local_buf + 8);\n    *pbVar1 = *pbVar1 & 0xe0;\n    (pRVar19->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n    (pRVar19->super_Object).name_._M_string_length = 0;\n    (pRVar19->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n    (pRVar19->super_Object).input_file_ = (Input_file *)0x0;\n    (pRVar19->super_Object).offset_ = 1;\n    *(Relobj **)&(pRVar19->super_Object).shnum_ = this_00;\n    *(uint *)&(pRVar19->super_Object).xindex_ = uVar14;\n    (((Output_section_data_build *)&(pRVar19->super_Object)._vptr_Object)->super_Output_section_data\n    ).super_Output_data._vptr_Output_data = (_func_int_varargs **)&PTR__Arm_input_section_006670c0;\n    pp_Var29 = (this_00->super_Object)._vptr_Object;\n    *(undefined8 *)((long)&(pRVar19->super_Object).xindex_ + 4) = 1;\n    (pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_start = (pointer)0x0;\n    (pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    uVar15 = (*pp_Var29[0x17])(this_00,(ulong)uVar14);\n    if (CONCAT44(extraout_var,uVar15) != (ulong)uVar15) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(uint *)((long)&(pRVar19->super_Object).xindex_ + 4) = uVar15;\n    __src_00 = gold::Object::section_contents(&this_00->super_Object,uVar14,&section_size,false);\n    uVar15 = (*(this_00->super_Object)._vptr_Object[0xf])(this_00,(ulong)uVar14);\n    if (CONCAT44(extraout_var_00,uVar15) != (ulong)uVar15) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }\n    ppOVar20 = (pRVar19->output_sections_).\n               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n               _M_impl._M_finish;\n    *(uint *)&(pRVar19->super_Object).compressed_sections_ = uVar15;\n    if (ppOVar20 != (pointer)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002488e0 to 002489b0 has its CatchHandler @ 002489ce */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x14bf,"init");\n    }\n    ppOVar20 = (pointer)operator_new__(section_size);\n    (pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = ppOVar20;\n    memcpy(ppOVar20,__src_00,section_size);\n    pp_Var29 = (this_00->super_Object)._vptr_Object;\n    if (pp_Var29[0x18] == gold::Relobj::do_output_section) {\n      ppOVar20 = (this_00->output_sections_).\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                 _M_impl._M_start;\n      if ((ulong)((long)(this_00->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish - (long)ppOVar20 >> 3) <= (ulong)uVar14) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248868 to 0024886c has its CatchHandler @ 002489ce */\n        gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      pOVar27 = ppOVar20[uVar14];\n    }\n    else {\n                    /* try { // try from 00248736 to 00248737 has its CatchHandler @ 002489ce */\n      iVar16 = (*pp_Var29[0x18])(this_00,(ulong)uVar14);\n      pOVar27 = (Output_section *)CONCAT44(extraout_var_02,iVar16);\n      pp_Var29 = (this_00->super_Object)._vptr_Object;\n    }\n    iVar16 = (*pp_Var29[0x1a])(this_00,(ulong)uVar14);\n    if ((pOVar27 == (Output_section *)0x0) ||\n       (iVar17 = (*(this_00->super_Object)._vptr_Object[0x22])(this_00,(ulong)uVar14),\n       (char)iVar17 != '\0')) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248808 to 0024880c has its CatchHandler @ 002489ce */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x14c7,"init");\n    }\n    if (((pOVar27->super_Output_data).field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n    }\n    bVar6 = (pRVar19->super_Object).name_.field_2._M_local_buf[8];\n    if ((bVar6 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n    }\n    (pRVar19->super_Object).name_._M_dataplus._M_p =\n         (pointer)((pOVar27->super_Output_data).address_ + CONCAT44(extraout_var_01,iVar16));\n    (pRVar19->super_Object).name_.field_2._M_local_buf[8] = bVar6 | 1;\n    if (((pOVar27->super_Output_data).field_0x20 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n    }\n    if ((bVar6 & 4) != 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n    }\n    (pRVar19->super_Object).name_.field_2._M_allocated_capacity =\n         CONCAT44(extraout_var_01,iVar16) + (pOVar27->super_Output_data).offset_;\n    uVar15 = *(uint *)&(pRVar19->super_Object).compressed_sections_;\n    (pRVar19->super_Object).name_.field_2._M_local_buf[8] = bVar6 | 5;\n    if ((bVar6 & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    (pRVar19->super_Object).name_._M_string_length = (ulong)uVar15;\n    Arm_input_section<false>::set_final_data_size((Arm_input_section<false> *)pRVar19);\n    if (((pRVar19->super_Object).name_.field_2._M_local_buf[8] & 2U) == 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n    }\n    p_Var21 = (_Hash_node_base *)operator_new(0x28);\n    p_Var21->_M_nxt = (_Hash_node_base *)0x0;\n    uVar26 = (target->arm_input_section_map_)._M_h._M_bucket_count;\n    p_Var21[1]._M_nxt = (_Hash_node_base *)this_00;\n    p_Var21[2]._M_nxt = (_Hash_node_base *)CONCAT44(uStack_4c,uVar14);\n    p_Var21[3]._M_nxt = (_Hash_node_base *)pRVar19;\n    p_Var31 = (_Hash_node_base *)((ulong)this_00 ^ (ulong)*(uint *)&p_Var21[2]._M_nxt);\n    local_78 = (ulong)p_Var31 % uVar26;\n    local_58 = this_00;\n    uStack_50 = uVar14;\n    p_Var22 = std::\n              _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              ::_M_find_before_node\n                        ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                          *)&target->arm_input_section_map_,local_78,(key_type *)(p_Var21 + 1),\n                         (__hash_code)p_Var31);\n    if ((p_Var22 != (__node_base *)0x0) && (p_Var22->_M_nxt != (_Hash_node_base *)0x0)) {\n      operator_delete(p_Var21);\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }\n    cVar13 = std::__detail::_Prime_rehash_policy::_M_need_rehash\n                       (&(target->arm_input_section_map_)._M_h._M_rehash_policy,uVar26,\n                        (target->arm_input_section_map_)._M_h._M_element_count,1);\n    if (cVar13 == '\0') {\n      pp_Var23 = (target->arm_input_section_map_)._M_h._M_buckets;\n    }\n    else {\n      if (this_01 ==\n          (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n           *)0x1) {\n        pp_Var23 = &(target->arm_input_section_map_)._M_h._M_single_bucket;\n        (target->arm_input_section_map_)._M_h._M_single_bucket = (__bucket_type)0x0;\n      }\n      else {\n                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */\n        pp_Var23 = std::__detail::\n                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n                   ::_M_allocate_buckets(this_01,uVar26);\n      }\n      p_Var28 = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n      (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n      if (p_Var28 != (_Hash_node_base *)0x0) {\n        uVar26 = 0;\n        do {\n          while( true ) {\n            p_Var8 = p_Var28->_M_nxt;\n            uVar30 = (ulong)p_Var28[4]._M_nxt % (ulong)this_01;\n            pp_Var9 = pp_Var23 + uVar30;\n            if (*pp_Var9 == (__bucket_type)0x0) break;\n            p_Var28->_M_nxt = (*pp_Var9)->_M_nxt;\n            (*pp_Var9)->_M_nxt = p_Var28;\n            uVar30 = uVar26;\nLAB_0024831c:\n            p_Var28 = p_Var8;\n            uVar26 = uVar30;\n            if (p_Var8 == (_Hash_node_base *)0x0) goto LAB_00248370;\n          }\n          p_Var28->_M_nxt = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n          (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var28;\n          *pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin;\n          if (p_Var28->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0024831c;\n          pp_Var23[uVar26] = p_Var28;\n          p_Var28 = p_Var8;\n          uVar26 = uVar30;\n        } while (p_Var8 != (_Hash_node_base *)0x0);\n      }\nLAB_00248370:\n      pp_Var9 = (target->arm_input_section_map_)._M_h._M_buckets;\n      if (pp_Var9 != &(target->arm_input_section_map_)._M_h._M_single_bucket) {\n        operator_delete(pp_Var9);\n      }\n      (target->arm_input_section_map_)._M_h._M_bucket_count = (size_type)this_01;\n      local_78 = (ulong)p_Var31 % (ulong)this_01;\n      (target->arm_input_section_map_)._M_h._M_buckets = pp_Var23;\n    }\n    p_Var21[4]._M_nxt = p_Var31;\n    pp_Var9 = pp_Var23 + local_78;\n    if (*pp_Var9 == (__bucket_type)0x0) {\n      p_Var31 = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n      (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var21;\n      p_Var21->_M_nxt = p_Var31;\n      if (p_Var31 != (_Hash_node_base *)0x0) {\n        pp_Var23[(ulong)p_Var31[4]._M_nxt % (target->arm_input_section_map_)._M_h._M_bucket_count] =\n             p_Var21;\n      }\n      *pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin;\n    }\n    else {\n      p_Var21->_M_nxt = (*pp_Var9)->_M_nxt;\n      (*pp_Var9)->_M_nxt = p_Var21;\n    }\n    psVar4 = &(target->arm_input_section_map_)._M_h._M_element_count;\n    *psVar4 = *psVar4 + 1;\n    local_58 = pRVar19;\n                    /* try { // try from 00248644 to 00248648 has its CatchHandler @ 002489ce */\n    std::\n    vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n    ::emplace_back<gold::Output_relaxed_input_section*>\n              (new_relaxed_sections,(Output_relaxed_input_section **)&local_58);\n    pIVar7 = (pRVar18->super_Object).input_file_;\n    if (pIVar7 != (Input_file *)0x0) {\n      gold::File_read::unlock(&pIVar7->file_,task);\n    }\n  }\n  pSVar24 = (Stub_table<false> *)operator_new(0xd0);\n  (pSVar24->super_Output_data).address_ = 0;\n  (pSVar24->super_Output_data).data_size_ = 0;\n  (pSVar24->super_Output_data).offset_ = -1;\n  puVar2 = &(pSVar24->super_Output_data).field_0x20;\n  *puVar2 = *puVar2 & 0xe0;\n  (pSVar24->super_Output_data)._vptr_Output_data = (_func_int_varargs **)&PTR__Stub_table_00653e00;\n  (pSVar24->reloc_stubs_)._M_h._M_buckets = &(pSVar24->reloc_stubs_)._M_h._M_single_bucket;\n  p_Var5 = &(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header;\n  (pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_max_load_factor = 0.0;\n  *(undefined4 *)&(pSVar24->reloc_stubs_)._M_h._M_rehash_policy.field_0x4 = 0;\n  (pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_next_resize = 0;\n  pSVar24->owner_ = (Arm_input_section<false> *)pRVar19;\n  (pSVar24->reloc_stubs_)._M_h._M_single_bucket = (__bucket_type)0x0;\n  (pSVar24->reloc_stubs_)._M_h._M_bucket_count = 1;\n  (pSVar24->reloc_stubs_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (pSVar24->reloc_stubs_)._M_h._M_element_count = 0;\n  (pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_next_resize = 0;\n  pSVar24->reloc_stubs_size_ = 0;\n  pSVar24->reloc_stubs_addralign_ = 1;\n  (pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;\n  (pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent =\n       (_Base_ptr)0x0;\n  (pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_left =\n       &p_Var5->_M_header;\n  (pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_right =\n       &p_Var5->_M_header;\n  (pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;\n  (pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_start = (pointer)0x0;\n  (pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_finish = (pointer)0x0;\n  (pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;\n                    /* try { // try from 002484a6 to 002484aa has its CatchHandler @ 002489d6 */\n  ppAVar25 = (pointer)operator_new(0x78);\n  ppAVar3 = ppAVar25 + 0xf;\n  (pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_start = ppAVar25;\n  (pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_end_of_storage = ppAVar3;\n  do {\n    *ppAVar25 = (Arm_v4bx_stub *)0x0;\n    ppAVar25 = ppAVar25 + 1;\n  } while (ppAVar3 != ppAVar25);\n  (pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_finish = ppAVar3;\n  ppSVar10 = (target->stub_tables_).\n             super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n             ._M_impl._M_finish;\n  pSVar24->prev_data_size_ = 0;\n  pSVar24->prev_addralign_ = 1;\n  if (ppSVar10 !=\n      (target->stub_tables_).\n      super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n      ._M_impl._M_end_of_storage) {\n    *ppSVar10 = pSVar24;\n    (target->stub_tables_).\n    super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n    ._M_impl._M_finish = ppSVar10 + 1;\n    goto LAB_00248512;\n  }\n  __src = (target->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n          ._M_impl._M_start;\n  __n = (long)ppSVar10 - (long)__src;\n  uVar26 = (long)__n >> 3;\n  if (uVar26 == 0) {\n    uVar30 = 8;\nLAB_002486a6:\n    __dest = (pointer)operator_new(uVar30);\n    ppSVar32 = (pointer)(uVar30 + (long)__dest);\n  }\n  else {\n    uVar12 = uVar26 * 2;\n    uVar30 = 0xfffffffffffffff8;\n    if ((uVar12 < uVar26) || (0x1fffffffffffffff < uVar12)) goto LAB_002486a6;\n    if (uVar12 != 0) {\n      uVar30 = uVar26 << 4;\n      goto LAB_002486a6;\n    }\n    ppSVar32 = (pointer)0x0;\n    __dest = (pointer)0x0;\n  }\n  *(Stub_table<false> **)((long)__dest + __n) = pSVar24;\n  if (ppSVar10 == __src) {\n    if (__src != (pointer)0x0) goto LAB_002486f4;\n  }\n  else {\n    memmove(__dest,__src,__n);\nLAB_002486f4:\n    operator_delete(__src);\n  }\n  (target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n  ._M_impl._M_start = __dest;\n  (target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n  ._M_impl._M_end_of_storage = ppSVar32;\n  (target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n  ._M_impl._M_finish = (pointer)((long)__dest + __n + 8);\nLAB_00248512:\n  bVar6 = (pRVar19->super_Object).name_.field_2._M_local_buf[8];\n  if ((bVar6 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n  }\n  if ((bVar6 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n  }\n  sVar11 = (pRVar19->super_Object).name_._M_string_length;\n  bVar6 = (pSVar24->super_Output_data).field_0x20;\n  if ((bVar6 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n  }\n  (pSVar24->super_Output_data).address_ =\n       (uint64_t)((pRVar19->super_Object).name_._M_dataplus._M_p + sVar11);\n  (pSVar24->super_Output_data).field_0x20 = bVar6 | 1;\n  if (((pRVar19->super_Object).name_.field_2._M_local_buf[8] & 4U) == 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n  }\n  if ((bVar6 & 4) != 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n  }\n  (pSVar24->super_Output_data).offset_ =\n       sVar11 + (pRVar19->super_Object).name_.field_2._M_allocated_capacity;\n  (pSVar24->super_Output_data).field_0x20 = bVar6 | 5;\n  if (((bVar6 & 2) == 0) &&\n     ((*(pSVar24->super_Output_data)._vptr_Output_data[0xe])(pSVar24),\n     ((pSVar24->super_Output_data).field_0x20 & 2) == 0)) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n  }\n  (pRVar19->output_sections_).\n  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl._M_start\n       = (pointer)pSVar24;\n  do {\n    if (2 < (begin._M_current)->shndx_ + 3) {\n      pRVar19 = gold::Output_section::Input_section::relobj(begin._M_current);\n      uVar14 = gold::Output_section::Input_section::shndx(begin._M_current);\n      pIVar7 = pRVar19[3].super_Object.input_file_;\n      if ((ulong)(pRVar19[3].super_Object.offset_ - (long)pIVar7 >> 3) <= (ulong)uVar14) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      (&pIVar7->input_argument_)[uVar14] = (Input_file_argument *)pSVar24;\n    }\n    bVar33 = end._M_current != begin._M_current;\n    begin._M_current = begin._M_current + 1;\n  } while (bVar33);\n  return;\n}\n\n" comment comment comment comment (function_definition "void __thiscall\nanon_unknown.dwarf_9b9b16::Arm_output_section<false>::create_stub_group\n          (Arm_output_section<false> *this,const_iterator begin,const_iterator end,\n          const_iterator owner,Target_arm<false> *target,\n          vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n          *new_relaxed_sections,Task *task)\n\n{\n  byte *pbVar1;\n  undefined1 *puVar2;\n  pointer ppAVar3;\n  size_type *psVar4;\n  _Rb_tree_header *p_Var5;\n  byte bVar6;\n  Input_file *pIVar7;\n  _Hash_node_base *p_Var8;\n  __bucket_type *pp_Var9;\n  pointer ppSVar10;\n  size_type sVar11;\n  pointer __src;\n  ulong uVar12;\n  char cVar13;\n  uint uVar14;\n  uint uVar15;\n  int iVar16;\n  int iVar17;\n  Relobj *pRVar18;\n  Relobj *this_00;\n  Relobj *pRVar19;\n  undefined4 extraout_var;\n  uchar *__src_00;\n  undefined4 extraout_var_00;\n  pointer ppOVar20;\n  undefined4 extraout_var_01;\n  _Hash_node_base *p_Var21;\n  __node_base *p_Var22;\n  __bucket_type *pp_Var23;\n  Stub_table<false> *pSVar24;\n  pointer ppAVar25;\n  ulong uVar26;\n  pointer __dest;\n  Output_section *pOVar27;\n  _Hash_node_base *p_Var28;\n  _func_int_varargs **pp_Var29;\n  _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n  *this_01;\n  ulong uVar30;\n  size_t __n;\n  _Hash_node_base *p_Var31;\n  pointer ppSVar32;\n  bool bVar33;\n  ulong local_78;\n  section_size_type section_size;\n  Relobj *local_58;\n  uint uStack_50;\n  undefined4 uStack_4c;\n  undefined4 extraout_var_02;\n  \n  if ((this->super_Output_section).type_ == 0x70000001) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/arm.cc",0x1680,"create_stub_group");\n  }\n  if ((owner._M_current)->shndx_ == 0xfffffffc) {\n    pRVar19 = ((owner._M_current)->u2_).object;\n  }\n  else {\n    if (0xfffffffb < (owner._M_current)->shndx_) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x1690,"create_stub_group");\n    }\n    pRVar18 = gold::Output_section::Input_section::relobj(owner._M_current);\n    pIVar7 = (pRVar18->super_Object).input_file_;\n    if (pIVar7 != (Input_file *)0x0) {\n      gold::File_read::lock(&pIVar7->file_,task);\n    }\n                    /* try { // try from 0024804a to 002482c6 has its CatchHandler @ 002489ce */\n    uVar14 = gold::Output_section::Input_section::shndx(owner._M_current);\n    this_00 = gold::Output_section::Input_section::relobj(owner._M_current);\n    pRVar19 = (Relobj *)operator_new(0x60);\n    pbVar1 = (byte *)((pRVar19->super_Object).name_.field_2._M_local_buf + 8);\n    *pbVar1 = *pbVar1 & 0xe0;\n    (pRVar19->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n    (pRVar19->super_Object).name_._M_string_length = 0;\n    (pRVar19->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n    (pRVar19->super_Object).input_file_ = (Input_file *)0x0;\n    (pRVar19->super_Object).offset_ = 1;\n    *(Relobj **)&(pRVar19->super_Object).shnum_ = this_00;\n    *(uint *)&(pRVar19->super_Object).xindex_ = uVar14;\n    (((Output_section_data_build *)&(pRVar19->super_Object)._vptr_Object)->super_Output_section_data\n    ).super_Output_data._vptr_Output_data = (_func_int_varargs **)&PTR__Arm_input_section_006670c0;\n    pp_Var29 = (this_00->super_Object)._vptr_Object;\n    *(undefined8 *)((long)&(pRVar19->super_Object).xindex_ + 4) = 1;\n    (pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_start = (pointer)0x0;\n    (pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    uVar15 = (*pp_Var29[0x17])(this_00,(ulong)uVar14);\n    if (CONCAT44(extraout_var,uVar15) != (ulong)uVar15) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(uint *)((long)&(pRVar19->super_Object).xindex_ + 4) = uVar15;\n    __src_00 = gold::Object::section_contents(&this_00->super_Object,uVar14,&section_size,false);\n    uVar15 = (*(this_00->super_Object)._vptr_Object[0xf])(this_00,(ulong)uVar14);\n    if (CONCAT44(extraout_var_00,uVar15) != (ulong)uVar15) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }\n    ppOVar20 = (pRVar19->output_sections_).\n               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n               _M_impl._M_finish;\n    *(uint *)&(pRVar19->super_Object).compressed_sections_ = uVar15;\n    if (ppOVar20 != (pointer)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002488e0 to 002489b0 has its CatchHandler @ 002489ce */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x14bf,"init");\n    }\n    ppOVar20 = (pointer)operator_new__(section_size);\n    (pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = ppOVar20;\n    memcpy(ppOVar20,__src_00,section_size);\n    pp_Var29 = (this_00->super_Object)._vptr_Object;\n    if (pp_Var29[0x18] == gold::Relobj::do_output_section) {\n      ppOVar20 = (this_00->output_sections_).\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                 _M_impl._M_start;\n      if ((ulong)((long)(this_00->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish - (long)ppOVar20 >> 3) <= (ulong)uVar14) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248868 to 0024886c has its CatchHandler @ 002489ce */\n        gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      pOVar27 = ppOVar20[uVar14];\n    }\n    else {\n                    /* try { // try from 00248736 to 00248737 has its CatchHandler @ 002489ce */\n      iVar16 = (*pp_Var29[0x18])(this_00,(ulong)uVar14);\n      pOVar27 = (Output_section *)CONCAT44(extraout_var_02,iVar16);\n      pp_Var29 = (this_00->super_Object)._vptr_Object;\n    }\n    iVar16 = (*pp_Var29[0x1a])(this_00,(ulong)uVar14);\n    if ((pOVar27 == (Output_section *)0x0) ||\n       (iVar17 = (*(this_00->super_Object)._vptr_Object[0x22])(this_00,(ulong)uVar14),\n       (char)iVar17 != '\0')) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248808 to 0024880c has its CatchHandler @ 002489ce */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x14c7,"init");\n    }\n    if (((pOVar27->super_Output_data).field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n    }\n    bVar6 = (pRVar19->super_Object).name_.field_2._M_local_buf[8];\n    if ((bVar6 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n    }\n    (pRVar19->super_Object).name_._M_dataplus._M_p =\n         (pointer)((pOVar27->super_Output_data).address_ + CONCAT44(extraout_var_01,iVar16));\n    (pRVar19->super_Object).name_.field_2._M_local_buf[8] = bVar6 | 1;\n    if (((pOVar27->super_Output_data).field_0x20 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n    }\n    if ((bVar6 & 4) != 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n    }\n    (pRVar19->super_Object).name_.field_2._M_allocated_capacity =\n         CONCAT44(extraout_var_01,iVar16) + (pOVar27->super_Output_data).offset_;\n    uVar15 = *(uint *)&(pRVar19->super_Object).compressed_sections_;\n    (pRVar19->super_Object).name_.field_2._M_local_buf[8] = bVar6 | 5;\n    if ((bVar6 & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    (pRVar19->super_Object).name_._M_string_length = (ulong)uVar15;\n    Arm_input_section<false>::set_final_data_size((Arm_input_section<false> *)pRVar19);\n    if (((pRVar19->super_Object).name_.field_2._M_local_buf[8] & 2U) == 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n    }\n    p_Var21 = (_Hash_node_base *)operator_new(0x28);\n    p_Var21->_M_nxt = (_Hash_node_base *)0x0;\n    uVar26 = (target->arm_input_section_map_)._M_h._M_bucket_count;\n    p_Var21[1]._M_nxt = (_Hash_node_base *)this_00;\n    p_Var21[2]._M_nxt = (_Hash_node_base *)CONCAT44(uStack_4c,uVar14);\n    p_Var21[3]._M_nxt = (_Hash_node_base *)pRVar19;\n    p_Var31 = (_Hash_node_base *)((ulong)this_00 ^ (ulong)*(uint *)&p_Var21[2]._M_nxt);\n    local_78 = (ulong)p_Var31 % uVar26;\n    local_58 = this_00;\n    uStack_50 = uVar14;\n    p_Var22 = std::\n              _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              ::_M_find_before_node\n                        ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                          *)&target->arm_input_section_map_,local_78,(key_type *)(p_Var21 + 1),\n                         (__hash_code)p_Var31);\n    if ((p_Var22 != (__node_base *)0x0) && (p_Var22->_M_nxt != (_Hash_node_base *)0x0)) {\n      operator_delete(p_Var21);\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }\n    cVar13 = std::__detail::_Prime_rehash_policy::_M_need_rehash\n                       (&(target->arm_input_section_map_)._M_h._M_rehash_policy,uVar26,\n                        (target->arm_input_section_map_)._M_h._M_element_count,1);\n    if (cVar13 == '\0') {\n      pp_Var23 = (target->arm_input_section_map_)._M_h._M_buckets;\n    }\n    else {\n      if (this_01 ==\n          (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n           *)0x1) {\n        pp_Var23 = &(target->arm_input_section_map_)._M_h._M_single_bucket;\n        (target->arm_input_section_map_)._M_h._M_single_bucket = (__bucket_type)0x0;\n      }\n      else {\n                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */\n        pp_Var23 = std::__detail::\n                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n                   ::_M_allocate_buckets(this_01,uVar26);\n      }\n      p_Var28 = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n      (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n      if (p_Var28 != (_Hash_node_base *)0x0) {\n        uVar26 = 0;\n        do {\n          while( true ) {\n            p_Var8 = p_Var28->_M_nxt;\n            uVar30 = (ulong)p_Var28[4]._M_nxt % (ulong)this_01;\n            pp_Var9 = pp_Var23 + uVar30;\n            if (*pp_Var9 == (__bucket_type)0x0) break;\n            p_Var28->_M_nxt = (*pp_Var9)->_M_nxt;\n            (*pp_Var9)->_M_nxt = p_Var28;\n            uVar30 = uVar26;\nLAB_0024831c:\n            p_Var28 = p_Var8;\n            uVar26 = uVar30;\n            if (p_Var8 == (_Hash_node_base *)0x0) goto LAB_00248370;\n          }\n          p_Var28->_M_nxt = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n          (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var28;\n          *pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin;\n          if (p_Var28->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0024831c;\n          pp_Var23[uVar26] = p_Var28;\n          p_Var28 = p_Var8;\n          uVar26 = uVar30;\n        } while (p_Var8 != (_Hash_node_base *)0x0);\n      }\nLAB_00248370:\n      pp_Var9 = (target->arm_input_section_map_)._M_h._M_buckets;\n      if (pp_Var9 != &(target->arm_input_section_map_)._M_h._M_single_bucket) {\n        operator_delete(pp_Var9);\n      }\n      (target->arm_input_section_map_)._M_h._M_bucket_count = (size_type)this_01;\n      local_78 = (ulong)p_Var31 % (ulong)this_01;\n      (target->arm_input_section_map_)._M_h._M_buckets = pp_Var23;\n    }\n    p_Var21[4]._M_nxt = p_Var31;\n    pp_Var9 = pp_Var23 + local_78;\n    if (*pp_Var9 == (__bucket_type)0x0) {\n      p_Var31 = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n      (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var21;\n      p_Var21->_M_nxt = p_Var31;\n      if (p_Var31 != (_Hash_node_base *)0x0) {\n        pp_Var23[(ulong)p_Var31[4]._M_nxt % (target->arm_input_section_map_)._M_h._M_bucket_count] =\n             p_Var21;\n      }\n      *pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin;\n    }\n    else {\n      p_Var21->_M_nxt = (*pp_Var9)->_M_nxt;\n      (*pp_Var9)->_M_nxt = p_Var21;\n    }\n    psVar4 = &(target->arm_input_section_map_)._M_h._M_element_count;\n    *psVar4 = *psVar4 + 1;\n    local_58 = pRVar19;\n                    /* try { // try from 00248644 to 00248648 has its CatchHandler @ 002489ce */\n    std::\n    vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n    ::emplace_back<gold::Output_relaxed_input_section*>\n              (new_relaxed_sections,(Output_relaxed_input_section **)&local_58);\n    pIVar7 = (pRVar18->super_Object).input_file_;\n    if (pIVar7 != (Input_file *)0x0) {\n      gold::File_read::unlock(&pIVar7->file_,task);\n    }\n  }\n  pSVar24 = (Stub_table<false> *)operator_new(0xd0);\n  (pSVar24->super_Output_data).address_ = 0;\n  (pSVar24->super_Output_data).data_size_ = 0;\n  (pSVar24->super_Output_data).offset_ = -1;\n  puVar2 = &(pSVar24->super_Output_data).field_0x20;\n  *puVar2 = *puVar2 & 0xe0;\n  (pSVar24->super_Output_data)._vptr_Output_data = (_func_int_varargs **)&PTR__Stub_table_00653e00;\n  (pSVar24->reloc_stubs_)._M_h._M_buckets = &(pSVar24->reloc_stubs_)._M_h._M_single_bucket;\n  p_Var5 = &(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header;\n  (pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_max_load_factor = 0.0;\n  *(undefined4 *)&(pSVar24->reloc_stubs_)._M_h._M_rehash_policy.field_0x4 = 0;\n  (pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_next_resize = 0;\n  pSVar24->owner_ = (Arm_input_section<false> *)pRVar19;\n  (pSVar24->reloc_stubs_)._M_h._M_single_bucket = (__bucket_type)0x0;\n  (pSVar24->reloc_stubs_)._M_h._M_bucket_count = 1;\n  (pSVar24->reloc_stubs_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (pSVar24->reloc_stubs_)._M_h._M_element_count = 0;\n  (pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_next_resize = 0;\n  pSVar24->reloc_stubs_size_ = 0;\n  pSVar24->reloc_stubs_addralign_ = 1;\n  (pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;\n  (pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent =\n       (_Base_ptr)0x0;\n  (pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_left =\n       &p_Var5->_M_header;\n  (pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_right =\n       &p_Var5->_M_header;\n  (pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;\n  (pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_start = (pointer)0x0;\n  (pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_finish = (pointer)0x0;\n  (pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;\n                    /* try { // try from 002484a6 to 002484aa has its CatchHandler @ 002489d6 */\n  ppAVar25 = (pointer)operator_new(0x78);\n  ppAVar3 = ppAVar25 + 0xf;\n  (pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_start = ppAVar25;\n  (pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_end_of_storage = ppAVar3;\n  do {\n    *ppAVar25 = (Arm_v4bx_stub *)0x0;\n    ppAVar25 = ppAVar25 + 1;\n  } while (ppAVar3 != ppAVar25);\n  (pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_finish = ppAVar3;\n  ppSVar10 = (target->stub_tables_).\n             super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n             ._M_impl._M_finish;\n  pSVar24->prev_data_size_ = 0;\n  pSVar24->prev_addralign_ = 1;\n  if (ppSVar10 !=\n      (target->stub_tables_).\n      super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n      ._M_impl._M_end_of_storage) {\n    *ppSVar10 = pSVar24;\n    (target->stub_tables_).\n    super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n    ._M_impl._M_finish = ppSVar10 + 1;\n    goto LAB_00248512;\n  }\n  __src = (target->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n          ._M_impl._M_start;\n  __n = (long)ppSVar10 - (long)__src;\n  uVar26 = (long)__n >> 3;\n  if (uVar26 == 0) {\n    uVar30 = 8;\nLAB_002486a6:\n    __dest = (pointer)operator_new(uVar30);\n    ppSVar32 = (pointer)(uVar30 + (long)__dest);\n  }\n  else {\n    uVar12 = uVar26 * 2;\n    uVar30 = 0xfffffffffffffff8;\n    if ((uVar12 < uVar26) || (0x1fffffffffffffff < uVar12)) goto LAB_002486a6;\n    if (uVar12 != 0) {\n      uVar30 = uVar26 << 4;\n      goto LAB_002486a6;\n    }\n    ppSVar32 = (pointer)0x0;\n    __dest = (pointer)0x0;\n  }\n  *(Stub_table<false> **)((long)__dest + __n) = pSVar24;\n  if (ppSVar10 == __src) {\n    if (__src != (pointer)0x0) goto LAB_002486f4;\n  }\n  else {\n    memmove(__dest,__src,__n);\nLAB_002486f4:\n    operator_delete(__src);\n  }\n  (target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n  ._M_impl._M_start = __dest;\n  (target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n  ._M_impl._M_end_of_storage = ppSVar32;\n  (target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n  ._M_impl._M_finish = (pointer)((long)__dest + __n + 8);\nLAB_00248512:\n  bVar6 = (pRVar19->super_Object).name_.field_2._M_local_buf[8];\n  if ((bVar6 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n  }\n  if ((bVar6 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n  }\n  sVar11 = (pRVar19->super_Object).name_._M_string_length;\n  bVar6 = (pSVar24->super_Output_data).field_0x20;\n  if ((bVar6 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n  }\n  (pSVar24->super_Output_data).address_ =\n       (uint64_t)((pRVar19->super_Object).name_._M_dataplus._M_p + sVar11);\n  (pSVar24->super_Output_data).field_0x20 = bVar6 | 1;\n  if (((pRVar19->super_Object).name_.field_2._M_local_buf[8] & 4U) == 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n  }\n  if ((bVar6 & 4) != 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n  }\n  (pSVar24->super_Output_data).offset_ =\n       sVar11 + (pRVar19->super_Object).name_.field_2._M_allocated_capacity;\n  (pSVar24->super_Output_data).field_0x20 = bVar6 | 5;\n  if (((bVar6 & 2) == 0) &&\n     ((*(pSVar24->super_Output_data)._vptr_Output_data[0xe])(pSVar24),\n     ((pSVar24->super_Output_data).field_0x20 & 2) == 0)) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n  }\n  (pRVar19->output_sections_).\n  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl._M_start\n       = (pointer)pSVar24;\n  do {\n    if (2 < (begin._M_current)->shndx_ + 3) {\n      pRVar19 = gold::Output_section::Input_section::relobj(begin._M_current);\n      uVar14 = gold::Output_section::Input_section::shndx(begin._M_current);\n      pIVar7 = pRVar19[3].super_Object.input_file_;\n      if ((ulong)(pRVar19[3].super_Object.offset_ - (long)pIVar7 >> 3) <= (ulong)uVar14) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      (&pIVar7->input_argument_)[uVar14] = (Input_file_argument *)pSVar24;\n    }\n    bVar33 = end._M_current != begin._M_current;\n    begin._M_current = begin._M_current + 1;\n  } while (bVar33);\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "anon_unknown.dwarf_9b9b16::Arm_output_section<false>::" identifier . identifier : : identifier < false > : :) (function_declarator "create_stub_group\n          (Arm_output_section<false> *this,const_iterator begin,const_iterator end,\n          const_iterator owner,Target_arm<false> *target,\n          vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n          *new_relaxed_sections,Task *task)" identifier (parameter_list "(Arm_output_section<false> *this,const_iterator begin,const_iterator end,\n          const_iterator owner,Target_arm<false> *target,\n          vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n          *new_relaxed_sections,Task *task)" ( (parameter_declaration "Arm_output_section<false> *this" type_identifier (ERROR "<false>" < false >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "const_iterator begin" type_identifier identifier) , (parameter_declaration "const_iterator end" type_identifier identifier) , (parameter_declaration "const_iterator owner" type_identifier identifier) , (parameter_declaration "Target_arm<false> *target" type_identifier (ERROR "<false>" < false >) (pointer_declarator "*target" * identifier)) , (parameter_declaration "vector<gold::Output_relaxed_input_section*" type_identifier (ERROR "<gold::Output_relaxed_input_section" < identifier : : identifier) (abstract_pointer_declarator "*" *)) , (parameter_declaration "_std::allocator<gold::Output_relaxed_input_section*>_>\n          *new_relaxed_sections" type_identifier (ERROR "::allocator<gold::Output_relaxed_input_section*>_>" : : identifier < identifier : : identifier * > identifier >) (pointer_declarator "*new_relaxed_sections" * identifier)) , (parameter_declaration "Task *task" type_identifier (pointer_declarator "*task" * identifier)) ))) (compound_statement "{\n  byte *pbVar1;\n  undefined1 *puVar2;\n  pointer ppAVar3;\n  size_type *psVar4;\n  _Rb_tree_header *p_Var5;\n  byte bVar6;\n  Input_file *pIVar7;\n  _Hash_node_base *p_Var8;\n  __bucket_type *pp_Var9;\n  pointer ppSVar10;\n  size_type sVar11;\n  pointer __src;\n  ulong uVar12;\n  char cVar13;\n  uint uVar14;\n  uint uVar15;\n  int iVar16;\n  int iVar17;\n  Relobj *pRVar18;\n  Relobj *this_00;\n  Relobj *pRVar19;\n  undefined4 extraout_var;\n  uchar *__src_00;\n  undefined4 extraout_var_00;\n  pointer ppOVar20;\n  undefined4 extraout_var_01;\n  _Hash_node_base *p_Var21;\n  __node_base *p_Var22;\n  __bucket_type *pp_Var23;\n  Stub_table<false> *pSVar24;\n  pointer ppAVar25;\n  ulong uVar26;\n  pointer __dest;\n  Output_section *pOVar27;\n  _Hash_node_base *p_Var28;\n  _func_int_varargs **pp_Var29;\n  _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n  *this_01;\n  ulong uVar30;\n  size_t __n;\n  _Hash_node_base *p_Var31;\n  pointer ppSVar32;\n  bool bVar33;\n  ulong local_78;\n  section_size_type section_size;\n  Relobj *local_58;\n  uint uStack_50;\n  undefined4 uStack_4c;\n  undefined4 extraout_var_02;\n  \n  if ((this->super_Output_section).type_ == 0x70000001) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/arm.cc",0x1680,"create_stub_group");\n  }\n  if ((owner._M_current)->shndx_ == 0xfffffffc) {\n    pRVar19 = ((owner._M_current)->u2_).object;\n  }\n  else {\n    if (0xfffffffb < (owner._M_current)->shndx_) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x1690,"create_stub_group");\n    }\n    pRVar18 = gold::Output_section::Input_section::relobj(owner._M_current);\n    pIVar7 = (pRVar18->super_Object).input_file_;\n    if (pIVar7 != (Input_file *)0x0) {\n      gold::File_read::lock(&pIVar7->file_,task);\n    }\n                    /* try { // try from 0024804a to 002482c6 has its CatchHandler @ 002489ce */\n    uVar14 = gold::Output_section::Input_section::shndx(owner._M_current);\n    this_00 = gold::Output_section::Input_section::relobj(owner._M_current);\n    pRVar19 = (Relobj *)operator_new(0x60);\n    pbVar1 = (byte *)((pRVar19->super_Object).name_.field_2._M_local_buf + 8);\n    *pbVar1 = *pbVar1 & 0xe0;\n    (pRVar19->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n    (pRVar19->super_Object).name_._M_string_length = 0;\n    (pRVar19->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n    (pRVar19->super_Object).input_file_ = (Input_file *)0x0;\n    (pRVar19->super_Object).offset_ = 1;\n    *(Relobj **)&(pRVar19->super_Object).shnum_ = this_00;\n    *(uint *)&(pRVar19->super_Object).xindex_ = uVar14;\n    (((Output_section_data_build *)&(pRVar19->super_Object)._vptr_Object)->super_Output_section_data\n    ).super_Output_data._vptr_Output_data = (_func_int_varargs **)&PTR__Arm_input_section_006670c0;\n    pp_Var29 = (this_00->super_Object)._vptr_Object;\n    *(undefined8 *)((long)&(pRVar19->super_Object).xindex_ + 4) = 1;\n    (pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_start = (pointer)0x0;\n    (pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    uVar15 = (*pp_Var29[0x17])(this_00,(ulong)uVar14);\n    if (CONCAT44(extraout_var,uVar15) != (ulong)uVar15) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(uint *)((long)&(pRVar19->super_Object).xindex_ + 4) = uVar15;\n    __src_00 = gold::Object::section_contents(&this_00->super_Object,uVar14,&section_size,false);\n    uVar15 = (*(this_00->super_Object)._vptr_Object[0xf])(this_00,(ulong)uVar14);\n    if (CONCAT44(extraout_var_00,uVar15) != (ulong)uVar15) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }\n    ppOVar20 = (pRVar19->output_sections_).\n               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n               _M_impl._M_finish;\n    *(uint *)&(pRVar19->super_Object).compressed_sections_ = uVar15;\n    if (ppOVar20 != (pointer)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002488e0 to 002489b0 has its CatchHandler @ 002489ce */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x14bf,"init");\n    }\n    ppOVar20 = (pointer)operator_new__(section_size);\n    (pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = ppOVar20;\n    memcpy(ppOVar20,__src_00,section_size);\n    pp_Var29 = (this_00->super_Object)._vptr_Object;\n    if (pp_Var29[0x18] == gold::Relobj::do_output_section) {\n      ppOVar20 = (this_00->output_sections_).\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                 _M_impl._M_start;\n      if ((ulong)((long)(this_00->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish - (long)ppOVar20 >> 3) <= (ulong)uVar14) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248868 to 0024886c has its CatchHandler @ 002489ce */\n        gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      pOVar27 = ppOVar20[uVar14];\n    }\n    else {\n                    /* try { // try from 00248736 to 00248737 has its CatchHandler @ 002489ce */\n      iVar16 = (*pp_Var29[0x18])(this_00,(ulong)uVar14);\n      pOVar27 = (Output_section *)CONCAT44(extraout_var_02,iVar16);\n      pp_Var29 = (this_00->super_Object)._vptr_Object;\n    }\n    iVar16 = (*pp_Var29[0x1a])(this_00,(ulong)uVar14);\n    if ((pOVar27 == (Output_section *)0x0) ||\n       (iVar17 = (*(this_00->super_Object)._vptr_Object[0x22])(this_00,(ulong)uVar14),\n       (char)iVar17 != '\0')) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248808 to 0024880c has its CatchHandler @ 002489ce */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x14c7,"init");\n    }\n    if (((pOVar27->super_Output_data).field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n    }\n    bVar6 = (pRVar19->super_Object).name_.field_2._M_local_buf[8];\n    if ((bVar6 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n    }\n    (pRVar19->super_Object).name_._M_dataplus._M_p =\n         (pointer)((pOVar27->super_Output_data).address_ + CONCAT44(extraout_var_01,iVar16));\n    (pRVar19->super_Object).name_.field_2._M_local_buf[8] = bVar6 | 1;\n    if (((pOVar27->super_Output_data).field_0x20 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n    }\n    if ((bVar6 & 4) != 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n    }\n    (pRVar19->super_Object).name_.field_2._M_allocated_capacity =\n         CONCAT44(extraout_var_01,iVar16) + (pOVar27->super_Output_data).offset_;\n    uVar15 = *(uint *)&(pRVar19->super_Object).compressed_sections_;\n    (pRVar19->super_Object).name_.field_2._M_local_buf[8] = bVar6 | 5;\n    if ((bVar6 & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    (pRVar19->super_Object).name_._M_string_length = (ulong)uVar15;\n    Arm_input_section<false>::set_final_data_size((Arm_input_section<false> *)pRVar19);\n    if (((pRVar19->super_Object).name_.field_2._M_local_buf[8] & 2U) == 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n    }\n    p_Var21 = (_Hash_node_base *)operator_new(0x28);\n    p_Var21->_M_nxt = (_Hash_node_base *)0x0;\n    uVar26 = (target->arm_input_section_map_)._M_h._M_bucket_count;\n    p_Var21[1]._M_nxt = (_Hash_node_base *)this_00;\n    p_Var21[2]._M_nxt = (_Hash_node_base *)CONCAT44(uStack_4c,uVar14);\n    p_Var21[3]._M_nxt = (_Hash_node_base *)pRVar19;\n    p_Var31 = (_Hash_node_base *)((ulong)this_00 ^ (ulong)*(uint *)&p_Var21[2]._M_nxt);\n    local_78 = (ulong)p_Var31 % uVar26;\n    local_58 = this_00;\n    uStack_50 = uVar14;\n    p_Var22 = std::\n              _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              ::_M_find_before_node\n                        ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                          *)&target->arm_input_section_map_,local_78,(key_type *)(p_Var21 + 1),\n                         (__hash_code)p_Var31);\n    if ((p_Var22 != (__node_base *)0x0) && (p_Var22->_M_nxt != (_Hash_node_base *)0x0)) {\n      operator_delete(p_Var21);\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }\n    cVar13 = std::__detail::_Prime_rehash_policy::_M_need_rehash\n                       (&(target->arm_input_section_map_)._M_h._M_rehash_policy,uVar26,\n                        (target->arm_input_section_map_)._M_h._M_element_count,1);\n    if (cVar13 == '\0') {\n      pp_Var23 = (target->arm_input_section_map_)._M_h._M_buckets;\n    }\n    else {\n      if (this_01 ==\n          (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n           *)0x1) {\n        pp_Var23 = &(target->arm_input_section_map_)._M_h._M_single_bucket;\n        (target->arm_input_section_map_)._M_h._M_single_bucket = (__bucket_type)0x0;\n      }\n      else {\n                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */\n        pp_Var23 = std::__detail::\n                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n                   ::_M_allocate_buckets(this_01,uVar26);\n      }\n      p_Var28 = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n      (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n      if (p_Var28 != (_Hash_node_base *)0x0) {\n        uVar26 = 0;\n        do {\n          while( true ) {\n            p_Var8 = p_Var28->_M_nxt;\n            uVar30 = (ulong)p_Var28[4]._M_nxt % (ulong)this_01;\n            pp_Var9 = pp_Var23 + uVar30;\n            if (*pp_Var9 == (__bucket_type)0x0) break;\n            p_Var28->_M_nxt = (*pp_Var9)->_M_nxt;\n            (*pp_Var9)->_M_nxt = p_Var28;\n            uVar30 = uVar26;\nLAB_0024831c:\n            p_Var28 = p_Var8;\n            uVar26 = uVar30;\n            if (p_Var8 == (_Hash_node_base *)0x0) goto LAB_00248370;\n          }\n          p_Var28->_M_nxt = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n          (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var28;\n          *pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin;\n          if (p_Var28->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0024831c;\n          pp_Var23[uVar26] = p_Var28;\n          p_Var28 = p_Var8;\n          uVar26 = uVar30;\n        } while (p_Var8 != (_Hash_node_base *)0x0);\n      }\nLAB_00248370:\n      pp_Var9 = (target->arm_input_section_map_)._M_h._M_buckets;\n      if (pp_Var9 != &(target->arm_input_section_map_)._M_h._M_single_bucket) {\n        operator_delete(pp_Var9);\n      }\n      (target->arm_input_section_map_)._M_h._M_bucket_count = (size_type)this_01;\n      local_78 = (ulong)p_Var31 % (ulong)this_01;\n      (target->arm_input_section_map_)._M_h._M_buckets = pp_Var23;\n    }\n    p_Var21[4]._M_nxt = p_Var31;\n    pp_Var9 = pp_Var23 + local_78;\n    if (*pp_Var9 == (__bucket_type)0x0) {\n      p_Var31 = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n      (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var21;\n      p_Var21->_M_nxt = p_Var31;\n      if (p_Var31 != (_Hash_node_base *)0x0) {\n        pp_Var23[(ulong)p_Var31[4]._M_nxt % (target->arm_input_section_map_)._M_h._M_bucket_count] =\n             p_Var21;\n      }\n      *pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin;\n    }\n    else {\n      p_Var21->_M_nxt = (*pp_Var9)->_M_nxt;\n      (*pp_Var9)->_M_nxt = p_Var21;\n    }\n    psVar4 = &(target->arm_input_section_map_)._M_h._M_element_count;\n    *psVar4 = *psVar4 + 1;\n    local_58 = pRVar19;\n                    /* try { // try from 00248644 to 00248648 has its CatchHandler @ 002489ce */\n    std::\n    vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n    ::emplace_back<gold::Output_relaxed_input_section*>\n              (new_relaxed_sections,(Output_relaxed_input_section **)&local_58);\n    pIVar7 = (pRVar18->super_Object).input_file_;\n    if (pIVar7 != (Input_file *)0x0) {\n      gold::File_read::unlock(&pIVar7->file_,task);\n    }\n  }\n  pSVar24 = (Stub_table<false> *)operator_new(0xd0);\n  (pSVar24->super_Output_data).address_ = 0;\n  (pSVar24->super_Output_data).data_size_ = 0;\n  (pSVar24->super_Output_data).offset_ = -1;\n  puVar2 = &(pSVar24->super_Output_data).field_0x20;\n  *puVar2 = *puVar2 & 0xe0;\n  (pSVar24->super_Output_data)._vptr_Output_data = (_func_int_varargs **)&PTR__Stub_table_00653e00;\n  (pSVar24->reloc_stubs_)._M_h._M_buckets = &(pSVar24->reloc_stubs_)._M_h._M_single_bucket;\n  p_Var5 = &(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header;\n  (pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_max_load_factor = 0.0;\n  *(undefined4 *)&(pSVar24->reloc_stubs_)._M_h._M_rehash_policy.field_0x4 = 0;\n  (pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_next_resize = 0;\n  pSVar24->owner_ = (Arm_input_section<false> *)pRVar19;\n  (pSVar24->reloc_stubs_)._M_h._M_single_bucket = (__bucket_type)0x0;\n  (pSVar24->reloc_stubs_)._M_h._M_bucket_count = 1;\n  (pSVar24->reloc_stubs_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n  (pSVar24->reloc_stubs_)._M_h._M_element_count = 0;\n  (pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;\n  (pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_next_resize = 0;\n  pSVar24->reloc_stubs_size_ = 0;\n  pSVar24->reloc_stubs_addralign_ = 1;\n  (pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;\n  (pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent =\n       (_Base_ptr)0x0;\n  (pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_left =\n       &p_Var5->_M_header;\n  (pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_right =\n       &p_Var5->_M_header;\n  (pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;\n  (pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_start = (pointer)0x0;\n  (pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_finish = (pointer)0x0;\n  (pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;\n                    /* try { // try from 002484a6 to 002484aa has its CatchHandler @ 002489d6 */\n  ppAVar25 = (pointer)operator_new(0x78);\n  ppAVar3 = ppAVar25 + 0xf;\n  (pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_start = ppAVar25;\n  (pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_end_of_storage = ppAVar3;\n  do {\n    *ppAVar25 = (Arm_v4bx_stub *)0x0;\n    ppAVar25 = ppAVar25 + 1;\n  } while (ppAVar3 != ppAVar25);\n  (pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_finish = ppAVar3;\n  ppSVar10 = (target->stub_tables_).\n             super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n             ._M_impl._M_finish;\n  pSVar24->prev_data_size_ = 0;\n  pSVar24->prev_addralign_ = 1;\n  if (ppSVar10 !=\n      (target->stub_tables_).\n      super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n      ._M_impl._M_end_of_storage) {\n    *ppSVar10 = pSVar24;\n    (target->stub_tables_).\n    super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n    ._M_impl._M_finish = ppSVar10 + 1;\n    goto LAB_00248512;\n  }\n  __src = (target->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n          ._M_impl._M_start;\n  __n = (long)ppSVar10 - (long)__src;\n  uVar26 = (long)__n >> 3;\n  if (uVar26 == 0) {\n    uVar30 = 8;\nLAB_002486a6:\n    __dest = (pointer)operator_new(uVar30);\n    ppSVar32 = (pointer)(uVar30 + (long)__dest);\n  }\n  else {\n    uVar12 = uVar26 * 2;\n    uVar30 = 0xfffffffffffffff8;\n    if ((uVar12 < uVar26) || (0x1fffffffffffffff < uVar12)) goto LAB_002486a6;\n    if (uVar12 != 0) {\n      uVar30 = uVar26 << 4;\n      goto LAB_002486a6;\n    }\n    ppSVar32 = (pointer)0x0;\n    __dest = (pointer)0x0;\n  }\n  *(Stub_table<false> **)((long)__dest + __n) = pSVar24;\n  if (ppSVar10 == __src) {\n    if (__src != (pointer)0x0) goto LAB_002486f4;\n  }\n  else {\n    memmove(__dest,__src,__n);\nLAB_002486f4:\n    operator_delete(__src);\n  }\n  (target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n  ._M_impl._M_start = __dest;\n  (target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n  ._M_impl._M_end_of_storage = ppSVar32;\n  (target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n  ._M_impl._M_finish = (pointer)((long)__dest + __n + 8);\nLAB_00248512:\n  bVar6 = (pRVar19->super_Object).name_.field_2._M_local_buf[8];\n  if ((bVar6 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n  }\n  if ((bVar6 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n  }\n  sVar11 = (pRVar19->super_Object).name_._M_string_length;\n  bVar6 = (pSVar24->super_Output_data).field_0x20;\n  if ((bVar6 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n  }\n  (pSVar24->super_Output_data).address_ =\n       (uint64_t)((pRVar19->super_Object).name_._M_dataplus._M_p + sVar11);\n  (pSVar24->super_Output_data).field_0x20 = bVar6 | 1;\n  if (((pRVar19->super_Object).name_.field_2._M_local_buf[8] & 4U) == 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n  }\n  if ((bVar6 & 4) != 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n  }\n  (pSVar24->super_Output_data).offset_ =\n       sVar11 + (pRVar19->super_Object).name_.field_2._M_allocated_capacity;\n  (pSVar24->super_Output_data).field_0x20 = bVar6 | 5;\n  if (((bVar6 & 2) == 0) &&\n     ((*(pSVar24->super_Output_data)._vptr_Output_data[0xe])(pSVar24),\n     ((pSVar24->super_Output_data).field_0x20 & 2) == 0)) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n  }\n  (pRVar19->output_sections_).\n  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl._M_start\n       = (pointer)pSVar24;\n  do {\n    if (2 < (begin._M_current)->shndx_ + 3) {\n      pRVar19 = gold::Output_section::Input_section::relobj(begin._M_current);\n      uVar14 = gold::Output_section::Input_section::shndx(begin._M_current);\n      pIVar7 = pRVar19[3].super_Object.input_file_;\n      if ((ulong)(pRVar19[3].super_Object.offset_ - (long)pIVar7 >> 3) <= (ulong)uVar14) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      (&pIVar7->input_argument_)[uVar14] = (Input_file_argument *)pSVar24;\n    }\n    bVar33 = end._M_current != begin._M_current;\n    begin._M_current = begin._M_current + 1;\n  } while (bVar33);\n  return;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "undefined1 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "pointer ppAVar3;" type_identifier identifier ;) (declaration "size_type *psVar4;" type_identifier (pointer_declarator "*psVar4" * identifier) ;) (declaration "_Rb_tree_header *p_Var5;" type_identifier (pointer_declarator "*p_Var5" * identifier) ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "Input_file *pIVar7;" type_identifier (pointer_declarator "*pIVar7" * identifier) ;) (declaration "_Hash_node_base *p_Var8;" type_identifier (pointer_declarator "*p_Var8" * identifier) ;) (declaration "__bucket_type *pp_Var9;" type_identifier (pointer_declarator "*pp_Var9" * identifier) ;) (declaration "pointer ppSVar10;" type_identifier identifier ;) (declaration "size_type sVar11;" type_identifier identifier ;) (declaration "pointer __src;" type_identifier identifier ;) (declaration "ulong uVar12;" type_identifier identifier ;) (declaration "char cVar13;" primitive_type identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "Relobj *pRVar18;" type_identifier (pointer_declarator "*pRVar18" * identifier) ;) (declaration "Relobj *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "Relobj *pRVar19;" type_identifier (pointer_declarator "*pRVar19" * identifier) ;) (declaration "undefined4 extraout_var;" type_identifier identifier ;) (declaration "uchar *__src_00;" type_identifier (pointer_declarator "*__src_00" * identifier) ;) (declaration "undefined4 extraout_var_00;" type_identifier identifier ;) (declaration "pointer ppOVar20;" type_identifier identifier ;) (declaration "undefined4 extraout_var_01;" type_identifier identifier ;) (declaration "_Hash_node_base *p_Var21;" type_identifier (pointer_declarator "*p_Var21" * identifier) ;) (declaration "__node_base *p_Var22;" type_identifier (pointer_declarator "*p_Var22" * identifier) ;) (declaration "__bucket_type *pp_Var23;" type_identifier (pointer_declarator "*pp_Var23" * identifier) ;) (expression_statement "Stub_table<false> *pSVar24;" (binary_expression "Stub_table<false> *pSVar24" (binary_expression "Stub_table<false" identifier < false) > (pointer_expression "*pSVar24" * identifier)) ;) (declaration "pointer ppAVar25;" type_identifier identifier ;) (declaration "ulong uVar26;" type_identifier identifier ;) (declaration "pointer __dest;" type_identifier identifier ;) (declaration "Output_section *pOVar27;" type_identifier (pointer_declarator "*pOVar27" * identifier) ;) (declaration "_Hash_node_base *p_Var28;" type_identifier (pointer_declarator "*p_Var28" * identifier) ;) (declaration "_func_int_varargs **pp_Var29;" type_identifier (pointer_declarator "**pp_Var29" * (pointer_declarator "*pp_Var29" * identifier)) ;) (ERROR "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::" (binary_expression "_Hashtable_alloc<std::allocator<std" (binary_expression "_Hashtable_alloc<std" identifier < identifier) (ERROR "::allocator" : : identifier) < identifier) : : (comma_expression "__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)" identifier (ERROR "::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "_Hash_node<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : :) (expression_statement "Arm_input_section<true>*>,_true>_>_>\n  *this_01;" (binary_expression "Arm_input_section<true>*>,_true>_>_>\n  *this_01" (binary_expression "Arm_input_section<true>*>,_true>_>_" (binary_expression "Arm_input_section<true>*>,_true>_" (binary_expression "Arm_input_section<true>*>,_true" (binary_expression "Arm_input_section<true" identifier < true) > (pointer_expression "*>,_true" * (ERROR ">," > ,) identifier)) > identifier) > identifier) > (pointer_expression "*this_01" * identifier)) ;) (declaration "ulong uVar30;" type_identifier identifier ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "_Hash_node_base *p_Var31;" type_identifier (pointer_declarator "*p_Var31" * identifier) ;) (declaration "pointer ppSVar32;" type_identifier identifier ;) (declaration "bool bVar33;" primitive_type identifier ;) (declaration "ulong local_78;" type_identifier identifier ;) (declaration "section_size_type section_size;" type_identifier identifier ;) (declaration "Relobj *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "uint uStack_50;" type_identifier identifier ;) (declaration "undefined4 uStack_4c;" type_identifier identifier ;) (declaration "undefined4 extraout_var_02;" type_identifier identifier ;) (if_statement "if ((this->super_Output_section).type_ == 0x70000001) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/arm.cc",0x1680,"create_stub_group");\n  }" if (parenthesized_expression "((this->super_Output_section).type_ == 0x70000001)" ( (binary_expression "(this->super_Output_section).type_ == 0x70000001" (field_expression "(this->super_Output_section).type_" (parenthesized_expression "(this->super_Output_section)" ( (field_expression "this->super_Output_section" identifier -> field_identifier) )) . field_identifier) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/arm.cc",0x1680,"create_stub_group");\n  }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/arm.cc",0x1680,"create_stub_group");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/arm.cc",0x1680,"create_stub_group");" (call_expression "do_gold_unreachable("../../gold/arm.cc",0x1680,"create_stub_group")" identifier (argument_list "("../../gold/arm.cc",0x1680,"create_stub_group")" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""create_stub_group"" " string_content ") ))) ;)) })) (if_statement "if ((owner._M_current)->shndx_ == 0xfffffffc) {\n    pRVar19 = ((owner._M_current)->u2_).object;\n  }\n  else {\n    if (0xfffffffb < (owner._M_current)->shndx_) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x1690,"create_stub_group");\n    }\n    pRVar18 = gold::Output_section::Input_section::relobj(owner._M_current);\n    pIVar7 = (pRVar18->super_Object).input_file_;\n    if (pIVar7 != (Input_file *)0x0) {\n      gold::File_read::lock(&pIVar7->file_,task);\n    }\n                    /* try { // try from 0024804a to 002482c6 has its CatchHandler @ 002489ce */\n    uVar14 = gold::Output_section::Input_section::shndx(owner._M_current);\n    this_00 = gold::Output_section::Input_section::relobj(owner._M_current);\n    pRVar19 = (Relobj *)operator_new(0x60);\n    pbVar1 = (byte *)((pRVar19->super_Object).name_.field_2._M_local_buf + 8);\n    *pbVar1 = *pbVar1 & 0xe0;\n    (pRVar19->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n    (pRVar19->super_Object).name_._M_string_length = 0;\n    (pRVar19->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n    (pRVar19->super_Object).input_file_ = (Input_file *)0x0;\n    (pRVar19->super_Object).offset_ = 1;\n    *(Relobj **)&(pRVar19->super_Object).shnum_ = this_00;\n    *(uint *)&(pRVar19->super_Object).xindex_ = uVar14;\n    (((Output_section_data_build *)&(pRVar19->super_Object)._vptr_Object)->super_Output_section_data\n    ).super_Output_data._vptr_Output_data = (_func_int_varargs **)&PTR__Arm_input_section_006670c0;\n    pp_Var29 = (this_00->super_Object)._vptr_Object;\n    *(undefined8 *)((long)&(pRVar19->super_Object).xindex_ + 4) = 1;\n    (pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_start = (pointer)0x0;\n    (pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    uVar15 = (*pp_Var29[0x17])(this_00,(ulong)uVar14);\n    if (CONCAT44(extraout_var,uVar15) != (ulong)uVar15) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(uint *)((long)&(pRVar19->super_Object).xindex_ + 4) = uVar15;\n    __src_00 = gold::Object::section_contents(&this_00->super_Object,uVar14,&section_size,false);\n    uVar15 = (*(this_00->super_Object)._vptr_Object[0xf])(this_00,(ulong)uVar14);\n    if (CONCAT44(extraout_var_00,uVar15) != (ulong)uVar15) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }\n    ppOVar20 = (pRVar19->output_sections_).\n               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n               _M_impl._M_finish;\n    *(uint *)&(pRVar19->super_Object).compressed_sections_ = uVar15;\n    if (ppOVar20 != (pointer)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002488e0 to 002489b0 has its CatchHandler @ 002489ce */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x14bf,"init");\n    }\n    ppOVar20 = (pointer)operator_new__(section_size);\n    (pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = ppOVar20;\n    memcpy(ppOVar20,__src_00,section_size);\n    pp_Var29 = (this_00->super_Object)._vptr_Object;\n    if (pp_Var29[0x18] == gold::Relobj::do_output_section) {\n      ppOVar20 = (this_00->output_sections_).\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                 _M_impl._M_start;\n      if ((ulong)((long)(this_00->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish - (long)ppOVar20 >> 3) <= (ulong)uVar14) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248868 to 0024886c has its CatchHandler @ 002489ce */\n        gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      pOVar27 = ppOVar20[uVar14];\n    }\n    else {\n                    /* try { // try from 00248736 to 00248737 has its CatchHandler @ 002489ce */\n      iVar16 = (*pp_Var29[0x18])(this_00,(ulong)uVar14);\n      pOVar27 = (Output_section *)CONCAT44(extraout_var_02,iVar16);\n      pp_Var29 = (this_00->super_Object)._vptr_Object;\n    }\n    iVar16 = (*pp_Var29[0x1a])(this_00,(ulong)uVar14);\n    if ((pOVar27 == (Output_section *)0x0) ||\n       (iVar17 = (*(this_00->super_Object)._vptr_Object[0x22])(this_00,(ulong)uVar14),\n       (char)iVar17 != '\0')) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248808 to 0024880c has its CatchHandler @ 002489ce */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x14c7,"init");\n    }\n    if (((pOVar27->super_Output_data).field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n    }\n    bVar6 = (pRVar19->super_Object).name_.field_2._M_local_buf[8];\n    if ((bVar6 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n    }\n    (pRVar19->super_Object).name_._M_dataplus._M_p =\n         (pointer)((pOVar27->super_Output_data).address_ + CONCAT44(extraout_var_01,iVar16));\n    (pRVar19->super_Object).name_.field_2._M_local_buf[8] = bVar6 | 1;\n    if (((pOVar27->super_Output_data).field_0x20 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n    }\n    if ((bVar6 & 4) != 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n    }\n    (pRVar19->super_Object).name_.field_2._M_allocated_capacity =\n         CONCAT44(extraout_var_01,iVar16) + (pOVar27->super_Output_data).offset_;\n    uVar15 = *(uint *)&(pRVar19->super_Object).compressed_sections_;\n    (pRVar19->super_Object).name_.field_2._M_local_buf[8] = bVar6 | 5;\n    if ((bVar6 & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    (pRVar19->super_Object).name_._M_string_length = (ulong)uVar15;\n    Arm_input_section<false>::set_final_data_size((Arm_input_section<false> *)pRVar19);\n    if (((pRVar19->super_Object).name_.field_2._M_local_buf[8] & 2U) == 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n    }\n    p_Var21 = (_Hash_node_base *)operator_new(0x28);\n    p_Var21->_M_nxt = (_Hash_node_base *)0x0;\n    uVar26 = (target->arm_input_section_map_)._M_h._M_bucket_count;\n    p_Var21[1]._M_nxt = (_Hash_node_base *)this_00;\n    p_Var21[2]._M_nxt = (_Hash_node_base *)CONCAT44(uStack_4c,uVar14);\n    p_Var21[3]._M_nxt = (_Hash_node_base *)pRVar19;\n    p_Var31 = (_Hash_node_base *)((ulong)this_00 ^ (ulong)*(uint *)&p_Var21[2]._M_nxt);\n    local_78 = (ulong)p_Var31 % uVar26;\n    local_58 = this_00;\n    uStack_50 = uVar14;\n    p_Var22 = std::\n              _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              ::_M_find_before_node\n                        ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                          *)&target->arm_input_section_map_,local_78,(key_type *)(p_Var21 + 1),\n                         (__hash_code)p_Var31);\n    if ((p_Var22 != (__node_base *)0x0) && (p_Var22->_M_nxt != (_Hash_node_base *)0x0)) {\n      operator_delete(p_Var21);\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }\n    cVar13 = std::__detail::_Prime_rehash_policy::_M_need_rehash\n                       (&(target->arm_input_section_map_)._M_h._M_rehash_policy,uVar26,\n                        (target->arm_input_section_map_)._M_h._M_element_count,1);\n    if (cVar13 == '\0') {\n      pp_Var23 = (target->arm_input_section_map_)._M_h._M_buckets;\n    }\n    else {\n      if (this_01 ==\n          (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n           *)0x1) {\n        pp_Var23 = &(target->arm_input_section_map_)._M_h._M_single_bucket;\n        (target->arm_input_section_map_)._M_h._M_single_bucket = (__bucket_type)0x0;\n      }\n      else {\n                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */\n        pp_Var23 = std::__detail::\n                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n                   ::_M_allocate_buckets(this_01,uVar26);\n      }\n      p_Var28 = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n      (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n      if (p_Var28 != (_Hash_node_base *)0x0) {\n        uVar26 = 0;\n        do {\n          while( true ) {\n            p_Var8 = p_Var28->_M_nxt;\n            uVar30 = (ulong)p_Var28[4]._M_nxt % (ulong)this_01;\n            pp_Var9 = pp_Var23 + uVar30;\n            if (*pp_Var9 == (__bucket_type)0x0) break;\n            p_Var28->_M_nxt = (*pp_Var9)->_M_nxt;\n            (*pp_Var9)->_M_nxt = p_Var28;\n            uVar30 = uVar26;\nLAB_0024831c:\n            p_Var28 = p_Var8;\n            uVar26 = uVar30;\n            if (p_Var8 == (_Hash_node_base *)0x0) goto LAB_00248370;\n          }\n          p_Var28->_M_nxt = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n          (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var28;\n          *pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin;\n          if (p_Var28->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0024831c;\n          pp_Var23[uVar26] = p_Var28;\n          p_Var28 = p_Var8;\n          uVar26 = uVar30;\n        } while (p_Var8 != (_Hash_node_base *)0x0);\n      }\nLAB_00248370:\n      pp_Var9 = (target->arm_input_section_map_)._M_h._M_buckets;\n      if (pp_Var9 != &(target->arm_input_section_map_)._M_h._M_single_bucket) {\n        operator_delete(pp_Var9);\n      }\n      (target->arm_input_section_map_)._M_h._M_bucket_count = (size_type)this_01;\n      local_78 = (ulong)p_Var31 % (ulong)this_01;\n      (target->arm_input_section_map_)._M_h._M_buckets = pp_Var23;\n    }\n    p_Var21[4]._M_nxt = p_Var31;\n    pp_Var9 = pp_Var23 + local_78;\n    if (*pp_Var9 == (__bucket_type)0x0) {\n      p_Var31 = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n      (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var21;\n      p_Var21->_M_nxt = p_Var31;\n      if (p_Var31 != (_Hash_node_base *)0x0) {\n        pp_Var23[(ulong)p_Var31[4]._M_nxt % (target->arm_input_section_map_)._M_h._M_bucket_count] =\n             p_Var21;\n      }\n      *pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin;\n    }\n    else {\n      p_Var21->_M_nxt = (*pp_Var9)->_M_nxt;\n      (*pp_Var9)->_M_nxt = p_Var21;\n    }\n    psVar4 = &(target->arm_input_section_map_)._M_h._M_element_count;\n    *psVar4 = *psVar4 + 1;\n    local_58 = pRVar19;\n                    /* try { // try from 00248644 to 00248648 has its CatchHandler @ 002489ce */\n    std::\n    vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n    ::emplace_back<gold::Output_relaxed_input_section*>\n              (new_relaxed_sections,(Output_relaxed_input_section **)&local_58);\n    pIVar7 = (pRVar18->super_Object).input_file_;\n    if (pIVar7 != (Input_file *)0x0) {\n      gold::File_read::unlock(&pIVar7->file_,task);\n    }\n  }" if (parenthesized_expression "((owner._M_current)->shndx_ == 0xfffffffc)" ( (binary_expression "(owner._M_current)->shndx_ == 0xfffffffc" (field_expression "(owner._M_current)->shndx_" (parenthesized_expression "(owner._M_current)" ( (field_expression "owner._M_current" identifier . field_identifier) )) -> field_identifier) == number_literal) )) (compound_statement "{\n    pRVar19 = ((owner._M_current)->u2_).object;\n  }" { (expression_statement "pRVar19 = ((owner._M_current)->u2_).object;" (assignment_expression "pRVar19 = ((owner._M_current)->u2_).object" identifier = (field_expression "((owner._M_current)->u2_).object" (parenthesized_expression "((owner._M_current)->u2_)" ( (field_expression "(owner._M_current)->u2_" (parenthesized_expression "(owner._M_current)" ( (field_expression "owner._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)) ;) }) (else_clause "else {\n    if (0xfffffffb < (owner._M_current)->shndx_) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x1690,"create_stub_group");\n    }\n    pRVar18 = gold::Output_section::Input_section::relobj(owner._M_current);\n    pIVar7 = (pRVar18->super_Object).input_file_;\n    if (pIVar7 != (Input_file *)0x0) {\n      gold::File_read::lock(&pIVar7->file_,task);\n    }\n                    /* try { // try from 0024804a to 002482c6 has its CatchHandler @ 002489ce */\n    uVar14 = gold::Output_section::Input_section::shndx(owner._M_current);\n    this_00 = gold::Output_section::Input_section::relobj(owner._M_current);\n    pRVar19 = (Relobj *)operator_new(0x60);\n    pbVar1 = (byte *)((pRVar19->super_Object).name_.field_2._M_local_buf + 8);\n    *pbVar1 = *pbVar1 & 0xe0;\n    (pRVar19->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n    (pRVar19->super_Object).name_._M_string_length = 0;\n    (pRVar19->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n    (pRVar19->super_Object).input_file_ = (Input_file *)0x0;\n    (pRVar19->super_Object).offset_ = 1;\n    *(Relobj **)&(pRVar19->super_Object).shnum_ = this_00;\n    *(uint *)&(pRVar19->super_Object).xindex_ = uVar14;\n    (((Output_section_data_build *)&(pRVar19->super_Object)._vptr_Object)->super_Output_section_data\n    ).super_Output_data._vptr_Output_data = (_func_int_varargs **)&PTR__Arm_input_section_006670c0;\n    pp_Var29 = (this_00->super_Object)._vptr_Object;\n    *(undefined8 *)((long)&(pRVar19->super_Object).xindex_ + 4) = 1;\n    (pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_start = (pointer)0x0;\n    (pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    uVar15 = (*pp_Var29[0x17])(this_00,(ulong)uVar14);\n    if (CONCAT44(extraout_var,uVar15) != (ulong)uVar15) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(uint *)((long)&(pRVar19->super_Object).xindex_ + 4) = uVar15;\n    __src_00 = gold::Object::section_contents(&this_00->super_Object,uVar14,&section_size,false);\n    uVar15 = (*(this_00->super_Object)._vptr_Object[0xf])(this_00,(ulong)uVar14);\n    if (CONCAT44(extraout_var_00,uVar15) != (ulong)uVar15) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }\n    ppOVar20 = (pRVar19->output_sections_).\n               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n               _M_impl._M_finish;\n    *(uint *)&(pRVar19->super_Object).compressed_sections_ = uVar15;\n    if (ppOVar20 != (pointer)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002488e0 to 002489b0 has its CatchHandler @ 002489ce */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x14bf,"init");\n    }\n    ppOVar20 = (pointer)operator_new__(section_size);\n    (pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = ppOVar20;\n    memcpy(ppOVar20,__src_00,section_size);\n    pp_Var29 = (this_00->super_Object)._vptr_Object;\n    if (pp_Var29[0x18] == gold::Relobj::do_output_section) {\n      ppOVar20 = (this_00->output_sections_).\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                 _M_impl._M_start;\n      if ((ulong)((long)(this_00->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish - (long)ppOVar20 >> 3) <= (ulong)uVar14) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248868 to 0024886c has its CatchHandler @ 002489ce */\n        gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      pOVar27 = ppOVar20[uVar14];\n    }\n    else {\n                    /* try { // try from 00248736 to 00248737 has its CatchHandler @ 002489ce */\n      iVar16 = (*pp_Var29[0x18])(this_00,(ulong)uVar14);\n      pOVar27 = (Output_section *)CONCAT44(extraout_var_02,iVar16);\n      pp_Var29 = (this_00->super_Object)._vptr_Object;\n    }\n    iVar16 = (*pp_Var29[0x1a])(this_00,(ulong)uVar14);\n    if ((pOVar27 == (Output_section *)0x0) ||\n       (iVar17 = (*(this_00->super_Object)._vptr_Object[0x22])(this_00,(ulong)uVar14),\n       (char)iVar17 != '\0')) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248808 to 0024880c has its CatchHandler @ 002489ce */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x14c7,"init");\n    }\n    if (((pOVar27->super_Output_data).field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n    }\n    bVar6 = (pRVar19->super_Object).name_.field_2._M_local_buf[8];\n    if ((bVar6 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n    }\n    (pRVar19->super_Object).name_._M_dataplus._M_p =\n         (pointer)((pOVar27->super_Output_data).address_ + CONCAT44(extraout_var_01,iVar16));\n    (pRVar19->super_Object).name_.field_2._M_local_buf[8] = bVar6 | 1;\n    if (((pOVar27->super_Output_data).field_0x20 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n    }\n    if ((bVar6 & 4) != 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n    }\n    (pRVar19->super_Object).name_.field_2._M_allocated_capacity =\n         CONCAT44(extraout_var_01,iVar16) + (pOVar27->super_Output_data).offset_;\n    uVar15 = *(uint *)&(pRVar19->super_Object).compressed_sections_;\n    (pRVar19->super_Object).name_.field_2._M_local_buf[8] = bVar6 | 5;\n    if ((bVar6 & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    (pRVar19->super_Object).name_._M_string_length = (ulong)uVar15;\n    Arm_input_section<false>::set_final_data_size((Arm_input_section<false> *)pRVar19);\n    if (((pRVar19->super_Object).name_.field_2._M_local_buf[8] & 2U) == 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n    }\n    p_Var21 = (_Hash_node_base *)operator_new(0x28);\n    p_Var21->_M_nxt = (_Hash_node_base *)0x0;\n    uVar26 = (target->arm_input_section_map_)._M_h._M_bucket_count;\n    p_Var21[1]._M_nxt = (_Hash_node_base *)this_00;\n    p_Var21[2]._M_nxt = (_Hash_node_base *)CONCAT44(uStack_4c,uVar14);\n    p_Var21[3]._M_nxt = (_Hash_node_base *)pRVar19;\n    p_Var31 = (_Hash_node_base *)((ulong)this_00 ^ (ulong)*(uint *)&p_Var21[2]._M_nxt);\n    local_78 = (ulong)p_Var31 % uVar26;\n    local_58 = this_00;\n    uStack_50 = uVar14;\n    p_Var22 = std::\n              _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              ::_M_find_before_node\n                        ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                          *)&target->arm_input_section_map_,local_78,(key_type *)(p_Var21 + 1),\n                         (__hash_code)p_Var31);\n    if ((p_Var22 != (__node_base *)0x0) && (p_Var22->_M_nxt != (_Hash_node_base *)0x0)) {\n      operator_delete(p_Var21);\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }\n    cVar13 = std::__detail::_Prime_rehash_policy::_M_need_rehash\n                       (&(target->arm_input_section_map_)._M_h._M_rehash_policy,uVar26,\n                        (target->arm_input_section_map_)._M_h._M_element_count,1);\n    if (cVar13 == '\0') {\n      pp_Var23 = (target->arm_input_section_map_)._M_h._M_buckets;\n    }\n    else {\n      if (this_01 ==\n          (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n           *)0x1) {\n        pp_Var23 = &(target->arm_input_section_map_)._M_h._M_single_bucket;\n        (target->arm_input_section_map_)._M_h._M_single_bucket = (__bucket_type)0x0;\n      }\n      else {\n                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */\n        pp_Var23 = std::__detail::\n                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n                   ::_M_allocate_buckets(this_01,uVar26);\n      }\n      p_Var28 = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n      (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n      if (p_Var28 != (_Hash_node_base *)0x0) {\n        uVar26 = 0;\n        do {\n          while( true ) {\n            p_Var8 = p_Var28->_M_nxt;\n            uVar30 = (ulong)p_Var28[4]._M_nxt % (ulong)this_01;\n            pp_Var9 = pp_Var23 + uVar30;\n            if (*pp_Var9 == (__bucket_type)0x0) break;\n            p_Var28->_M_nxt = (*pp_Var9)->_M_nxt;\n            (*pp_Var9)->_M_nxt = p_Var28;\n            uVar30 = uVar26;\nLAB_0024831c:\n            p_Var28 = p_Var8;\n            uVar26 = uVar30;\n            if (p_Var8 == (_Hash_node_base *)0x0) goto LAB_00248370;\n          }\n          p_Var28->_M_nxt = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n          (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var28;\n          *pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin;\n          if (p_Var28->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0024831c;\n          pp_Var23[uVar26] = p_Var28;\n          p_Var28 = p_Var8;\n          uVar26 = uVar30;\n        } while (p_Var8 != (_Hash_node_base *)0x0);\n      }\nLAB_00248370:\n      pp_Var9 = (target->arm_input_section_map_)._M_h._M_buckets;\n      if (pp_Var9 != &(target->arm_input_section_map_)._M_h._M_single_bucket) {\n        operator_delete(pp_Var9);\n      }\n      (target->arm_input_section_map_)._M_h._M_bucket_count = (size_type)this_01;\n      local_78 = (ulong)p_Var31 % (ulong)this_01;\n      (target->arm_input_section_map_)._M_h._M_buckets = pp_Var23;\n    }\n    p_Var21[4]._M_nxt = p_Var31;\n    pp_Var9 = pp_Var23 + local_78;\n    if (*pp_Var9 == (__bucket_type)0x0) {\n      p_Var31 = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n      (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var21;\n      p_Var21->_M_nxt = p_Var31;\n      if (p_Var31 != (_Hash_node_base *)0x0) {\n        pp_Var23[(ulong)p_Var31[4]._M_nxt % (target->arm_input_section_map_)._M_h._M_bucket_count] =\n             p_Var21;\n      }\n      *pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin;\n    }\n    else {\n      p_Var21->_M_nxt = (*pp_Var9)->_M_nxt;\n      (*pp_Var9)->_M_nxt = p_Var21;\n    }\n    psVar4 = &(target->arm_input_section_map_)._M_h._M_element_count;\n    *psVar4 = *psVar4 + 1;\n    local_58 = pRVar19;\n                    /* try { // try from 00248644 to 00248648 has its CatchHandler @ 002489ce */\n    std::\n    vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n    ::emplace_back<gold::Output_relaxed_input_section*>\n              (new_relaxed_sections,(Output_relaxed_input_section **)&local_58);\n    pIVar7 = (pRVar18->super_Object).input_file_;\n    if (pIVar7 != (Input_file *)0x0) {\n      gold::File_read::unlock(&pIVar7->file_,task);\n    }\n  }" else (compound_statement "{\n    if (0xfffffffb < (owner._M_current)->shndx_) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x1690,"create_stub_group");\n    }\n    pRVar18 = gold::Output_section::Input_section::relobj(owner._M_current);\n    pIVar7 = (pRVar18->super_Object).input_file_;\n    if (pIVar7 != (Input_file *)0x0) {\n      gold::File_read::lock(&pIVar7->file_,task);\n    }\n                    /* try { // try from 0024804a to 002482c6 has its CatchHandler @ 002489ce */\n    uVar14 = gold::Output_section::Input_section::shndx(owner._M_current);\n    this_00 = gold::Output_section::Input_section::relobj(owner._M_current);\n    pRVar19 = (Relobj *)operator_new(0x60);\n    pbVar1 = (byte *)((pRVar19->super_Object).name_.field_2._M_local_buf + 8);\n    *pbVar1 = *pbVar1 & 0xe0;\n    (pRVar19->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n    (pRVar19->super_Object).name_._M_string_length = 0;\n    (pRVar19->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n    (pRVar19->super_Object).input_file_ = (Input_file *)0x0;\n    (pRVar19->super_Object).offset_ = 1;\n    *(Relobj **)&(pRVar19->super_Object).shnum_ = this_00;\n    *(uint *)&(pRVar19->super_Object).xindex_ = uVar14;\n    (((Output_section_data_build *)&(pRVar19->super_Object)._vptr_Object)->super_Output_section_data\n    ).super_Output_data._vptr_Output_data = (_func_int_varargs **)&PTR__Arm_input_section_006670c0;\n    pp_Var29 = (this_00->super_Object)._vptr_Object;\n    *(undefined8 *)((long)&(pRVar19->super_Object).xindex_ + 4) = 1;\n    (pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_start = (pointer)0x0;\n    (pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    uVar15 = (*pp_Var29[0x17])(this_00,(ulong)uVar14);\n    if (CONCAT44(extraout_var,uVar15) != (ulong)uVar15) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(uint *)((long)&(pRVar19->super_Object).xindex_ + 4) = uVar15;\n    __src_00 = gold::Object::section_contents(&this_00->super_Object,uVar14,&section_size,false);\n    uVar15 = (*(this_00->super_Object)._vptr_Object[0xf])(this_00,(ulong)uVar14);\n    if (CONCAT44(extraout_var_00,uVar15) != (ulong)uVar15) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }\n    ppOVar20 = (pRVar19->output_sections_).\n               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n               _M_impl._M_finish;\n    *(uint *)&(pRVar19->super_Object).compressed_sections_ = uVar15;\n    if (ppOVar20 != (pointer)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002488e0 to 002489b0 has its CatchHandler @ 002489ce */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x14bf,"init");\n    }\n    ppOVar20 = (pointer)operator_new__(section_size);\n    (pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = ppOVar20;\n    memcpy(ppOVar20,__src_00,section_size);\n    pp_Var29 = (this_00->super_Object)._vptr_Object;\n    if (pp_Var29[0x18] == gold::Relobj::do_output_section) {\n      ppOVar20 = (this_00->output_sections_).\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                 _M_impl._M_start;\n      if ((ulong)((long)(this_00->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish - (long)ppOVar20 >> 3) <= (ulong)uVar14) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248868 to 0024886c has its CatchHandler @ 002489ce */\n        gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      pOVar27 = ppOVar20[uVar14];\n    }\n    else {\n                    /* try { // try from 00248736 to 00248737 has its CatchHandler @ 002489ce */\n      iVar16 = (*pp_Var29[0x18])(this_00,(ulong)uVar14);\n      pOVar27 = (Output_section *)CONCAT44(extraout_var_02,iVar16);\n      pp_Var29 = (this_00->super_Object)._vptr_Object;\n    }\n    iVar16 = (*pp_Var29[0x1a])(this_00,(ulong)uVar14);\n    if ((pOVar27 == (Output_section *)0x0) ||\n       (iVar17 = (*(this_00->super_Object)._vptr_Object[0x22])(this_00,(ulong)uVar14),\n       (char)iVar17 != '\0')) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248808 to 0024880c has its CatchHandler @ 002489ce */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x14c7,"init");\n    }\n    if (((pOVar27->super_Output_data).field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n    }\n    bVar6 = (pRVar19->super_Object).name_.field_2._M_local_buf[8];\n    if ((bVar6 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n    }\n    (pRVar19->super_Object).name_._M_dataplus._M_p =\n         (pointer)((pOVar27->super_Output_data).address_ + CONCAT44(extraout_var_01,iVar16));\n    (pRVar19->super_Object).name_.field_2._M_local_buf[8] = bVar6 | 1;\n    if (((pOVar27->super_Output_data).field_0x20 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n    }\n    if ((bVar6 & 4) != 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n    }\n    (pRVar19->super_Object).name_.field_2._M_allocated_capacity =\n         CONCAT44(extraout_var_01,iVar16) + (pOVar27->super_Output_data).offset_;\n    uVar15 = *(uint *)&(pRVar19->super_Object).compressed_sections_;\n    (pRVar19->super_Object).name_.field_2._M_local_buf[8] = bVar6 | 5;\n    if ((bVar6 & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    (pRVar19->super_Object).name_._M_string_length = (ulong)uVar15;\n    Arm_input_section<false>::set_final_data_size((Arm_input_section<false> *)pRVar19);\n    if (((pRVar19->super_Object).name_.field_2._M_local_buf[8] & 2U) == 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n    }\n    p_Var21 = (_Hash_node_base *)operator_new(0x28);\n    p_Var21->_M_nxt = (_Hash_node_base *)0x0;\n    uVar26 = (target->arm_input_section_map_)._M_h._M_bucket_count;\n    p_Var21[1]._M_nxt = (_Hash_node_base *)this_00;\n    p_Var21[2]._M_nxt = (_Hash_node_base *)CONCAT44(uStack_4c,uVar14);\n    p_Var21[3]._M_nxt = (_Hash_node_base *)pRVar19;\n    p_Var31 = (_Hash_node_base *)((ulong)this_00 ^ (ulong)*(uint *)&p_Var21[2]._M_nxt);\n    local_78 = (ulong)p_Var31 % uVar26;\n    local_58 = this_00;\n    uStack_50 = uVar14;\n    p_Var22 = std::\n              _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              ::_M_find_before_node\n                        ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                          *)&target->arm_input_section_map_,local_78,(key_type *)(p_Var21 + 1),\n                         (__hash_code)p_Var31);\n    if ((p_Var22 != (__node_base *)0x0) && (p_Var22->_M_nxt != (_Hash_node_base *)0x0)) {\n      operator_delete(p_Var21);\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }\n    cVar13 = std::__detail::_Prime_rehash_policy::_M_need_rehash\n                       (&(target->arm_input_section_map_)._M_h._M_rehash_policy,uVar26,\n                        (target->arm_input_section_map_)._M_h._M_element_count,1);\n    if (cVar13 == '\0') {\n      pp_Var23 = (target->arm_input_section_map_)._M_h._M_buckets;\n    }\n    else {\n      if (this_01 ==\n          (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n           *)0x1) {\n        pp_Var23 = &(target->arm_input_section_map_)._M_h._M_single_bucket;\n        (target->arm_input_section_map_)._M_h._M_single_bucket = (__bucket_type)0x0;\n      }\n      else {\n                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */\n        pp_Var23 = std::__detail::\n                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n                   ::_M_allocate_buckets(this_01,uVar26);\n      }\n      p_Var28 = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n      (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n      if (p_Var28 != (_Hash_node_base *)0x0) {\n        uVar26 = 0;\n        do {\n          while( true ) {\n            p_Var8 = p_Var28->_M_nxt;\n            uVar30 = (ulong)p_Var28[4]._M_nxt % (ulong)this_01;\n            pp_Var9 = pp_Var23 + uVar30;\n            if (*pp_Var9 == (__bucket_type)0x0) break;\n            p_Var28->_M_nxt = (*pp_Var9)->_M_nxt;\n            (*pp_Var9)->_M_nxt = p_Var28;\n            uVar30 = uVar26;\nLAB_0024831c:\n            p_Var28 = p_Var8;\n            uVar26 = uVar30;\n            if (p_Var8 == (_Hash_node_base *)0x0) goto LAB_00248370;\n          }\n          p_Var28->_M_nxt = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n          (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var28;\n          *pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin;\n          if (p_Var28->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0024831c;\n          pp_Var23[uVar26] = p_Var28;\n          p_Var28 = p_Var8;\n          uVar26 = uVar30;\n        } while (p_Var8 != (_Hash_node_base *)0x0);\n      }\nLAB_00248370:\n      pp_Var9 = (target->arm_input_section_map_)._M_h._M_buckets;\n      if (pp_Var9 != &(target->arm_input_section_map_)._M_h._M_single_bucket) {\n        operator_delete(pp_Var9);\n      }\n      (target->arm_input_section_map_)._M_h._M_bucket_count = (size_type)this_01;\n      local_78 = (ulong)p_Var31 % (ulong)this_01;\n      (target->arm_input_section_map_)._M_h._M_buckets = pp_Var23;\n    }\n    p_Var21[4]._M_nxt = p_Var31;\n    pp_Var9 = pp_Var23 + local_78;\n    if (*pp_Var9 == (__bucket_type)0x0) {\n      p_Var31 = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n      (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var21;\n      p_Var21->_M_nxt = p_Var31;\n      if (p_Var31 != (_Hash_node_base *)0x0) {\n        pp_Var23[(ulong)p_Var31[4]._M_nxt % (target->arm_input_section_map_)._M_h._M_bucket_count] =\n             p_Var21;\n      }\n      *pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin;\n    }\n    else {\n      p_Var21->_M_nxt = (*pp_Var9)->_M_nxt;\n      (*pp_Var9)->_M_nxt = p_Var21;\n    }\n    psVar4 = &(target->arm_input_section_map_)._M_h._M_element_count;\n    *psVar4 = *psVar4 + 1;\n    local_58 = pRVar19;\n                    /* try { // try from 00248644 to 00248648 has its CatchHandler @ 002489ce */\n    std::\n    vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n    ::emplace_back<gold::Output_relaxed_input_section*>\n              (new_relaxed_sections,(Output_relaxed_input_section **)&local_58);\n    pIVar7 = (pRVar18->super_Object).input_file_;\n    if (pIVar7 != (Input_file *)0x0) {\n      gold::File_read::unlock(&pIVar7->file_,task);\n    }\n  }" { (if_statement "if (0xfffffffb < (owner._M_current)->shndx_) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x1690,"create_stub_group");\n    }" if (parenthesized_expression "(0xfffffffb < (owner._M_current)->shndx_)" ( (binary_expression "0xfffffffb < (owner._M_current)->shndx_" number_literal < (field_expression "(owner._M_current)->shndx_" (parenthesized_expression "(owner._M_current)" ( (field_expression "owner._M_current" identifier . field_identifier) )) -> field_identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x1690,"create_stub_group");\n    }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/arm.cc",0x1690,"create_stub_group");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/arm.cc",0x1690,"create_stub_group");" (call_expression "do_gold_unreachable("../../gold/arm.cc",0x1690,"create_stub_group")" identifier (argument_list "("../../gold/arm.cc",0x1690,"create_stub_group")" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""create_stub_group"" " string_content ") ))) ;)) })) (ERROR "pRVar18 = gold::" (assignment_expression "pRVar18 = gold" identifier = identifier) : :) (labeled_statement "Output_section::Input_section::relobj(owner._M_current);" statement_identifier : (ERROR ":" :) (labeled_statement "Input_section::relobj(owner._M_current);" statement_identifier : (ERROR ":" :) (expression_statement "relobj(owner._M_current);" (call_expression "relobj(owner._M_current)" identifier (argument_list "(owner._M_current)" ( (field_expression "owner._M_current" identifier . field_identifier) ))) ;))) (expression_statement "pIVar7 = (pRVar18->super_Object).input_file_;" (assignment_expression "pIVar7 = (pRVar18->super_Object).input_file_" identifier = (field_expression "(pRVar18->super_Object).input_file_" (parenthesized_expression "(pRVar18->super_Object)" ( (field_expression "pRVar18->super_Object" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (pIVar7 != (Input_file *)0x0) {\n      gold::File_read::lock(&pIVar7->file_,task);\n    }" if (parenthesized_expression "(pIVar7 != (Input_file *)0x0)" ( (binary_expression "pIVar7 != (Input_file *)0x0" identifier != (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      gold::File_read::lock(&pIVar7->file_,task);\n    }" { (labeled_statement "gold::File_read::lock(&pIVar7->file_,task);" statement_identifier : (ERROR ":" :) (labeled_statement "File_read::lock(&pIVar7->file_,task);" statement_identifier : (ERROR ":" :) (expression_statement "lock(&pIVar7->file_,task);" (call_expression "lock(&pIVar7->file_,task)" identifier (argument_list "(&pIVar7->file_,task)" ( (pointer_expression "&pIVar7->file_" & (field_expression "pIVar7->file_" identifier -> field_identifier)) , identifier ))) ;))) })) comment (ERROR "uVar14 = gold::" (assignment_expression "uVar14 = gold" identifier = identifier) : :) (labeled_statement "Output_section::Input_section::shndx(owner._M_current);" statement_identifier : (ERROR ":" :) (labeled_statement "Input_section::shndx(owner._M_current);" statement_identifier : (ERROR ":" :) (expression_statement "shndx(owner._M_current);" (call_expression "shndx(owner._M_current)" identifier (argument_list "(owner._M_current)" ( (field_expression "owner._M_current" identifier . field_identifier) ))) ;))) (ERROR "this_00 = gold::" (assignment_expression "this_00 = gold" identifier = identifier) : :) (labeled_statement "Output_section::Input_section::relobj(owner._M_current);" statement_identifier : (ERROR ":" :) (labeled_statement "Input_section::relobj(owner._M_current);" statement_identifier : (ERROR ":" :) (expression_statement "relobj(owner._M_current);" (call_expression "relobj(owner._M_current)" identifier (argument_list "(owner._M_current)" ( (field_expression "owner._M_current" identifier . field_identifier) ))) ;))) (expression_statement "pRVar19 = (Relobj *)operator_new(0x60);" (assignment_expression "pRVar19 = (Relobj *)operator_new(0x60)" identifier = (cast_expression "(Relobj *)operator_new(0x60)" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x60)" identifier (argument_list "(0x60)" ( number_literal ))))) ;) (expression_statement "pbVar1 = (byte *)((pRVar19->super_Object).name_.field_2._M_local_buf + 8);" (assignment_expression "pbVar1 = (byte *)((pRVar19->super_Object).name_.field_2._M_local_buf + 8)" identifier = (cast_expression "(byte *)((pRVar19->super_Object).name_.field_2._M_local_buf + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((pRVar19->super_Object).name_.field_2._M_local_buf + 8)" ( (binary_expression "(pRVar19->super_Object).name_.field_2._M_local_buf + 8" (field_expression "(pRVar19->super_Object).name_.field_2._M_local_buf" (field_expression "(pRVar19->super_Object).name_.field_2" (field_expression "(pRVar19->super_Object).name_" (parenthesized_expression "(pRVar19->super_Object)" ( (field_expression "pRVar19->super_Object" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) + number_literal) )))) ;) (expression_statement "*pbVar1 = *pbVar1 & 0xe0;" (assignment_expression "*pbVar1 = *pbVar1 & 0xe0" (pointer_expression "*pbVar1" * identifier) = (binary_expression "*pbVar1 & 0xe0" (pointer_expression "*pbVar1" * identifier) & number_literal)) ;) (expression_statement "(pRVar19->super_Object).name_._M_dataplus._M_p = (pointer)0x0;" (assignment_expression "(pRVar19->super_Object).name_._M_dataplus._M_p = (pointer)0x0" (field_expression "(pRVar19->super_Object).name_._M_dataplus._M_p" (field_expression "(pRVar19->super_Object).name_._M_dataplus" (field_expression "(pRVar19->super_Object).name_" (parenthesized_expression "(pRVar19->super_Object)" ( (field_expression "pRVar19->super_Object" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(pRVar19->super_Object).name_._M_string_length = 0;" (assignment_expression "(pRVar19->super_Object).name_._M_string_length = 0" (field_expression "(pRVar19->super_Object).name_._M_string_length" (field_expression "(pRVar19->super_Object).name_" (parenthesized_expression "(pRVar19->super_Object)" ( (field_expression "pRVar19->super_Object" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(pRVar19->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;" (assignment_expression "(pRVar19->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff" (field_expression "(pRVar19->super_Object).name_.field_2._M_allocated_capacity" (field_expression "(pRVar19->super_Object).name_.field_2" (field_expression "(pRVar19->super_Object).name_" (parenthesized_expression "(pRVar19->super_Object)" ( (field_expression "pRVar19->super_Object" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(pRVar19->super_Object).input_file_ = (Input_file *)0x0;" (assignment_expression "(pRVar19->super_Object).input_file_ = (Input_file *)0x0" (field_expression "(pRVar19->super_Object).input_file_" (parenthesized_expression "(pRVar19->super_Object)" ( (field_expression "pRVar19->super_Object" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(pRVar19->super_Object).offset_ = 1;" (assignment_expression "(pRVar19->super_Object).offset_ = 1" (field_expression "(pRVar19->super_Object).offset_" (parenthesized_expression "(pRVar19->super_Object)" ( (field_expression "pRVar19->super_Object" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "*(Relobj **)&(pRVar19->super_Object).shnum_ = this_00;" (assignment_expression "*(Relobj **)&(pRVar19->super_Object).shnum_ = this_00" (pointer_expression "*(Relobj **)&(pRVar19->super_Object).shnum_" * (cast_expression "(Relobj **)&(pRVar19->super_Object).shnum_" ( (type_descriptor "Relobj **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(pRVar19->super_Object).shnum_" & (field_expression "(pRVar19->super_Object).shnum_" (parenthesized_expression "(pRVar19->super_Object)" ( (field_expression "pRVar19->super_Object" identifier -> field_identifier) )) . field_identifier)))) = identifier) ;) (expression_statement "*(uint *)&(pRVar19->super_Object).xindex_ = uVar14;" (assignment_expression "*(uint *)&(pRVar19->super_Object).xindex_ = uVar14" (pointer_expression "*(uint *)&(pRVar19->super_Object).xindex_" * (cast_expression "(uint *)&(pRVar19->super_Object).xindex_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pRVar19->super_Object).xindex_" & (field_expression "(pRVar19->super_Object).xindex_" (parenthesized_expression "(pRVar19->super_Object)" ( (field_expression "pRVar19->super_Object" identifier -> field_identifier) )) . field_identifier)))) = identifier) ;) (expression_statement "(((Output_section_data_build *)&(pRVar19->super_Object)._vptr_Object)->super_Output_section_data\n    ).super_Output_data._vptr_Output_data = (_func_int_varargs **)&PTR__Arm_input_section_006670c0;" (assignment_expression "(((Output_section_data_build *)&(pRVar19->super_Object)._vptr_Object)->super_Output_section_data\n    ).super_Output_data._vptr_Output_data = (_func_int_varargs **)&PTR__Arm_input_section_006670c0" (field_expression "(((Output_section_data_build *)&(pRVar19->super_Object)._vptr_Object)->super_Output_section_data\n    ).super_Output_data._vptr_Output_data" (field_expression "(((Output_section_data_build *)&(pRVar19->super_Object)._vptr_Object)->super_Output_section_data\n    ).super_Output_data" (parenthesized_expression "(((Output_section_data_build *)&(pRVar19->super_Object)._vptr_Object)->super_Output_section_data\n    )" ( (field_expression "((Output_section_data_build *)&(pRVar19->super_Object)._vptr_Object)->super_Output_section_data" (parenthesized_expression "((Output_section_data_build *)&(pRVar19->super_Object)._vptr_Object)" ( (cast_expression "(Output_section_data_build *)&(pRVar19->super_Object)._vptr_Object" ( (type_descriptor "Output_section_data_build *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pRVar19->super_Object)._vptr_Object" & (field_expression "(pRVar19->super_Object)._vptr_Object" (parenthesized_expression "(pRVar19->super_Object)" ( (field_expression "pRVar19->super_Object" identifier -> field_identifier) )) . field_identifier))) )) -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Arm_input_section_006670c0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Arm_input_section_006670c0" & identifier))) ;) (expression_statement "pp_Var29 = (this_00->super_Object)._vptr_Object;" (assignment_expression "pp_Var29 = (this_00->super_Object)._vptr_Object" identifier = (field_expression "(this_00->super_Object)._vptr_Object" (parenthesized_expression "(this_00->super_Object)" ( (field_expression "this_00->super_Object" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "*(undefined8 *)((long)&(pRVar19->super_Object).xindex_ + 4) = 1;" (assignment_expression "*(undefined8 *)((long)&(pRVar19->super_Object).xindex_ + 4) = 1" (pointer_expression "*(undefined8 *)((long)&(pRVar19->super_Object).xindex_ + 4)" * (cast_expression "(undefined8 *)((long)&(pRVar19->super_Object).xindex_ + 4)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(pRVar19->super_Object).xindex_ + 4)" ( (binary_expression "(long)&(pRVar19->super_Object).xindex_ + 4" (cast_expression "(long)&(pRVar19->super_Object).xindex_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(pRVar19->super_Object).xindex_" & (field_expression "(pRVar19->super_Object).xindex_" (parenthesized_expression "(pRVar19->super_Object)" ( (field_expression "pRVar19->super_Object" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "(pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_start = (pointer)0x0;" (assignment_expression "(pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_start = (pointer)0x0" (field_expression "(pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_start" (field_expression "(pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl" (binary_expression "(pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std" (binary_expression "(pRVar19->output_sections_).\n    super__Vector_base<gold" (field_expression "(pRVar19->output_sections_).\n    super__Vector_base" (parenthesized_expression "(pRVar19->output_sections_)" ( (field_expression "pRVar19->output_sections_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = (pointer)0x0;" (assignment_expression "(pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = (pointer)0x0" (field_expression "(pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish" (field_expression "(pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl" (binary_expression "(pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std" (binary_expression "(pRVar19->output_sections_).\n    super__Vector_base<gold" (field_expression "(pRVar19->output_sections_).\n    super__Vector_base" (parenthesized_expression "(pRVar19->output_sections_)" ( (field_expression "pRVar19->output_sections_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "uVar15 = (*pp_Var29[0x17])(this_00,(ulong)uVar14);" (assignment_expression "uVar15 = (*pp_Var29[0x17])(this_00,(ulong)uVar14)" identifier = (call_expression "(*pp_Var29[0x17])(this_00,(ulong)uVar14)" (parenthesized_expression "(*pp_Var29[0x17])" ( (pointer_expression "*pp_Var29[0x17]" * (subscript_expression "pp_Var29[0x17]" identifier [ number_literal ])) )) (argument_list "(this_00,(ulong)uVar14)" ( identifier , (cast_expression "(ulong)uVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) )))) ;) (if_statement "if (CONCAT44(extraout_var,uVar15) != (ulong)uVar15) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }" if (parenthesized_expression "(CONCAT44(extraout_var,uVar15) != (ulong)uVar15)" ( (binary_expression "CONCAT44(extraout_var,uVar15) != (ulong)uVar15" (call_expression "CONCAT44(extraout_var,uVar15)" identifier (argument_list "(extraout_var,uVar15)" ( identifier , identifier ))) != (cast_expression "(ulong)uVar15" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");" (call_expression "do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types")" identifier (argument_list "("../../gold/gold.h",0xc0,"convert_types")" ( (string_literal ""../../gold/gold.h"" " string_content ") , number_literal , (string_literal ""convert_types"" " string_content ") ))) ;)) })) (expression_statement "*(uint *)((long)&(pRVar19->super_Object).xindex_ + 4) = uVar15;" (assignment_expression "*(uint *)((long)&(pRVar19->super_Object).xindex_ + 4) = uVar15" (pointer_expression "*(uint *)((long)&(pRVar19->super_Object).xindex_ + 4)" * (cast_expression "(uint *)((long)&(pRVar19->super_Object).xindex_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&(pRVar19->super_Object).xindex_ + 4)" ( (binary_expression "(long)&(pRVar19->super_Object).xindex_ + 4" (cast_expression "(long)&(pRVar19->super_Object).xindex_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&(pRVar19->super_Object).xindex_" & (field_expression "(pRVar19->super_Object).xindex_" (parenthesized_expression "(pRVar19->super_Object)" ( (field_expression "pRVar19->super_Object" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = identifier) ;) (ERROR "__src_00 = gold::" (assignment_expression "__src_00 = gold" identifier = identifier) : :) (labeled_statement "Object::section_contents(&this_00->super_Object,uVar14,&section_size,false);" statement_identifier : (ERROR ":" :) (expression_statement "section_contents(&this_00->super_Object,uVar14,&section_size,false);" (call_expression "section_contents(&this_00->super_Object,uVar14,&section_size,false)" identifier (argument_list "(&this_00->super_Object,uVar14,&section_size,false)" ( (pointer_expression "&this_00->super_Object" & (field_expression "this_00->super_Object" identifier -> field_identifier)) , identifier , (pointer_expression "&section_size" & identifier) , false ))) ;)) (expression_statement "uVar15 = (*(this_00->super_Object)._vptr_Object[0xf])(this_00,(ulong)uVar14);" (assignment_expression "uVar15 = (*(this_00->super_Object)._vptr_Object[0xf])(this_00,(ulong)uVar14)" identifier = (call_expression "(*(this_00->super_Object)._vptr_Object[0xf])(this_00,(ulong)uVar14)" (parenthesized_expression "(*(this_00->super_Object)._vptr_Object[0xf])" ( (pointer_expression "*(this_00->super_Object)._vptr_Object[0xf]" * (subscript_expression "(this_00->super_Object)._vptr_Object[0xf]" (field_expression "(this_00->super_Object)._vptr_Object" (parenthesized_expression "(this_00->super_Object)" ( (field_expression "this_00->super_Object" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) )) (argument_list "(this_00,(ulong)uVar14)" ( identifier , (cast_expression "(ulong)uVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) )))) ;) (if_statement "if (CONCAT44(extraout_var_00,uVar15) != (ulong)uVar15) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }" if (parenthesized_expression "(CONCAT44(extraout_var_00,uVar15) != (ulong)uVar15)" ( (binary_expression "CONCAT44(extraout_var_00,uVar15) != (ulong)uVar15" (call_expression "CONCAT44(extraout_var_00,uVar15)" identifier (argument_list "(extraout_var_00,uVar15)" ( identifier , identifier ))) != (cast_expression "(ulong)uVar15" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");\n    }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types");" (call_expression "do_gold_unreachable("../../gold/gold.h",0xc0,"convert_types")" identifier (argument_list "("../../gold/gold.h",0xc0,"convert_types")" ( (string_literal ""../../gold/gold.h"" " string_content ") , number_literal , (string_literal ""convert_types"" " string_content ") ))) ;)) })) (expression_statement "ppOVar20 = (pRVar19->output_sections_).\n               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n               _M_impl._M_finish;" (field_expression "ppOVar20 = (pRVar19->output_sections_).\n               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n               _M_impl._M_finish" (field_expression "ppOVar20 = (pRVar19->output_sections_).\n               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n               _M_impl" (binary_expression "ppOVar20 = (pRVar19->output_sections_).\n               super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar20 = (pRVar19->output_sections_).\n               super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar20 = (pRVar19->output_sections_).\n               super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar20 = (pRVar19->output_sections_).\n               super__Vector_base<gold" identifier = (binary_expression "(pRVar19->output_sections_).\n               super__Vector_base<gold" (field_expression "(pRVar19->output_sections_).\n               super__Vector_base" (parenthesized_expression "(pRVar19->output_sections_)" ( (field_expression "pRVar19->output_sections_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "*(uint *)&(pRVar19->super_Object).compressed_sections_ = uVar15;" (assignment_expression "*(uint *)&(pRVar19->super_Object).compressed_sections_ = uVar15" (pointer_expression "*(uint *)&(pRVar19->super_Object).compressed_sections_" * (cast_expression "(uint *)&(pRVar19->super_Object).compressed_sections_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pRVar19->super_Object).compressed_sections_" & (field_expression "(pRVar19->super_Object).compressed_sections_" (parenthesized_expression "(pRVar19->super_Object)" ( (field_expression "pRVar19->super_Object" identifier -> field_identifier) )) . field_identifier)))) = identifier) ;) (if_statement "if (ppOVar20 != (pointer)0x0) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002488e0 to 002489b0 has its CatchHandler @ 002489ce */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x14bf,"init");\n    }" if (parenthesized_expression "(ppOVar20 != (pointer)0x0)" ( (binary_expression "ppOVar20 != (pointer)0x0" identifier != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 002488e0 to 002489b0 has its CatchHandler @ 002489ce */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x14bf,"init");\n    }" { comment comment (labeled_statement "gold::do_gold_unreachable("../../gold/arm.cc",0x14bf,"init");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/arm.cc",0x14bf,"init");" (call_expression "do_gold_unreachable("../../gold/arm.cc",0x14bf,"init")" identifier (argument_list "("../../gold/arm.cc",0x14bf,"init")" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""init"" " string_content ") ))) ;)) })) (expression_statement "ppOVar20 = (pointer)operator_new__(section_size);" (assignment_expression "ppOVar20 = (pointer)operator_new__(section_size)" identifier = (cast_expression "(pointer)operator_new__(section_size)" ( (type_descriptor "pointer" type_identifier) ) (call_expression "operator_new__(section_size)" identifier (argument_list "(section_size)" ( identifier ))))) ;) (expression_statement "(pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = ppOVar20;" (assignment_expression "(pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = ppOVar20" (field_expression "(pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish" (field_expression "(pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl" (binary_expression "(pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(pRVar19->output_sections_).\n    super__Vector_base<gold::Output_section*,_std" (binary_expression "(pRVar19->output_sections_).\n    super__Vector_base<gold" (field_expression "(pRVar19->output_sections_).\n    super__Vector_base" (parenthesized_expression "(pRVar19->output_sections_)" ( (field_expression "pRVar19->output_sections_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "memcpy(ppOVar20,__src_00,section_size);" (call_expression "memcpy(ppOVar20,__src_00,section_size)" identifier (argument_list "(ppOVar20,__src_00,section_size)" ( identifier , identifier , identifier ))) ;) (expression_statement "pp_Var29 = (this_00->super_Object)._vptr_Object;" (assignment_expression "pp_Var29 = (this_00->super_Object)._vptr_Object" identifier = (field_expression "(this_00->super_Object)._vptr_Object" (parenthesized_expression "(this_00->super_Object)" ( (field_expression "this_00->super_Object" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (pp_Var29[0x18] == gold::Relobj::do_output_section) {\n      ppOVar20 = (this_00->output_sections_).\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                 _M_impl._M_start;\n      if ((ulong)((long)(this_00->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish - (long)ppOVar20 >> 3) <= (ulong)uVar14) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248868 to 0024886c has its CatchHandler @ 002489ce */\n        gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      pOVar27 = ppOVar20[uVar14];\n    }\n    else {\n                    /* try { // try from 00248736 to 00248737 has its CatchHandler @ 002489ce */\n      iVar16 = (*pp_Var29[0x18])(this_00,(ulong)uVar14);\n      pOVar27 = (Output_section *)CONCAT44(extraout_var_02,iVar16);\n      pp_Var29 = (this_00->super_Object)._vptr_Object;\n    }" if (parenthesized_expression "(pp_Var29[0x18] == gold::Relobj::do_output_section)" ( (binary_expression "pp_Var29[0x18] == gold" (subscript_expression "pp_Var29[0x18]" identifier [ number_literal ]) == identifier) (ERROR "::Relobj::do_output_section" : : identifier : : identifier) )) (compound_statement "{\n      ppOVar20 = (this_00->output_sections_).\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                 _M_impl._M_start;\n      if ((ulong)((long)(this_00->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish - (long)ppOVar20 >> 3) <= (ulong)uVar14) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248868 to 0024886c has its CatchHandler @ 002489ce */\n        gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      pOVar27 = ppOVar20[uVar14];\n    }" { (expression_statement "ppOVar20 = (this_00->output_sections_).\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                 _M_impl._M_start;" (field_expression "ppOVar20 = (this_00->output_sections_).\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                 _M_impl._M_start" (field_expression "ppOVar20 = (this_00->output_sections_).\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                 _M_impl" (binary_expression "ppOVar20 = (this_00->output_sections_).\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar20 = (this_00->output_sections_).\n                 super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar20 = (this_00->output_sections_).\n                 super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar20 = (this_00->output_sections_).\n                 super__Vector_base<gold" identifier = (binary_expression "(this_00->output_sections_).\n                 super__Vector_base<gold" (field_expression "(this_00->output_sections_).\n                 super__Vector_base" (parenthesized_expression "(this_00->output_sections_)" ( (field_expression "this_00->output_sections_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((ulong)((long)(this_00->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish - (long)ppOVar20 >> 3) <= (ulong)uVar14) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248868 to 0024886c has its CatchHandler @ 002489ce */\n        gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n      }" if (parenthesized_expression "((ulong)((long)(this_00->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish - (long)ppOVar20 >> 3) <= (ulong)uVar14)" ( (binary_expression "(ulong)((long)(this_00->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish - (long)ppOVar20 >> 3) <= (ulong)uVar14" (call_expression "(ulong)((long)(this_00->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish - (long)ppOVar20 >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((long)(this_00->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish - (long)ppOVar20 >> 3)" ( (binary_expression "(long)(this_00->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish - (long)ppOVar20 >> 3" (binary_expression "(long)(this_00->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish - (long)ppOVar20" (field_expression "(long)(this_00->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl._M_finish" (field_expression "(long)(this_00->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        ._M_impl" (binary_expression "(long)(this_00->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(long)(this_00->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(long)(this_00->output_sections_).\n                        super__Vector_base<gold::Output_section*,_std" (binary_expression "(long)(this_00->output_sections_).\n                        super__Vector_base<gold" (cast_expression "(long)(this_00->output_sections_).\n                        super__Vector_base" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (field_expression "(this_00->output_sections_).\n                        super__Vector_base" (parenthesized_expression "(this_00->output_sections_)" ( (field_expression "this_00->output_sections_" identifier -> field_identifier) )) . field_identifier)) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(long)ppOVar20" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal) ))) <= (cast_expression "(ulong)uVar14" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248868 to 0024886c has its CatchHandler @ 002489ce */\n        gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n      }" { comment comment (labeled_statement "gold::do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");" (call_expression "do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section")" identifier (argument_list "("../../gold/object.h",0x5c8,"do_output_section")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""do_output_section"" " string_content ") ))) ;)) })) (expression_statement "pOVar27 = ppOVar20[uVar14];" (assignment_expression "pOVar27 = ppOVar20[uVar14]" identifier = (subscript_expression "ppOVar20[uVar14]" identifier [ identifier ])) ;) }) (else_clause "else {\n                    /* try { // try from 00248736 to 00248737 has its CatchHandler @ 002489ce */\n      iVar16 = (*pp_Var29[0x18])(this_00,(ulong)uVar14);\n      pOVar27 = (Output_section *)CONCAT44(extraout_var_02,iVar16);\n      pp_Var29 = (this_00->super_Object)._vptr_Object;\n    }" else (compound_statement "{\n                    /* try { // try from 00248736 to 00248737 has its CatchHandler @ 002489ce */\n      iVar16 = (*pp_Var29[0x18])(this_00,(ulong)uVar14);\n      pOVar27 = (Output_section *)CONCAT44(extraout_var_02,iVar16);\n      pp_Var29 = (this_00->super_Object)._vptr_Object;\n    }" { comment (expression_statement "iVar16 = (*pp_Var29[0x18])(this_00,(ulong)uVar14);" (assignment_expression "iVar16 = (*pp_Var29[0x18])(this_00,(ulong)uVar14)" identifier = (call_expression "(*pp_Var29[0x18])(this_00,(ulong)uVar14)" (parenthesized_expression "(*pp_Var29[0x18])" ( (pointer_expression "*pp_Var29[0x18]" * (subscript_expression "pp_Var29[0x18]" identifier [ number_literal ])) )) (argument_list "(this_00,(ulong)uVar14)" ( identifier , (cast_expression "(ulong)uVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) )))) ;) (expression_statement "pOVar27 = (Output_section *)CONCAT44(extraout_var_02,iVar16);" (assignment_expression "pOVar27 = (Output_section *)CONCAT44(extraout_var_02,iVar16)" identifier = (cast_expression "(Output_section *)CONCAT44(extraout_var_02,iVar16)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(extraout_var_02,iVar16)" identifier (argument_list "(extraout_var_02,iVar16)" ( identifier , identifier ))))) ;) (expression_statement "pp_Var29 = (this_00->super_Object)._vptr_Object;" (assignment_expression "pp_Var29 = (this_00->super_Object)._vptr_Object" identifier = (field_expression "(this_00->super_Object)._vptr_Object" (parenthesized_expression "(this_00->super_Object)" ( (field_expression "this_00->super_Object" identifier -> field_identifier) )) . field_identifier)) ;) }))) (expression_statement "iVar16 = (*pp_Var29[0x1a])(this_00,(ulong)uVar14);" (assignment_expression "iVar16 = (*pp_Var29[0x1a])(this_00,(ulong)uVar14)" identifier = (call_expression "(*pp_Var29[0x1a])(this_00,(ulong)uVar14)" (parenthesized_expression "(*pp_Var29[0x1a])" ( (pointer_expression "*pp_Var29[0x1a]" * (subscript_expression "pp_Var29[0x1a]" identifier [ number_literal ])) )) (argument_list "(this_00,(ulong)uVar14)" ( identifier , (cast_expression "(ulong)uVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) )))) ;) (if_statement "if ((pOVar27 == (Output_section *)0x0) ||\n       (iVar17 = (*(this_00->super_Object)._vptr_Object[0x22])(this_00,(ulong)uVar14),\n       (char)iVar17 != '\0')) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248808 to 0024880c has its CatchHandler @ 002489ce */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x14c7,"init");\n    }" if (parenthesized_expression "((pOVar27 == (Output_section *)0x0) ||\n       (iVar17 = (*(this_00->super_Object)._vptr_Object[0x22])(this_00,(ulong)uVar14),\n       (char)iVar17 != '\0'))" ( (binary_expression "(pOVar27 == (Output_section *)0x0) ||\n       (iVar17 = (*(this_00->super_Object)._vptr_Object[0x22])(this_00,(ulong)uVar14),\n       (char)iVar17 != '\0')" (parenthesized_expression "(pOVar27 == (Output_section *)0x0)" ( (binary_expression "pOVar27 == (Output_section *)0x0" identifier == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(iVar17 = (*(this_00->super_Object)._vptr_Object[0x22])(this_00,(ulong)uVar14),\n       (char)iVar17 != '\0')" ( (comma_expression "iVar17 = (*(this_00->super_Object)._vptr_Object[0x22])(this_00,(ulong)uVar14),\n       (char)iVar17 != '\0'" (assignment_expression "iVar17 = (*(this_00->super_Object)._vptr_Object[0x22])(this_00,(ulong)uVar14)" identifier = (call_expression "(*(this_00->super_Object)._vptr_Object[0x22])(this_00,(ulong)uVar14)" (parenthesized_expression "(*(this_00->super_Object)._vptr_Object[0x22])" ( (pointer_expression "*(this_00->super_Object)._vptr_Object[0x22]" * (subscript_expression "(this_00->super_Object)._vptr_Object[0x22]" (field_expression "(this_00->super_Object)._vptr_Object" (parenthesized_expression "(this_00->super_Object)" ( (field_expression "this_00->super_Object" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) )) (argument_list "(this_00,(ulong)uVar14)" ( identifier , (cast_expression "(ulong)uVar14" ( (type_descriptor "ulong" type_identifier) ) identifier) )))) , (binary_expression "(char)iVar17 != '\0'" (cast_expression "(char)iVar17" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00248808 to 0024880c has its CatchHandler @ 002489ce */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x14c7,"init");\n    }" { comment comment (labeled_statement "gold::do_gold_unreachable("../../gold/arm.cc",0x14c7,"init");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/arm.cc",0x14c7,"init");" (call_expression "do_gold_unreachable("../../gold/arm.cc",0x14c7,"init")" identifier (argument_list "("../../gold/arm.cc",0x14c7,"init")" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""init"" " string_content ") ))) ;)) })) (if_statement "if (((pOVar27->super_Output_data).field_0x20 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n    }" if (parenthesized_expression "(((pOVar27->super_Output_data).field_0x20 & 1) == 0)" ( (binary_expression "((pOVar27->super_Output_data).field_0x20 & 1) == 0" (parenthesized_expression "((pOVar27->super_Output_data).field_0x20 & 1)" ( (binary_expression "(pOVar27->super_Output_data).field_0x20 & 1" (field_expression "(pOVar27->super_Output_data).field_0x20" (parenthesized_expression "(pOVar27->super_Output_data)" ( (field_expression "pOVar27->super_Output_data" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n    }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0xc5,"address");" (call_expression "do_gold_unreachable("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;)) })) (expression_statement "bVar6 = (pRVar19->super_Object).name_.field_2._M_local_buf[8];" (assignment_expression "bVar6 = (pRVar19->super_Object).name_.field_2._M_local_buf[8]" identifier = (subscript_expression "(pRVar19->super_Object).name_.field_2._M_local_buf[8]" (field_expression "(pRVar19->super_Object).name_.field_2._M_local_buf" (field_expression "(pRVar19->super_Object).name_.field_2" (field_expression "(pRVar19->super_Object).name_" (parenthesized_expression "(pRVar19->super_Object)" ( (field_expression "pRVar19->super_Object" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) ;) (if_statement "if ((bVar6 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n    }" if (parenthesized_expression "((bVar6 & 1) != 0)" ( (binary_expression "(bVar6 & 1) != 0" (parenthesized_expression "(bVar6 & 1)" ( (binary_expression "bVar6 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n    }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0x142,"set_address");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0x142,"set_address");" (call_expression "do_gold_unreachable("../../gold/output.h",0x142,"set_address")" identifier (argument_list "("../../gold/output.h",0x142,"set_address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_address"" " string_content ") ))) ;)) })) (expression_statement "(pRVar19->super_Object).name_._M_dataplus._M_p =\n         (pointer)((pOVar27->super_Output_data).address_ + CONCAT44(extraout_var_01,iVar16));" (assignment_expression "(pRVar19->super_Object).name_._M_dataplus._M_p =\n         (pointer)((pOVar27->super_Output_data).address_ + CONCAT44(extraout_var_01,iVar16))" (field_expression "(pRVar19->super_Object).name_._M_dataplus._M_p" (field_expression "(pRVar19->super_Object).name_._M_dataplus" (field_expression "(pRVar19->super_Object).name_" (parenthesized_expression "(pRVar19->super_Object)" ( (field_expression "pRVar19->super_Object" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (call_expression "(pointer)((pOVar27->super_Output_data).address_ + CONCAT44(extraout_var_01,iVar16))" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((pOVar27->super_Output_data).address_ + CONCAT44(extraout_var_01,iVar16))" ( (binary_expression "(pOVar27->super_Output_data).address_ + CONCAT44(extraout_var_01,iVar16)" (field_expression "(pOVar27->super_Output_data).address_" (parenthesized_expression "(pOVar27->super_Output_data)" ( (field_expression "pOVar27->super_Output_data" identifier -> field_identifier) )) . field_identifier) + (call_expression "CONCAT44(extraout_var_01,iVar16)" identifier (argument_list "(extraout_var_01,iVar16)" ( identifier , identifier )))) )))) ;) (expression_statement "(pRVar19->super_Object).name_.field_2._M_local_buf[8] = bVar6 | 1;" (assignment_expression "(pRVar19->super_Object).name_.field_2._M_local_buf[8] = bVar6 | 1" (subscript_expression "(pRVar19->super_Object).name_.field_2._M_local_buf[8]" (field_expression "(pRVar19->super_Object).name_.field_2._M_local_buf" (field_expression "(pRVar19->super_Object).name_.field_2" (field_expression "(pRVar19->super_Object).name_" (parenthesized_expression "(pRVar19->super_Object)" ( (field_expression "pRVar19->super_Object" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ]) = (binary_expression "bVar6 | 1" identifier | number_literal)) ;) (if_statement "if (((pOVar27->super_Output_data).field_0x20 & 4) == 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n    }" if (parenthesized_expression "(((pOVar27->super_Output_data).field_0x20 & 4) == 0)" ( (binary_expression "((pOVar27->super_Output_data).field_0x20 & 4) == 0" (parenthesized_expression "((pOVar27->super_Output_data).field_0x20 & 4)" ( (binary_expression "(pOVar27->super_Output_data).field_0x20 & 4" (field_expression "(pOVar27->super_Output_data).field_0x20" (parenthesized_expression "(pOVar27->super_Output_data)" ( (field_expression "pOVar27->super_Output_data" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n    }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0xe3,"offset");" (call_expression "do_gold_unreachable("../../gold/output.h",0xe3,"offset")" identifier (argument_list "("../../gold/output.h",0xe3,"offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") ))) ;)) })) (if_statement "if ((bVar6 & 4) != 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n    }" if (parenthesized_expression "((bVar6 & 4) != 0)" ( (binary_expression "(bVar6 & 4) != 0" (parenthesized_expression "(bVar6 & 4)" ( (binary_expression "bVar6 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n    }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");" (call_expression "do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset")" identifier (argument_list "("../../gold/output.h",0x14b,"set_file_offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_file_offset"" " string_content ") ))) ;)) })) (expression_statement "(pRVar19->super_Object).name_.field_2._M_allocated_capacity =\n         CONCAT44(extraout_var_01,iVar16) + (pOVar27->super_Output_data).offset_;" (assignment_expression "(pRVar19->super_Object).name_.field_2._M_allocated_capacity =\n         CONCAT44(extraout_var_01,iVar16) + (pOVar27->super_Output_data).offset_" (field_expression "(pRVar19->super_Object).name_.field_2._M_allocated_capacity" (field_expression "(pRVar19->super_Object).name_.field_2" (field_expression "(pRVar19->super_Object).name_" (parenthesized_expression "(pRVar19->super_Object)" ( (field_expression "pRVar19->super_Object" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (binary_expression "CONCAT44(extraout_var_01,iVar16) + (pOVar27->super_Output_data).offset_" (call_expression "CONCAT44(extraout_var_01,iVar16)" identifier (argument_list "(extraout_var_01,iVar16)" ( identifier , identifier ))) + (field_expression "(pOVar27->super_Output_data).offset_" (parenthesized_expression "(pOVar27->super_Output_data)" ( (field_expression "pOVar27->super_Output_data" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "uVar15 = *(uint *)&(pRVar19->super_Object).compressed_sections_;" (assignment_expression "uVar15 = *(uint *)&(pRVar19->super_Object).compressed_sections_" identifier = (pointer_expression "*(uint *)&(pRVar19->super_Object).compressed_sections_" * (cast_expression "(uint *)&(pRVar19->super_Object).compressed_sections_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pRVar19->super_Object).compressed_sections_" & (field_expression "(pRVar19->super_Object).compressed_sections_" (parenthesized_expression "(pRVar19->super_Object)" ( (field_expression "pRVar19->super_Object" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "(pRVar19->super_Object).name_.field_2._M_local_buf[8] = bVar6 | 5;" (assignment_expression "(pRVar19->super_Object).name_.field_2._M_local_buf[8] = bVar6 | 5" (subscript_expression "(pRVar19->super_Object).name_.field_2._M_local_buf[8]" (field_expression "(pRVar19->super_Object).name_.field_2._M_local_buf" (field_expression "(pRVar19->super_Object).name_.field_2" (field_expression "(pRVar19->super_Object).name_" (parenthesized_expression "(pRVar19->super_Object)" ( (field_expression "pRVar19->super_Object" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ]) = (binary_expression "bVar6 | 5" identifier | number_literal)) ;) (if_statement "if ((bVar6 & 2) != 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }" if (parenthesized_expression "((bVar6 & 2) != 0)" ( (binary_expression "(bVar6 & 2) != 0" (parenthesized_expression "(bVar6 & 2)" ( (binary_expression "bVar6 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child");" (call_expression "do_gold_unreachable("../../gold/output.h",0x231,"set_current_data_size_for_child")" identifier (argument_list "("../../gold/output.h",0x231,"set_current_data_size_for_child")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_current_data_size_for_child"" " string_content ") ))) ;)) })) (expression_statement "(pRVar19->super_Object).name_._M_string_length = (ulong)uVar15;" (assignment_expression "(pRVar19->super_Object).name_._M_string_length = (ulong)uVar15" (field_expression "(pRVar19->super_Object).name_._M_string_length" (field_expression "(pRVar19->super_Object).name_" (parenthesized_expression "(pRVar19->super_Object)" ( (field_expression "pRVar19->super_Object" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(ulong)uVar15" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "Arm_input_section<false>::set_final_data_size((Arm_input_section<false> *)pRVar19);" (binary_expression "Arm_input_section<false>::set_final_data_size((Arm_input_section<false> *)pRVar19)" (binary_expression "Arm_input_section<false" identifier < false) > (ERROR "::" : :) (call_expression "set_final_data_size((Arm_input_section<false> *)pRVar19)" identifier (argument_list "((Arm_input_section<false> *)pRVar19)" ( (parenthesized_expression "(Arm_input_section<false> *)pRVar19)" ( (binary_expression "Arm_input_section<false> *)pRVar19" (binary_expression "Arm_input_section<false" identifier < false) > (pointer_expression "*)pRVar19" * (ERROR ")" )) identifier)) )) )))) ;) (if_statement "if (((pRVar19->super_Object).name_.field_2._M_local_buf[8] & 2U) == 0) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n    }" if (parenthesized_expression "(((pRVar19->super_Object).name_.field_2._M_local_buf[8] & 2U) == 0)" ( (binary_expression "((pRVar19->super_Object).name_.field_2._M_local_buf[8] & 2U) == 0" (parenthesized_expression "((pRVar19->super_Object).name_.field_2._M_local_buf[8] & 2U)" ( (binary_expression "(pRVar19->super_Object).name_.field_2._M_local_buf[8] & 2U" (subscript_expression "(pRVar19->super_Object).name_.field_2._M_local_buf[8]" (field_expression "(pRVar19->super_Object).name_.field_2._M_local_buf" (field_expression "(pRVar19->super_Object).name_.field_2" (field_expression "(pRVar19->super_Object).name_" (parenthesized_expression "(pRVar19->super_Object)" ( (field_expression "pRVar19->super_Object" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n    }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");" (call_expression "do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size")" identifier (argument_list "("../../gold/output.h",0x163,"finalize_data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""finalize_data_size"" " string_content ") ))) ;)) })) (expression_statement "p_Var21 = (_Hash_node_base *)operator_new(0x28);" (assignment_expression "p_Var21 = (_Hash_node_base *)operator_new(0x28)" identifier = (cast_expression "(_Hash_node_base *)operator_new(0x28)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x28)" identifier (argument_list "(0x28)" ( number_literal ))))) ;) (expression_statement "p_Var21->_M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "p_Var21->_M_nxt = (_Hash_node_base *)0x0" (field_expression "p_Var21->_M_nxt" identifier -> field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar26 = (target->arm_input_section_map_)._M_h._M_bucket_count;" (assignment_expression "uVar26 = (target->arm_input_section_map_)._M_h._M_bucket_count" identifier = (field_expression "(target->arm_input_section_map_)._M_h._M_bucket_count" (field_expression "(target->arm_input_section_map_)._M_h" (parenthesized_expression "(target->arm_input_section_map_)" ( (field_expression "target->arm_input_section_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "p_Var21[1]._M_nxt = (_Hash_node_base *)this_00;" (assignment_expression "p_Var21[1]._M_nxt = (_Hash_node_base *)this_00" (field_expression "p_Var21[1]._M_nxt" (subscript_expression "p_Var21[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_Hash_node_base *)this_00" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "p_Var21[2]._M_nxt = (_Hash_node_base *)CONCAT44(uStack_4c,uVar14);" (assignment_expression "p_Var21[2]._M_nxt = (_Hash_node_base *)CONCAT44(uStack_4c,uVar14)" (field_expression "p_Var21[2]._M_nxt" (subscript_expression "p_Var21[2]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_Hash_node_base *)CONCAT44(uStack_4c,uVar14)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT44(uStack_4c,uVar14)" identifier (argument_list "(uStack_4c,uVar14)" ( identifier , identifier ))))) ;) (expression_statement "p_Var21[3]._M_nxt = (_Hash_node_base *)pRVar19;" (assignment_expression "p_Var21[3]._M_nxt = (_Hash_node_base *)pRVar19" (field_expression "p_Var21[3]._M_nxt" (subscript_expression "p_Var21[3]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(_Hash_node_base *)pRVar19" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "p_Var31 = (_Hash_node_base *)((ulong)this_00 ^ (ulong)*(uint *)&p_Var21[2]._M_nxt);" (assignment_expression "p_Var31 = (_Hash_node_base *)((ulong)this_00 ^ (ulong)*(uint *)&p_Var21[2]._M_nxt)" identifier = (cast_expression "(_Hash_node_base *)((ulong)this_00 ^ (ulong)*(uint *)&p_Var21[2]._M_nxt)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)this_00 ^ (ulong)*(uint *)&p_Var21[2]._M_nxt)" ( (binary_expression "(ulong)this_00 ^ (ulong)*(uint *)&p_Var21[2]._M_nxt" (cast_expression "(ulong)this_00" ( (type_descriptor "ulong" type_identifier) ) identifier) ^ (binary_expression "(ulong)*(uint *)&p_Var21[2]._M_nxt" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)&p_Var21[2]._M_nxt" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&p_Var21[2]._M_nxt" & (field_expression "p_Var21[2]._M_nxt" (subscript_expression "p_Var21[2]" identifier [ number_literal ]) . field_identifier))))) )))) ;) (expression_statement "local_78 = (ulong)p_Var31 % uVar26;" (assignment_expression "local_78 = (ulong)p_Var31 % uVar26" identifier = (binary_expression "(ulong)p_Var31 % uVar26" (cast_expression "(ulong)p_Var31" ( (type_descriptor "ulong" type_identifier) ) identifier) % identifier)) ;) (expression_statement "local_58 = this_00;" (assignment_expression "local_58 = this_00" identifier = identifier) ;) (expression_statement "uStack_50 = uVar14;" (assignment_expression "uStack_50 = uVar14" identifier = identifier) ;) (ERROR "p_Var22 = std::\n              _Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::" (assignment_expression "p_Var22 = std" identifier = identifier) : : (binary_expression "_Hashtable<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_std" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_(anonymous_namespace)" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : : (binary_expression "Arm_input_section<false>*>,_std" (binary_expression "Arm_input_section<false" identifier < false) > (pointer_expression "*>,_std" * (ERROR ">," > ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : (binary_expression "Relobj*,_unsigned_int>,_(anonymous_namespace)" (binary_expression "Relobj*,_unsigned_int" identifier * (ERROR "," ,) identifier) > (ERROR "," ,) (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : : (binary_expression "Arm_input_section<false>*>_>,_std" (binary_expression "Arm_input_section<false>*>_" (binary_expression "Arm_input_section<false" identifier < false) > (pointer_expression "*>_" * (ERROR ">" >) identifier)) > (ERROR "," ,) identifier) : : (comma_expression "__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold" identifier (ERROR "::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>" : : (comma_expression "_Select1st,_std" identifier , identifier) : : (binary_expression "equal_to<std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , (binary_expression "_unsigned_int>_" identifier > identifier) >) , identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : :) (labeled_statement "__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              ::_M_find_before_node\n                        ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                          *)&target->arm_input_section_map_,local_78,(key_type *)(p_Var21 + 1),\n                         (__hash_code)p_Var31);" statement_identifier (ERROR "::_Mod_range_hashing,_std:" : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) :) : (labeled_statement "__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              ::_M_find_before_node\n                        ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                          *)&target->arm_input_section_map_,local_78,(key_type *)(p_Var21 + 1),\n                         (__hash_code)p_Var31);" statement_identifier (ERROR "::_Default_ranged_hash,_std:" : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) :) : (labeled_statement "__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n              ::_M_find_before_node\n                        ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                          *)&target->arm_input_section_map_,local_78,(key_type *)(p_Var21 + 1),\n                         (__hash_code)p_Var31);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (labeled_statement "__detail::_Hashtable_traits<true,_false,_true>_>\n              ::_M_find_before_node\n                        ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                          *)&target->arm_input_section_map_,local_78,(key_type *)(p_Var21 + 1),\n                         (__hash_code)p_Var31);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_false,_true>_>\n              ::_M_find_before_node\n                        ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                          *)&target->arm_input_section_map_,local_78,(key_type *)(p_Var21 + 1),\n                         (__hash_code)p_Var31);" (comma_expression "_Hashtable_traits<true,_false,_true>_>\n              ::_M_find_before_node\n                        ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                          *)&target->arm_input_section_map_,local_78,(key_type *)(p_Var21 + 1),\n                         (__hash_code)p_Var31)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n              ::_M_find_before_node\n                        ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                          *)&target->arm_input_section_map_,local_78,(key_type *)(p_Var21 + 1),\n                         (__hash_code)p_Var31)" identifier , (binary_expression "_true>_>\n              ::_M_find_before_node\n                        ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                          *)&target->arm_input_section_map_,local_78,(key_type *)(p_Var21 + 1),\n                         (__hash_code)p_Var31)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "_M_find_before_node\n                        ((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                          *)&target->arm_input_section_map_,local_78,(key_type *)(p_Var21 + 1),\n                         (__hash_code)p_Var31)" identifier (argument_list "((_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                          *)&target->arm_input_section_map_,local_78,(key_type *)(p_Var21 + 1),\n                         (__hash_code)p_Var31)" ( (binary_expression "(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                          *)&target->arm_input_section_map_" (parenthesized_expression "(_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                          *)" ( (ERROR "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std::equal_to<std::pair<gold::Relobj*,_unsigned_int>_>,_gold::Section_id_hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (comma_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std::__detail::_Select1st,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>_" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std::pair<const_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std::allocator<std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false>*>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<false" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std::pair<gold" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std::pair<const_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int>,_std" (binary_expression "_Hashtable<std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable<std::pair<gold" (binary_expression "_Hashtable<std" identifier < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) (ERROR "::Arm_input_section" : : identifier) < false) > (pointer_expression "*>,_std" * (ERROR ">," > ,) identifier)) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) (ERROR "::Arm_input_section" : : identifier) < false) > (pointer_expression "*>_" * (ERROR ">" >) identifier)) > (ERROR "," ,) identifier) (ERROR "::__detail::_Select1st" : : identifier : : identifier) , identifier) : : identifier < identifier : : identifier < identifier : : identifier * , (binary_expression "_unsigned_int>_>,_gold" (binary_expression "_unsigned_int>_" identifier > identifier) > (ERROR "," ,) identifier) : : (comma_expression "Section_id_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Mod_range_hashing,_std" identifier , identifier) : : identifier : : (comma_expression "_Default_ranged_hash,_std" identifier , identifier) : : identifier : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) : : identifier : :) (comma_expression "_Hashtable_traits<true,_false,_true>_>\n                          *" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n                          *" identifier , (binary_expression "_true>_>\n                          *" (binary_expression "_true>_" identifier > identifier) > (pointer_expression "*" * identifier)))) )) & (field_expression "target->arm_input_section_map_" identifier -> field_identifier)) , identifier , (cast_expression "(key_type *)(p_Var21 + 1)" ( (type_descriptor "key_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p_Var21 + 1)" ( (binary_expression "p_Var21 + 1" identifier + number_literal) ))) , (cast_expression "(__hash_code)p_Var31" ( (type_descriptor "__hash_code" type_identifier) ) identifier) )))))) ;))))) (if_statement "if ((p_Var22 != (__node_base *)0x0) && (p_Var22->_M_nxt != (_Hash_node_base *)0x0)) {\n      operator_delete(p_Var21);\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }" if (parenthesized_expression "((p_Var22 != (__node_base *)0x0) && (p_Var22->_M_nxt != (_Hash_node_base *)0x0))" ( (binary_expression "(p_Var22 != (__node_base *)0x0) && (p_Var22->_M_nxt != (_Hash_node_base *)0x0)" (parenthesized_expression "(p_Var22 != (__node_base *)0x0)" ( (binary_expression "p_Var22 != (__node_base *)0x0" identifier != (cast_expression "(__node_base *)0x0" ( (type_descriptor "__node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(p_Var22->_M_nxt != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var22->_M_nxt != (_Hash_node_base *)0x0" (field_expression "p_Var22->_M_nxt" identifier -> field_identifier) != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n      operator_delete(p_Var21);\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }" { (expression_statement "operator_delete(p_Var21);" (call_expression "operator_delete(p_Var21)" identifier (argument_list "(p_Var21)" ( identifier ))) ;) comment (labeled_statement "gold::do_gold_unreachable("../../gold/arm.cc",0x2e50,"new_arm_input_section");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/arm.cc",0x2e50,"new_arm_input_section");" (call_expression "do_gold_unreachable("../../gold/arm.cc",0x2e50,"new_arm_input_section")" identifier (argument_list "("../../gold/arm.cc",0x2e50,"new_arm_input_section")" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""new_arm_input_section"" " string_content ") ))) ;)) })) (ERROR "cVar13 = std::" (assignment_expression "cVar13 = std" identifier = identifier) : :) (labeled_statement "__detail::_Prime_rehash_policy::_M_need_rehash\n                       (&(target->arm_input_section_map_)._M_h._M_rehash_policy,uVar26,\n                        (target->arm_input_section_map_)._M_h._M_element_count,1);" statement_identifier : (ERROR ":" :) (labeled_statement "_Prime_rehash_policy::_M_need_rehash\n                       (&(target->arm_input_section_map_)._M_h._M_rehash_policy,uVar26,\n                        (target->arm_input_section_map_)._M_h._M_element_count,1);" statement_identifier : (ERROR ":" :) (expression_statement "_M_need_rehash\n                       (&(target->arm_input_section_map_)._M_h._M_rehash_policy,uVar26,\n                        (target->arm_input_section_map_)._M_h._M_element_count,1);" (call_expression "_M_need_rehash\n                       (&(target->arm_input_section_map_)._M_h._M_rehash_policy,uVar26,\n                        (target->arm_input_section_map_)._M_h._M_element_count,1)" identifier (argument_list "(&(target->arm_input_section_map_)._M_h._M_rehash_policy,uVar26,\n                        (target->arm_input_section_map_)._M_h._M_element_count,1)" ( (pointer_expression "&(target->arm_input_section_map_)._M_h._M_rehash_policy" & (field_expression "(target->arm_input_section_map_)._M_h._M_rehash_policy" (field_expression "(target->arm_input_section_map_)._M_h" (parenthesized_expression "(target->arm_input_section_map_)" ( (field_expression "target->arm_input_section_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) , identifier , (field_expression "(target->arm_input_section_map_)._M_h._M_element_count" (field_expression "(target->arm_input_section_map_)._M_h" (parenthesized_expression "(target->arm_input_section_map_)" ( (field_expression "target->arm_input_section_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier) , number_literal ))) ;))) (if_statement "if (cVar13 == '\0') {\n      pp_Var23 = (target->arm_input_section_map_)._M_h._M_buckets;\n    }\n    else {\n      if (this_01 ==\n          (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n           *)0x1) {\n        pp_Var23 = &(target->arm_input_section_map_)._M_h._M_single_bucket;\n        (target->arm_input_section_map_)._M_h._M_single_bucket = (__bucket_type)0x0;\n      }\n      else {\n                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */\n        pp_Var23 = std::__detail::\n                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n                   ::_M_allocate_buckets(this_01,uVar26);\n      }\n      p_Var28 = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n      (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n      if (p_Var28 != (_Hash_node_base *)0x0) {\n        uVar26 = 0;\n        do {\n          while( true ) {\n            p_Var8 = p_Var28->_M_nxt;\n            uVar30 = (ulong)p_Var28[4]._M_nxt % (ulong)this_01;\n            pp_Var9 = pp_Var23 + uVar30;\n            if (*pp_Var9 == (__bucket_type)0x0) break;\n            p_Var28->_M_nxt = (*pp_Var9)->_M_nxt;\n            (*pp_Var9)->_M_nxt = p_Var28;\n            uVar30 = uVar26;\nLAB_0024831c:\n            p_Var28 = p_Var8;\n            uVar26 = uVar30;\n            if (p_Var8 == (_Hash_node_base *)0x0) goto LAB_00248370;\n          }\n          p_Var28->_M_nxt = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n          (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var28;\n          *pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin;\n          if (p_Var28->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0024831c;\n          pp_Var23[uVar26] = p_Var28;\n          p_Var28 = p_Var8;\n          uVar26 = uVar30;\n        } while (p_Var8 != (_Hash_node_base *)0x0);\n      }\nLAB_00248370:\n      pp_Var9 = (target->arm_input_section_map_)._M_h._M_buckets;\n      if (pp_Var9 != &(target->arm_input_section_map_)._M_h._M_single_bucket) {\n        operator_delete(pp_Var9);\n      }\n      (target->arm_input_section_map_)._M_h._M_bucket_count = (size_type)this_01;\n      local_78 = (ulong)p_Var31 % (ulong)this_01;\n      (target->arm_input_section_map_)._M_h._M_buckets = pp_Var23;\n    }" if (parenthesized_expression "(cVar13 == '\0')" ( (binary_expression "cVar13 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      pp_Var23 = (target->arm_input_section_map_)._M_h._M_buckets;\n    }" { (expression_statement "pp_Var23 = (target->arm_input_section_map_)._M_h._M_buckets;" (assignment_expression "pp_Var23 = (target->arm_input_section_map_)._M_h._M_buckets" identifier = (field_expression "(target->arm_input_section_map_)._M_h._M_buckets" (field_expression "(target->arm_input_section_map_)._M_h" (parenthesized_expression "(target->arm_input_section_map_)" ( (field_expression "target->arm_input_section_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) }) (else_clause "else {\n      if (this_01 ==\n          (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n           *)0x1) {\n        pp_Var23 = &(target->arm_input_section_map_)._M_h._M_single_bucket;\n        (target->arm_input_section_map_)._M_h._M_single_bucket = (__bucket_type)0x0;\n      }\n      else {\n                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */\n        pp_Var23 = std::__detail::\n                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n                   ::_M_allocate_buckets(this_01,uVar26);\n      }\n      p_Var28 = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n      (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n      if (p_Var28 != (_Hash_node_base *)0x0) {\n        uVar26 = 0;\n        do {\n          while( true ) {\n            p_Var8 = p_Var28->_M_nxt;\n            uVar30 = (ulong)p_Var28[4]._M_nxt % (ulong)this_01;\n            pp_Var9 = pp_Var23 + uVar30;\n            if (*pp_Var9 == (__bucket_type)0x0) break;\n            p_Var28->_M_nxt = (*pp_Var9)->_M_nxt;\n            (*pp_Var9)->_M_nxt = p_Var28;\n            uVar30 = uVar26;\nLAB_0024831c:\n            p_Var28 = p_Var8;\n            uVar26 = uVar30;\n            if (p_Var8 == (_Hash_node_base *)0x0) goto LAB_00248370;\n          }\n          p_Var28->_M_nxt = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n          (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var28;\n          *pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin;\n          if (p_Var28->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0024831c;\n          pp_Var23[uVar26] = p_Var28;\n          p_Var28 = p_Var8;\n          uVar26 = uVar30;\n        } while (p_Var8 != (_Hash_node_base *)0x0);\n      }\nLAB_00248370:\n      pp_Var9 = (target->arm_input_section_map_)._M_h._M_buckets;\n      if (pp_Var9 != &(target->arm_input_section_map_)._M_h._M_single_bucket) {\n        operator_delete(pp_Var9);\n      }\n      (target->arm_input_section_map_)._M_h._M_bucket_count = (size_type)this_01;\n      local_78 = (ulong)p_Var31 % (ulong)this_01;\n      (target->arm_input_section_map_)._M_h._M_buckets = pp_Var23;\n    }" else (compound_statement "{\n      if (this_01 ==\n          (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n           *)0x1) {\n        pp_Var23 = &(target->arm_input_section_map_)._M_h._M_single_bucket;\n        (target->arm_input_section_map_)._M_h._M_single_bucket = (__bucket_type)0x0;\n      }\n      else {\n                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */\n        pp_Var23 = std::__detail::\n                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n                   ::_M_allocate_buckets(this_01,uVar26);\n      }\n      p_Var28 = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n      (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;\n      if (p_Var28 != (_Hash_node_base *)0x0) {\n        uVar26 = 0;\n        do {\n          while( true ) {\n            p_Var8 = p_Var28->_M_nxt;\n            uVar30 = (ulong)p_Var28[4]._M_nxt % (ulong)this_01;\n            pp_Var9 = pp_Var23 + uVar30;\n            if (*pp_Var9 == (__bucket_type)0x0) break;\n            p_Var28->_M_nxt = (*pp_Var9)->_M_nxt;\n            (*pp_Var9)->_M_nxt = p_Var28;\n            uVar30 = uVar26;\nLAB_0024831c:\n            p_Var28 = p_Var8;\n            uVar26 = uVar30;\n            if (p_Var8 == (_Hash_node_base *)0x0) goto LAB_00248370;\n          }\n          p_Var28->_M_nxt = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n          (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var28;\n          *pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin;\n          if (p_Var28->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0024831c;\n          pp_Var23[uVar26] = p_Var28;\n          p_Var28 = p_Var8;\n          uVar26 = uVar30;\n        } while (p_Var8 != (_Hash_node_base *)0x0);\n      }\nLAB_00248370:\n      pp_Var9 = (target->arm_input_section_map_)._M_h._M_buckets;\n      if (pp_Var9 != &(target->arm_input_section_map_)._M_h._M_single_bucket) {\n        operator_delete(pp_Var9);\n      }\n      (target->arm_input_section_map_)._M_h._M_bucket_count = (size_type)this_01;\n      local_78 = (ulong)p_Var31 % (ulong)this_01;\n      (target->arm_input_section_map_)._M_h._M_buckets = pp_Var23;\n    }" { (if_statement "if (this_01 ==\n          (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n           *)0x1) {\n        pp_Var23 = &(target->arm_input_section_map_)._M_h._M_single_bucket;\n        (target->arm_input_section_map_)._M_h._M_single_bucket = (__bucket_type)0x0;\n      }\n      else {\n                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */\n        pp_Var23 = std::__detail::\n                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n                   ::_M_allocate_buckets(this_01,uVar26);\n      }" if (parenthesized_expression "(this_01 ==\n          (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n           *)0x1)" ( (binary_expression "this_01 ==\n          (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n           *)0x1)" identifier == (parenthesized_expression "(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n           *)0x1)" ( (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n           *)0x1" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std" (binary_expression "_Hashtable_alloc<std::allocator<std" (binary_expression "_Hashtable_alloc<std" identifier < identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::__detail::_Hash_node" : : identifier : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) (ERROR "::Relobj" : : identifier) * (ERROR "," ,) identifier) > (ERROR "," ,) (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) (ERROR "::Arm_input_section" : : identifier) < true) > (pointer_expression "*>,_true" * (ERROR ">," > ,) identifier)) > identifier) > identifier) > (pointer_expression "*)0x1" * (ERROR ")" )) number_literal)) ))) )) (compound_statement "{\n        pp_Var23 = &(target->arm_input_section_map_)._M_h._M_single_bucket;\n        (target->arm_input_section_map_)._M_h._M_single_bucket = (__bucket_type)0x0;\n      }" { (expression_statement "pp_Var23 = &(target->arm_input_section_map_)._M_h._M_single_bucket;" (assignment_expression "pp_Var23 = &(target->arm_input_section_map_)._M_h._M_single_bucket" identifier = (pointer_expression "&(target->arm_input_section_map_)._M_h._M_single_bucket" & (field_expression "(target->arm_input_section_map_)._M_h._M_single_bucket" (field_expression "(target->arm_input_section_map_)._M_h" (parenthesized_expression "(target->arm_input_section_map_)" ( (field_expression "target->arm_input_section_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "(target->arm_input_section_map_)._M_h._M_single_bucket = (__bucket_type)0x0;" (assignment_expression "(target->arm_input_section_map_)._M_h._M_single_bucket = (__bucket_type)0x0" (field_expression "(target->arm_input_section_map_)._M_h._M_single_bucket" (field_expression "(target->arm_input_section_map_)._M_h" (parenthesized_expression "(target->arm_input_section_map_)" ( (field_expression "target->arm_input_section_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) ;) }) (else_clause "else {\n                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */\n        pp_Var23 = std::__detail::\n                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n                   ::_M_allocate_buckets(this_01,uVar26);\n      }" else (compound_statement "{\n                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */\n        pp_Var23 = std::__detail::\n                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n                   ::_M_allocate_buckets(this_01,uVar26);\n      }" { comment (ERROR "pp_Var23 = std::" (assignment_expression "pp_Var23 = std" identifier = identifier) : :) (labeled_statement "__detail::\n                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n                   ::_M_allocate_buckets(this_01,uVar26);" statement_identifier (ERROR "::\n                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)::Arm_input_section<true>*>,_true>_>_>\n                   :" : : (binary_expression "_Hashtable_alloc<std" identifier < identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__detail::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>,_(anonymous_namespace)" identifier (ERROR "::_Hash_node<std::pair<const_std::pair<gold::Relobj*,_unsigned_int>" : : (binary_expression "_Hash_node<std" identifier < identifier) : : (binary_expression "pair<const_std" identifier < identifier) : : (binary_expression "pair<gold" identifier < identifier) : : identifier * , identifier >) , (call_expression "_(anonymous_namespace)" identifier (argument_list "(anonymous_namespace)" ( identifier )))) : : (binary_expression "Arm_input_section<true>*>,_true>_>_" (binary_expression "Arm_input_section<true>*>,_true>_" (binary_expression "Arm_input_section<true>*>,_true" (binary_expression "Arm_input_section<true" identifier < true) > (pointer_expression "*>,_true" * (ERROR ">," > ,) identifier)) > identifier) > identifier) > :) : (expression_statement "_M_allocate_buckets(this_01,uVar26);" (call_expression "_M_allocate_buckets(this_01,uVar26)" identifier (argument_list "(this_01,uVar26)" ( identifier , identifier ))) ;)) }))) (expression_statement "p_Var28 = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;" (assignment_expression "p_Var28 = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt" identifier = (field_expression "(target->arm_input_section_map_)._M_h._M_before_begin._M_nxt" (field_expression "(target->arm_input_section_map_)._M_h._M_before_begin" (field_expression "(target->arm_input_section_map_)._M_h" (parenthesized_expression "(target->arm_input_section_map_)" ( (field_expression "target->arm_input_section_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "(target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "(target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0" (field_expression "(target->arm_input_section_map_)._M_h._M_before_begin._M_nxt" (field_expression "(target->arm_input_section_map_)._M_h._M_before_begin" (field_expression "(target->arm_input_section_map_)._M_h" (parenthesized_expression "(target->arm_input_section_map_)" ( (field_expression "target->arm_input_section_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (p_Var28 != (_Hash_node_base *)0x0) {\n        uVar26 = 0;\n        do {\n          while( true ) {\n            p_Var8 = p_Var28->_M_nxt;\n            uVar30 = (ulong)p_Var28[4]._M_nxt % (ulong)this_01;\n            pp_Var9 = pp_Var23 + uVar30;\n            if (*pp_Var9 == (__bucket_type)0x0) break;\n            p_Var28->_M_nxt = (*pp_Var9)->_M_nxt;\n            (*pp_Var9)->_M_nxt = p_Var28;\n            uVar30 = uVar26;\nLAB_0024831c:\n            p_Var28 = p_Var8;\n            uVar26 = uVar30;\n            if (p_Var8 == (_Hash_node_base *)0x0) goto LAB_00248370;\n          }\n          p_Var28->_M_nxt = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n          (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var28;\n          *pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin;\n          if (p_Var28->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0024831c;\n          pp_Var23[uVar26] = p_Var28;\n          p_Var28 = p_Var8;\n          uVar26 = uVar30;\n        } while (p_Var8 != (_Hash_node_base *)0x0);\n      }" if (parenthesized_expression "(p_Var28 != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var28 != (_Hash_node_base *)0x0" identifier != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar26 = 0;\n        do {\n          while( true ) {\n            p_Var8 = p_Var28->_M_nxt;\n            uVar30 = (ulong)p_Var28[4]._M_nxt % (ulong)this_01;\n            pp_Var9 = pp_Var23 + uVar30;\n            if (*pp_Var9 == (__bucket_type)0x0) break;\n            p_Var28->_M_nxt = (*pp_Var9)->_M_nxt;\n            (*pp_Var9)->_M_nxt = p_Var28;\n            uVar30 = uVar26;\nLAB_0024831c:\n            p_Var28 = p_Var8;\n            uVar26 = uVar30;\n            if (p_Var8 == (_Hash_node_base *)0x0) goto LAB_00248370;\n          }\n          p_Var28->_M_nxt = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n          (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var28;\n          *pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin;\n          if (p_Var28->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0024831c;\n          pp_Var23[uVar26] = p_Var28;\n          p_Var28 = p_Var8;\n          uVar26 = uVar30;\n        } while (p_Var8 != (_Hash_node_base *)0x0);\n      }" { (expression_statement "uVar26 = 0;" (assignment_expression "uVar26 = 0" identifier = number_literal) ;) (do_statement "do {\n          while( true ) {\n            p_Var8 = p_Var28->_M_nxt;\n            uVar30 = (ulong)p_Var28[4]._M_nxt % (ulong)this_01;\n            pp_Var9 = pp_Var23 + uVar30;\n            if (*pp_Var9 == (__bucket_type)0x0) break;\n            p_Var28->_M_nxt = (*pp_Var9)->_M_nxt;\n            (*pp_Var9)->_M_nxt = p_Var28;\n            uVar30 = uVar26;\nLAB_0024831c:\n            p_Var28 = p_Var8;\n            uVar26 = uVar30;\n            if (p_Var8 == (_Hash_node_base *)0x0) goto LAB_00248370;\n          }\n          p_Var28->_M_nxt = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n          (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var28;\n          *pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin;\n          if (p_Var28->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0024831c;\n          pp_Var23[uVar26] = p_Var28;\n          p_Var28 = p_Var8;\n          uVar26 = uVar30;\n        } while (p_Var8 != (_Hash_node_base *)0x0);" do (compound_statement "{\n          while( true ) {\n            p_Var8 = p_Var28->_M_nxt;\n            uVar30 = (ulong)p_Var28[4]._M_nxt % (ulong)this_01;\n            pp_Var9 = pp_Var23 + uVar30;\n            if (*pp_Var9 == (__bucket_type)0x0) break;\n            p_Var28->_M_nxt = (*pp_Var9)->_M_nxt;\n            (*pp_Var9)->_M_nxt = p_Var28;\n            uVar30 = uVar26;\nLAB_0024831c:\n            p_Var28 = p_Var8;\n            uVar26 = uVar30;\n            if (p_Var8 == (_Hash_node_base *)0x0) goto LAB_00248370;\n          }\n          p_Var28->_M_nxt = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n          (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var28;\n          *pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin;\n          if (p_Var28->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0024831c;\n          pp_Var23[uVar26] = p_Var28;\n          p_Var28 = p_Var8;\n          uVar26 = uVar30;\n        }" { (while_statement "while( true ) {\n            p_Var8 = p_Var28->_M_nxt;\n            uVar30 = (ulong)p_Var28[4]._M_nxt % (ulong)this_01;\n            pp_Var9 = pp_Var23 + uVar30;\n            if (*pp_Var9 == (__bucket_type)0x0) break;\n            p_Var28->_M_nxt = (*pp_Var9)->_M_nxt;\n            (*pp_Var9)->_M_nxt = p_Var28;\n            uVar30 = uVar26;\nLAB_0024831c:\n            p_Var28 = p_Var8;\n            uVar26 = uVar30;\n            if (p_Var8 == (_Hash_node_base *)0x0) goto LAB_00248370;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            p_Var8 = p_Var28->_M_nxt;\n            uVar30 = (ulong)p_Var28[4]._M_nxt % (ulong)this_01;\n            pp_Var9 = pp_Var23 + uVar30;\n            if (*pp_Var9 == (__bucket_type)0x0) break;\n            p_Var28->_M_nxt = (*pp_Var9)->_M_nxt;\n            (*pp_Var9)->_M_nxt = p_Var28;\n            uVar30 = uVar26;\nLAB_0024831c:\n            p_Var28 = p_Var8;\n            uVar26 = uVar30;\n            if (p_Var8 == (_Hash_node_base *)0x0) goto LAB_00248370;\n          }" { (expression_statement "p_Var8 = p_Var28->_M_nxt;" (assignment_expression "p_Var8 = p_Var28->_M_nxt" identifier = (field_expression "p_Var28->_M_nxt" identifier -> field_identifier)) ;) (expression_statement "uVar30 = (ulong)p_Var28[4]._M_nxt % (ulong)this_01;" (assignment_expression "uVar30 = (ulong)p_Var28[4]._M_nxt % (ulong)this_01" identifier = (binary_expression "(ulong)p_Var28[4]._M_nxt % (ulong)this_01" (cast_expression "(ulong)p_Var28[4]._M_nxt" ( (type_descriptor "ulong" type_identifier) ) (field_expression "p_Var28[4]._M_nxt" (subscript_expression "p_Var28[4]" identifier [ number_literal ]) . field_identifier)) % (cast_expression "(ulong)this_01" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "pp_Var9 = pp_Var23 + uVar30;" (assignment_expression "pp_Var9 = pp_Var23 + uVar30" identifier = (binary_expression "pp_Var23 + uVar30" identifier + identifier)) ;) (if_statement "if (*pp_Var9 == (__bucket_type)0x0) break;" if (parenthesized_expression "(*pp_Var9 == (__bucket_type)0x0)" ( (binary_expression "*pp_Var9 == (__bucket_type)0x0" (pointer_expression "*pp_Var9" * identifier) == (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "p_Var28->_M_nxt = (*pp_Var9)->_M_nxt;" (assignment_expression "p_Var28->_M_nxt = (*pp_Var9)->_M_nxt" (field_expression "p_Var28->_M_nxt" identifier -> field_identifier) = (field_expression "(*pp_Var9)->_M_nxt" (parenthesized_expression "(*pp_Var9)" ( (pointer_expression "*pp_Var9" * identifier) )) -> field_identifier)) ;) (expression_statement "(*pp_Var9)->_M_nxt = p_Var28;" (assignment_expression "(*pp_Var9)->_M_nxt = p_Var28" (field_expression "(*pp_Var9)->_M_nxt" (parenthesized_expression "(*pp_Var9)" ( (pointer_expression "*pp_Var9" * identifier) )) -> field_identifier) = identifier) ;) (expression_statement "uVar30 = uVar26;" (assignment_expression "uVar30 = uVar26" identifier = identifier) ;) (labeled_statement "LAB_0024831c:\n            p_Var28 = p_Var8;" statement_identifier : (expression_statement "p_Var28 = p_Var8;" (assignment_expression "p_Var28 = p_Var8" identifier = identifier) ;)) (expression_statement "uVar26 = uVar30;" (assignment_expression "uVar26 = uVar30" identifier = identifier) ;) (if_statement "if (p_Var8 == (_Hash_node_base *)0x0) goto LAB_00248370;" if (parenthesized_expression "(p_Var8 == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var8 == (_Hash_node_base *)0x0" identifier == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00248370;" goto statement_identifier ;)) })) (expression_statement "p_Var28->_M_nxt = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;" (assignment_expression "p_Var28->_M_nxt = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt" (field_expression "p_Var28->_M_nxt" identifier -> field_identifier) = (field_expression "(target->arm_input_section_map_)._M_h._M_before_begin._M_nxt" (field_expression "(target->arm_input_section_map_)._M_h._M_before_begin" (field_expression "(target->arm_input_section_map_)._M_h" (parenthesized_expression "(target->arm_input_section_map_)" ( (field_expression "target->arm_input_section_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "(target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var28;" (assignment_expression "(target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var28" (field_expression "(target->arm_input_section_map_)._M_h._M_before_begin._M_nxt" (field_expression "(target->arm_input_section_map_)._M_h._M_before_begin" (field_expression "(target->arm_input_section_map_)._M_h" (parenthesized_expression "(target->arm_input_section_map_)" ( (field_expression "target->arm_input_section_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "*pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin;" (assignment_expression "*pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin" (pointer_expression "*pp_Var9" * identifier) = (pointer_expression "&(target->arm_input_section_map_)._M_h._M_before_begin" & (field_expression "(target->arm_input_section_map_)._M_h._M_before_begin" (field_expression "(target->arm_input_section_map_)._M_h" (parenthesized_expression "(target->arm_input_section_map_)" ( (field_expression "target->arm_input_section_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (if_statement "if (p_Var28->_M_nxt == (_Hash_node_base *)0x0) goto LAB_0024831c;" if (parenthesized_expression "(p_Var28->_M_nxt == (_Hash_node_base *)0x0)" ( (binary_expression "p_Var28->_M_nxt == (_Hash_node_base *)0x0" (field_expression "p_Var28->_M_nxt" identifier -> field_identifier) == (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0024831c;" goto statement_identifier ;)) (expression_statement "pp_Var23[uVar26] = p_Var28;" (assignment_expression "pp_Var23[uVar26] = p_Var28" (subscript_expression "pp_Var23[uVar26]" identifier [ identifier ]) = identifier) ;) (expression_statement "p_Var28 = p_Var8;" (assignment_expression "p_Var28 = p_Var8" identifier = identifier) ;) (expression_statement "uVar26 = uVar30;" (assignment_expression "uVar26 = uVar30" identifier = identifier) ;) }) while (parenthesized_expression "(p_Var8 != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var8 != (_Hash_node_base *)0x0" identifier != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (labeled_statement "LAB_00248370:\n      pp_Var9 = (target->arm_input_section_map_)._M_h._M_buckets;" statement_identifier : (expression_statement "pp_Var9 = (target->arm_input_section_map_)._M_h._M_buckets;" (assignment_expression "pp_Var9 = (target->arm_input_section_map_)._M_h._M_buckets" identifier = (field_expression "(target->arm_input_section_map_)._M_h._M_buckets" (field_expression "(target->arm_input_section_map_)._M_h" (parenthesized_expression "(target->arm_input_section_map_)" ( (field_expression "target->arm_input_section_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;)) (if_statement "if (pp_Var9 != &(target->arm_input_section_map_)._M_h._M_single_bucket) {\n        operator_delete(pp_Var9);\n      }" if (parenthesized_expression "(pp_Var9 != &(target->arm_input_section_map_)._M_h._M_single_bucket)" ( (binary_expression "pp_Var9 != &(target->arm_input_section_map_)._M_h._M_single_bucket" identifier != (pointer_expression "&(target->arm_input_section_map_)._M_h._M_single_bucket" & (field_expression "(target->arm_input_section_map_)._M_h._M_single_bucket" (field_expression "(target->arm_input_section_map_)._M_h" (parenthesized_expression "(target->arm_input_section_map_)" ( (field_expression "target->arm_input_section_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) )) (compound_statement "{\n        operator_delete(pp_Var9);\n      }" { (expression_statement "operator_delete(pp_Var9);" (call_expression "operator_delete(pp_Var9)" identifier (argument_list "(pp_Var9)" ( identifier ))) ;) })) (expression_statement "(target->arm_input_section_map_)._M_h._M_bucket_count = (size_type)this_01;" (assignment_expression "(target->arm_input_section_map_)._M_h._M_bucket_count = (size_type)this_01" (field_expression "(target->arm_input_section_map_)._M_h._M_bucket_count" (field_expression "(target->arm_input_section_map_)._M_h" (parenthesized_expression "(target->arm_input_section_map_)" ( (field_expression "target->arm_input_section_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(size_type)this_01" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (expression_statement "local_78 = (ulong)p_Var31 % (ulong)this_01;" (assignment_expression "local_78 = (ulong)p_Var31 % (ulong)this_01" identifier = (binary_expression "(ulong)p_Var31 % (ulong)this_01" (cast_expression "(ulong)p_Var31" ( (type_descriptor "ulong" type_identifier) ) identifier) % (cast_expression "(ulong)this_01" ( (type_descriptor "ulong" type_identifier) ) identifier))) ;) (expression_statement "(target->arm_input_section_map_)._M_h._M_buckets = pp_Var23;" (assignment_expression "(target->arm_input_section_map_)._M_h._M_buckets = pp_Var23" (field_expression "(target->arm_input_section_map_)._M_h._M_buckets" (field_expression "(target->arm_input_section_map_)._M_h" (parenthesized_expression "(target->arm_input_section_map_)" ( (field_expression "target->arm_input_section_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = identifier) ;) }))) (expression_statement "p_Var21[4]._M_nxt = p_Var31;" (assignment_expression "p_Var21[4]._M_nxt = p_Var31" (field_expression "p_Var21[4]._M_nxt" (subscript_expression "p_Var21[4]" identifier [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "pp_Var9 = pp_Var23 + local_78;" (assignment_expression "pp_Var9 = pp_Var23 + local_78" identifier = (binary_expression "pp_Var23 + local_78" identifier + identifier)) ;) (if_statement "if (*pp_Var9 == (__bucket_type)0x0) {\n      p_Var31 = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n      (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var21;\n      p_Var21->_M_nxt = p_Var31;\n      if (p_Var31 != (_Hash_node_base *)0x0) {\n        pp_Var23[(ulong)p_Var31[4]._M_nxt % (target->arm_input_section_map_)._M_h._M_bucket_count] =\n             p_Var21;\n      }\n      *pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin;\n    }\n    else {\n      p_Var21->_M_nxt = (*pp_Var9)->_M_nxt;\n      (*pp_Var9)->_M_nxt = p_Var21;\n    }" if (parenthesized_expression "(*pp_Var9 == (__bucket_type)0x0)" ( (binary_expression "*pp_Var9 == (__bucket_type)0x0" (pointer_expression "*pp_Var9" * identifier) == (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) )) (compound_statement "{\n      p_Var31 = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;\n      (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var21;\n      p_Var21->_M_nxt = p_Var31;\n      if (p_Var31 != (_Hash_node_base *)0x0) {\n        pp_Var23[(ulong)p_Var31[4]._M_nxt % (target->arm_input_section_map_)._M_h._M_bucket_count] =\n             p_Var21;\n      }\n      *pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin;\n    }" { (expression_statement "p_Var31 = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;" (assignment_expression "p_Var31 = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt" identifier = (field_expression "(target->arm_input_section_map_)._M_h._M_before_begin._M_nxt" (field_expression "(target->arm_input_section_map_)._M_h._M_before_begin" (field_expression "(target->arm_input_section_map_)._M_h" (parenthesized_expression "(target->arm_input_section_map_)" ( (field_expression "target->arm_input_section_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "(target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var21;" (assignment_expression "(target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = p_Var21" (field_expression "(target->arm_input_section_map_)._M_h._M_before_begin._M_nxt" (field_expression "(target->arm_input_section_map_)._M_h._M_before_begin" (field_expression "(target->arm_input_section_map_)._M_h" (parenthesized_expression "(target->arm_input_section_map_)" ( (field_expression "target->arm_input_section_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "p_Var21->_M_nxt = p_Var31;" (assignment_expression "p_Var21->_M_nxt = p_Var31" (field_expression "p_Var21->_M_nxt" identifier -> field_identifier) = identifier) ;) (if_statement "if (p_Var31 != (_Hash_node_base *)0x0) {\n        pp_Var23[(ulong)p_Var31[4]._M_nxt % (target->arm_input_section_map_)._M_h._M_bucket_count] =\n             p_Var21;\n      }" if (parenthesized_expression "(p_Var31 != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var31 != (_Hash_node_base *)0x0" identifier != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pp_Var23[(ulong)p_Var31[4]._M_nxt % (target->arm_input_section_map_)._M_h._M_bucket_count] =\n             p_Var21;\n      }" { (expression_statement "pp_Var23[(ulong)p_Var31[4]._M_nxt % (target->arm_input_section_map_)._M_h._M_bucket_count] =\n             p_Var21;" (assignment_expression "pp_Var23[(ulong)p_Var31[4]._M_nxt % (target->arm_input_section_map_)._M_h._M_bucket_count] =\n             p_Var21" (subscript_expression "pp_Var23[(ulong)p_Var31[4]._M_nxt % (target->arm_input_section_map_)._M_h._M_bucket_count]" identifier [ (binary_expression "(ulong)p_Var31[4]._M_nxt % (target->arm_input_section_map_)._M_h._M_bucket_count" (cast_expression "(ulong)p_Var31[4]._M_nxt" ( (type_descriptor "ulong" type_identifier) ) (field_expression "p_Var31[4]._M_nxt" (subscript_expression "p_Var31[4]" identifier [ number_literal ]) . field_identifier)) % (field_expression "(target->arm_input_section_map_)._M_h._M_bucket_count" (field_expression "(target->arm_input_section_map_)._M_h" (parenthesized_expression "(target->arm_input_section_map_)" ( (field_expression "target->arm_input_section_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ]) = identifier) ;) })) (expression_statement "*pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin;" (assignment_expression "*pp_Var9 = &(target->arm_input_section_map_)._M_h._M_before_begin" (pointer_expression "*pp_Var9" * identifier) = (pointer_expression "&(target->arm_input_section_map_)._M_h._M_before_begin" & (field_expression "(target->arm_input_section_map_)._M_h._M_before_begin" (field_expression "(target->arm_input_section_map_)._M_h" (parenthesized_expression "(target->arm_input_section_map_)" ( (field_expression "target->arm_input_section_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) }) (else_clause "else {\n      p_Var21->_M_nxt = (*pp_Var9)->_M_nxt;\n      (*pp_Var9)->_M_nxt = p_Var21;\n    }" else (compound_statement "{\n      p_Var21->_M_nxt = (*pp_Var9)->_M_nxt;\n      (*pp_Var9)->_M_nxt = p_Var21;\n    }" { (expression_statement "p_Var21->_M_nxt = (*pp_Var9)->_M_nxt;" (assignment_expression "p_Var21->_M_nxt = (*pp_Var9)->_M_nxt" (field_expression "p_Var21->_M_nxt" identifier -> field_identifier) = (field_expression "(*pp_Var9)->_M_nxt" (parenthesized_expression "(*pp_Var9)" ( (pointer_expression "*pp_Var9" * identifier) )) -> field_identifier)) ;) (expression_statement "(*pp_Var9)->_M_nxt = p_Var21;" (assignment_expression "(*pp_Var9)->_M_nxt = p_Var21" (field_expression "(*pp_Var9)->_M_nxt" (parenthesized_expression "(*pp_Var9)" ( (pointer_expression "*pp_Var9" * identifier) )) -> field_identifier) = identifier) ;) }))) (expression_statement "psVar4 = &(target->arm_input_section_map_)._M_h._M_element_count;" (assignment_expression "psVar4 = &(target->arm_input_section_map_)._M_h._M_element_count" identifier = (pointer_expression "&(target->arm_input_section_map_)._M_h._M_element_count" & (field_expression "(target->arm_input_section_map_)._M_h._M_element_count" (field_expression "(target->arm_input_section_map_)._M_h" (parenthesized_expression "(target->arm_input_section_map_)" ( (field_expression "target->arm_input_section_map_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "*psVar4 = *psVar4 + 1;" (assignment_expression "*psVar4 = *psVar4 + 1" (pointer_expression "*psVar4" * identifier) = (binary_expression "*psVar4 + 1" (pointer_expression "*psVar4" * identifier) + number_literal)) ;) (expression_statement "local_58 = pRVar19;" (assignment_expression "local_58 = pRVar19" identifier = identifier) ;) comment (ERROR "std::\n    vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>\n    ::emplace_back<gold::" (comma_expression "std::\n    vector<gold::Output_relaxed_input_section*,_std" identifier (ERROR "::\n    vector<gold::Output_relaxed_input_section*" : : (binary_expression "vector<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : : (binary_expression "Output_relaxed_input_section*>_>\n    ::emplace_back<gold" (binary_expression "Output_relaxed_input_section*>_>\n    ::emplace_back" (binary_expression "Output_relaxed_input_section*>_" identifier * (ERROR ">" >) identifier) > (ERROR "::" : :) identifier) < identifier) : :) (expression_statement "Output_relaxed_input_section*>\n              (new_relaxed_sections,(Output_relaxed_input_section **)&local_58);" (binary_expression "Output_relaxed_input_section*>\n              (new_relaxed_sections,(Output_relaxed_input_section **)&local_58)" identifier * (ERROR ">" >) (parenthesized_expression "(new_relaxed_sections,(Output_relaxed_input_section **)&local_58)" ( (comma_expression "new_relaxed_sections,(Output_relaxed_input_section **)&local_58" identifier , (cast_expression "(Output_relaxed_input_section **)&local_58" ( (type_descriptor "Output_relaxed_input_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&local_58" & identifier))) ))) ;) (expression_statement "pIVar7 = (pRVar18->super_Object).input_file_;" (assignment_expression "pIVar7 = (pRVar18->super_Object).input_file_" identifier = (field_expression "(pRVar18->super_Object).input_file_" (parenthesized_expression "(pRVar18->super_Object)" ( (field_expression "pRVar18->super_Object" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (pIVar7 != (Input_file *)0x0) {\n      gold::File_read::unlock(&pIVar7->file_,task);\n    }" if (parenthesized_expression "(pIVar7 != (Input_file *)0x0)" ( (binary_expression "pIVar7 != (Input_file *)0x0" identifier != (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      gold::File_read::unlock(&pIVar7->file_,task);\n    }" { (labeled_statement "gold::File_read::unlock(&pIVar7->file_,task);" statement_identifier : (ERROR ":" :) (labeled_statement "File_read::unlock(&pIVar7->file_,task);" statement_identifier : (ERROR ":" :) (expression_statement "unlock(&pIVar7->file_,task);" (call_expression "unlock(&pIVar7->file_,task)" identifier (argument_list "(&pIVar7->file_,task)" ( (pointer_expression "&pIVar7->file_" & (field_expression "pIVar7->file_" identifier -> field_identifier)) , identifier ))) ;))) })) }))) (expression_statement "pSVar24 = (Stub_table<false> *)operator_new(0xd0);" (assignment_expression "pSVar24 = (Stub_table<false> *)operator_new(0xd0)" identifier = (parenthesized_expression "(Stub_table<false> *)operator_new(0xd0)" ( (binary_expression "Stub_table<false> *)operator_new(0xd0)" (binary_expression "Stub_table<false" identifier < false) > (pointer_expression "*)operator_new(0xd0)" * (ERROR ")" )) (call_expression "operator_new(0xd0)" identifier (argument_list "(0xd0)" ( number_literal ))))) ))) ;) (expression_statement "(pSVar24->super_Output_data).address_ = 0;" (assignment_expression "(pSVar24->super_Output_data).address_ = 0" (field_expression "(pSVar24->super_Output_data).address_" (parenthesized_expression "(pSVar24->super_Output_data)" ( (field_expression "pSVar24->super_Output_data" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(pSVar24->super_Output_data).data_size_ = 0;" (assignment_expression "(pSVar24->super_Output_data).data_size_ = 0" (field_expression "(pSVar24->super_Output_data).data_size_" (parenthesized_expression "(pSVar24->super_Output_data)" ( (field_expression "pSVar24->super_Output_data" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "(pSVar24->super_Output_data).offset_ = -1;" (assignment_expression "(pSVar24->super_Output_data).offset_ = -1" (field_expression "(pSVar24->super_Output_data).offset_" (parenthesized_expression "(pSVar24->super_Output_data)" ( (field_expression "pSVar24->super_Output_data" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "puVar2 = &(pSVar24->super_Output_data).field_0x20;" (assignment_expression "puVar2 = &(pSVar24->super_Output_data).field_0x20" identifier = (pointer_expression "&(pSVar24->super_Output_data).field_0x20" & (field_expression "(pSVar24->super_Output_data).field_0x20" (parenthesized_expression "(pSVar24->super_Output_data)" ( (field_expression "pSVar24->super_Output_data" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "*puVar2 = *puVar2 & 0xe0;" (assignment_expression "*puVar2 = *puVar2 & 0xe0" (pointer_expression "*puVar2" * identifier) = (binary_expression "*puVar2 & 0xe0" (pointer_expression "*puVar2" * identifier) & number_literal)) ;) (expression_statement "(pSVar24->super_Output_data)._vptr_Output_data = (_func_int_varargs **)&PTR__Stub_table_00653e00;" (assignment_expression "(pSVar24->super_Output_data)._vptr_Output_data = (_func_int_varargs **)&PTR__Stub_table_00653e00" (field_expression "(pSVar24->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pSVar24->super_Output_data)" ( (field_expression "pSVar24->super_Output_data" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Stub_table_00653e00" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Stub_table_00653e00" & identifier))) ;) (expression_statement "(pSVar24->reloc_stubs_)._M_h._M_buckets = &(pSVar24->reloc_stubs_)._M_h._M_single_bucket;" (assignment_expression "(pSVar24->reloc_stubs_)._M_h._M_buckets = &(pSVar24->reloc_stubs_)._M_h._M_single_bucket" (field_expression "(pSVar24->reloc_stubs_)._M_h._M_buckets" (field_expression "(pSVar24->reloc_stubs_)._M_h" (parenthesized_expression "(pSVar24->reloc_stubs_)" ( (field_expression "pSVar24->reloc_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (pointer_expression "&(pSVar24->reloc_stubs_)._M_h._M_single_bucket" & (field_expression "(pSVar24->reloc_stubs_)._M_h._M_single_bucket" (field_expression "(pSVar24->reloc_stubs_)._M_h" (parenthesized_expression "(pSVar24->reloc_stubs_)" ( (field_expression "pSVar24->reloc_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "p_Var5 = &(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header;" (assignment_expression "p_Var5 = &(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header" identifier = (pointer_expression "&(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header" & (field_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t" (parenthesized_expression "(pSVar24->cortex_a8_stubs_)" ( (field_expression "pSVar24->cortex_a8_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "(pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_max_load_factor = 0.0;" (assignment_expression "(pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_max_load_factor = 0.0" (field_expression "(pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_max_load_factor" (field_expression "(pSVar24->reloc_stubs_)._M_h._M_rehash_policy" (field_expression "(pSVar24->reloc_stubs_)._M_h" (parenthesized_expression "(pSVar24->reloc_stubs_)" ( (field_expression "pSVar24->reloc_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "*(undefined4 *)&(pSVar24->reloc_stubs_)._M_h._M_rehash_policy.field_0x4 = 0;" (assignment_expression "*(undefined4 *)&(pSVar24->reloc_stubs_)._M_h._M_rehash_policy.field_0x4 = 0" (pointer_expression "*(undefined4 *)&(pSVar24->reloc_stubs_)._M_h._M_rehash_policy.field_0x4" * (cast_expression "(undefined4 *)&(pSVar24->reloc_stubs_)._M_h._M_rehash_policy.field_0x4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pSVar24->reloc_stubs_)._M_h._M_rehash_policy.field_0x4" & (field_expression "(pSVar24->reloc_stubs_)._M_h._M_rehash_policy.field_0x4" (field_expression "(pSVar24->reloc_stubs_)._M_h._M_rehash_policy" (field_expression "(pSVar24->reloc_stubs_)._M_h" (parenthesized_expression "(pSVar24->reloc_stubs_)" ( (field_expression "pSVar24->reloc_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier)))) = number_literal) ;) (expression_statement "(pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_next_resize = 0;" (assignment_expression "(pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_next_resize = 0" (field_expression "(pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_next_resize" (field_expression "(pSVar24->reloc_stubs_)._M_h._M_rehash_policy" (field_expression "(pSVar24->reloc_stubs_)._M_h" (parenthesized_expression "(pSVar24->reloc_stubs_)" ( (field_expression "pSVar24->reloc_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "pSVar24->owner_ = (Arm_input_section<false> *)pRVar19;" (assignment_expression "pSVar24->owner_ = (Arm_input_section<false> *)pRVar19" (field_expression "pSVar24->owner_" identifier -> field_identifier) = (parenthesized_expression "(Arm_input_section<false> *)pRVar19" ( (binary_expression "Arm_input_section<false> *)pRVar19" (binary_expression "Arm_input_section<false" identifier < false) > (pointer_expression "*)pRVar19" * (ERROR ")" )) identifier)) ))) ;) (expression_statement "(pSVar24->reloc_stubs_)._M_h._M_single_bucket = (__bucket_type)0x0;" (assignment_expression "(pSVar24->reloc_stubs_)._M_h._M_single_bucket = (__bucket_type)0x0" (field_expression "(pSVar24->reloc_stubs_)._M_h._M_single_bucket" (field_expression "(pSVar24->reloc_stubs_)._M_h" (parenthesized_expression "(pSVar24->reloc_stubs_)" ( (field_expression "pSVar24->reloc_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(__bucket_type)0x0" ( (type_descriptor "__bucket_type" type_identifier) ) number_literal)) ;) (expression_statement "(pSVar24->reloc_stubs_)._M_h._M_bucket_count = 1;" (assignment_expression "(pSVar24->reloc_stubs_)._M_h._M_bucket_count = 1" (field_expression "(pSVar24->reloc_stubs_)._M_h._M_bucket_count" (field_expression "(pSVar24->reloc_stubs_)._M_h" (parenthesized_expression "(pSVar24->reloc_stubs_)" ( (field_expression "pSVar24->reloc_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(pSVar24->reloc_stubs_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0;" (assignment_expression "(pSVar24->reloc_stubs_)._M_h._M_before_begin._M_nxt = (_Hash_node_base *)0x0" (field_expression "(pSVar24->reloc_stubs_)._M_h._M_before_begin._M_nxt" (field_expression "(pSVar24->reloc_stubs_)._M_h._M_before_begin" (field_expression "(pSVar24->reloc_stubs_)._M_h" (parenthesized_expression "(pSVar24->reloc_stubs_)" ( (field_expression "pSVar24->reloc_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(pSVar24->reloc_stubs_)._M_h._M_element_count = 0;" (assignment_expression "(pSVar24->reloc_stubs_)._M_h._M_element_count = 0" (field_expression "(pSVar24->reloc_stubs_)._M_h._M_element_count" (field_expression "(pSVar24->reloc_stubs_)._M_h" (parenthesized_expression "(pSVar24->reloc_stubs_)" ( (field_expression "pSVar24->reloc_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;" (assignment_expression "(pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_max_load_factor = 1.0" (field_expression "(pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_max_load_factor" (field_expression "(pSVar24->reloc_stubs_)._M_h._M_rehash_policy" (field_expression "(pSVar24->reloc_stubs_)._M_h" (parenthesized_expression "(pSVar24->reloc_stubs_)" ( (field_expression "pSVar24->reloc_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_next_resize = 0;" (assignment_expression "(pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_next_resize = 0" (field_expression "(pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_next_resize" (field_expression "(pSVar24->reloc_stubs_)._M_h._M_rehash_policy" (field_expression "(pSVar24->reloc_stubs_)._M_h" (parenthesized_expression "(pSVar24->reloc_stubs_)" ( (field_expression "pSVar24->reloc_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "pSVar24->reloc_stubs_size_ = 0;" (assignment_expression "pSVar24->reloc_stubs_size_ = 0" (field_expression "pSVar24->reloc_stubs_size_" identifier -> field_identifier) = number_literal) ;) (expression_statement "pSVar24->reloc_stubs_addralign_ = 1;" (assignment_expression "pSVar24->reloc_stubs_addralign_ = 1" (field_expression "pSVar24->reloc_stubs_addralign_" identifier -> field_identifier) = number_literal) ;) (expression_statement "(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;" (assignment_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_color" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t" (parenthesized_expression "(pSVar24->cortex_a8_stubs_)" ( (field_expression "pSVar24->cortex_a8_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent =\n       (_Base_ptr)0x0;" (assignment_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent =\n       (_Base_ptr)0x0" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t" (parenthesized_expression "(pSVar24->cortex_a8_stubs_)" ( (field_expression "pSVar24->cortex_a8_stubs_" identifier -> field_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 "(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_left =\n       &p_Var5->_M_header;" (assignment_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_left =\n       &p_Var5->_M_header" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_left" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t" (parenthesized_expression "(pSVar24->cortex_a8_stubs_)" ( (field_expression "pSVar24->cortex_a8_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (pointer_expression "&p_Var5->_M_header" & (field_expression "p_Var5->_M_header" identifier -> field_identifier))) ;) (expression_statement "(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_right =\n       &p_Var5->_M_header;" (assignment_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_right =\n       &p_Var5->_M_header" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_right" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t" (parenthesized_expression "(pSVar24->cortex_a8_stubs_)" ( (field_expression "pSVar24->cortex_a8_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (pointer_expression "&p_Var5->_M_header" & (field_expression "p_Var5->_M_header" identifier -> field_identifier))) ;) (expression_statement "(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;" (assignment_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_node_count = 0" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_node_count" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t._M_impl" (field_expression "(pSVar24->cortex_a8_stubs_)._M_t" (parenthesized_expression "(pSVar24->cortex_a8_stubs_)" ( (field_expression "pSVar24->cortex_a8_stubs_" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_start = (pointer)0x0;" (assignment_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_start = (pointer)0x0" (field_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_start" (field_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl" (binary_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_" (binary_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)" (binary_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std" (binary_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)" (field_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base" (parenthesized_expression "(pSVar24->arm_v4bx_stubs_)" ( (field_expression "pSVar24->arm_v4bx_stubs_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Arm_v4bx_stub" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Arm_v4bx_stub" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_finish = (pointer)0x0;" (assignment_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_finish = (pointer)0x0" (field_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_finish" (field_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl" (binary_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_" (binary_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)" (binary_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std" (binary_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)" (field_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base" (parenthesized_expression "(pSVar24->arm_v4bx_stubs_)" ( (field_expression "pSVar24->arm_v4bx_stubs_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Arm_v4bx_stub" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Arm_v4bx_stub" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0;" (assignment_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_end_of_storage = (pointer)0x0" (field_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_end_of_storage" (field_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl" (binary_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_" (binary_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)" (binary_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std" (binary_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)" (field_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base" (parenthesized_expression "(pSVar24->arm_v4bx_stubs_)" ( (field_expression "pSVar24->arm_v4bx_stubs_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Arm_v4bx_stub" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Arm_v4bx_stub" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) comment (expression_statement "ppAVar25 = (pointer)operator_new(0x78);" (assignment_expression "ppAVar25 = (pointer)operator_new(0x78)" identifier = (cast_expression "(pointer)operator_new(0x78)" ( (type_descriptor "pointer" type_identifier) ) (call_expression "operator_new(0x78)" identifier (argument_list "(0x78)" ( number_literal ))))) ;) (expression_statement "ppAVar3 = ppAVar25 + 0xf;" (assignment_expression "ppAVar3 = ppAVar25 + 0xf" identifier = (binary_expression "ppAVar25 + 0xf" identifier + number_literal)) ;) (expression_statement "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_start = ppAVar25;" (assignment_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_start = ppAVar25" (field_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_start" (field_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl" (binary_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_" (binary_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)" (binary_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std" (binary_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)" (field_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base" (parenthesized_expression "(pSVar24->arm_v4bx_stubs_)" ( (field_expression "pSVar24->arm_v4bx_stubs_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Arm_v4bx_stub" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Arm_v4bx_stub" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_end_of_storage = ppAVar3;" (assignment_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_end_of_storage = ppAVar3" (field_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_end_of_storage" (field_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl" (binary_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_" (binary_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)" (binary_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std" (binary_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)" (field_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base" (parenthesized_expression "(pSVar24->arm_v4bx_stubs_)" ( (field_expression "pSVar24->arm_v4bx_stubs_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Arm_v4bx_stub" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Arm_v4bx_stub" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (do_statement "do {\n    *ppAVar25 = (Arm_v4bx_stub *)0x0;\n    ppAVar25 = ppAVar25 + 1;\n  } while (ppAVar3 != ppAVar25);" do (compound_statement "{\n    *ppAVar25 = (Arm_v4bx_stub *)0x0;\n    ppAVar25 = ppAVar25 + 1;\n  }" { (expression_statement "*ppAVar25 = (Arm_v4bx_stub *)0x0;" (assignment_expression "*ppAVar25 = (Arm_v4bx_stub *)0x0" (pointer_expression "*ppAVar25" * identifier) = (cast_expression "(Arm_v4bx_stub *)0x0" ( (type_descriptor "Arm_v4bx_stub *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppAVar25 = ppAVar25 + 1;" (assignment_expression "ppAVar25 = ppAVar25 + 1" identifier = (binary_expression "ppAVar25 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(ppAVar3 != ppAVar25)" ( (binary_expression "ppAVar3 != ppAVar25" identifier != identifier) )) ;) (expression_statement "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_finish = ppAVar3;" (assignment_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_finish = ppAVar3" (field_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl._M_finish" (field_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_>\n  ._M_impl" (binary_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)::Arm_v4bx_stub*>_" (binary_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std::allocator<(anonymous_namespace)" (binary_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)::Arm_v4bx_stub*,_std" (binary_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base<(anonymous_namespace)" (field_expression "(pSVar24->arm_v4bx_stubs_).\n  super__Vector_base" (parenthesized_expression "(pSVar24->arm_v4bx_stubs_)" ( (field_expression "pSVar24->arm_v4bx_stubs_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Arm_v4bx_stub" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Arm_v4bx_stub" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "ppSVar10 = (target->stub_tables_).\n             super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n             ._M_impl._M_finish;" (field_expression "ppSVar10 = (target->stub_tables_).\n             super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n             ._M_impl._M_finish" (field_expression "ppSVar10 = (target->stub_tables_).\n             super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n             ._M_impl" (binary_expression "ppSVar10 = (target->stub_tables_).\n             super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_" (binary_expression "ppSVar10 = (target->stub_tables_).\n             super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false" (binary_expression "ppSVar10 = (target->stub_tables_).\n             super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)" (binary_expression "ppSVar10 = (target->stub_tables_).\n             super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std" (binary_expression "ppSVar10 = (target->stub_tables_).\n             super__Vector_base<(anonymous_namespace)::Stub_table<false" (assignment_expression "ppSVar10 = (target->stub_tables_).\n             super__Vector_base<(anonymous_namespace)" identifier = (binary_expression "(target->stub_tables_).\n             super__Vector_base<(anonymous_namespace)" (field_expression "(target->stub_tables_).\n             super__Vector_base" (parenthesized_expression "(target->stub_tables_)" ( (field_expression "target->stub_tables_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Stub_table" : : identifier) < false) > (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table" : : identifier) < false) > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "pSVar24->prev_data_size_ = 0;" (assignment_expression "pSVar24->prev_data_size_ = 0" (field_expression "pSVar24->prev_data_size_" identifier -> field_identifier) = number_literal) ;) (expression_statement "pSVar24->prev_addralign_ = 1;" (assignment_expression "pSVar24->prev_addralign_ = 1" (field_expression "pSVar24->prev_addralign_" identifier -> field_identifier) = number_literal) ;) (if_statement "if (ppSVar10 !=\n      (target->stub_tables_).\n      super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n      ._M_impl._M_end_of_storage) {\n    *ppSVar10 = pSVar24;\n    (target->stub_tables_).\n    super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n    ._M_impl._M_finish = ppSVar10 + 1;\n    goto LAB_00248512;\n  }" if (parenthesized_expression "(ppSVar10 !=\n      (target->stub_tables_).\n      super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n      ._M_impl._M_end_of_storage)" ( (field_expression "ppSVar10 !=\n      (target->stub_tables_).\n      super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n      ._M_impl._M_end_of_storage" (field_expression "ppSVar10 !=\n      (target->stub_tables_).\n      super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n      ._M_impl" (binary_expression "ppSVar10 !=\n      (target->stub_tables_).\n      super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_" (binary_expression "ppSVar10 !=\n      (target->stub_tables_).\n      super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false" (binary_expression "ppSVar10 !=\n      (target->stub_tables_).\n      super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)" (binary_expression "ppSVar10 !=\n      (target->stub_tables_).\n      super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std" (binary_expression "ppSVar10 !=\n      (target->stub_tables_).\n      super__Vector_base<(anonymous_namespace)::Stub_table<false" (binary_expression "ppSVar10 !=\n      (target->stub_tables_).\n      super__Vector_base<(anonymous_namespace)" identifier != (binary_expression "(target->stub_tables_).\n      super__Vector_base<(anonymous_namespace)" (field_expression "(target->stub_tables_).\n      super__Vector_base" (parenthesized_expression "(target->stub_tables_)" ( (field_expression "target->stub_tables_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Stub_table" : : identifier) < false) > (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table" : : identifier) < false) > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n    *ppSVar10 = pSVar24;\n    (target->stub_tables_).\n    super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n    ._M_impl._M_finish = ppSVar10 + 1;\n    goto LAB_00248512;\n  }" { (expression_statement "*ppSVar10 = pSVar24;" (assignment_expression "*ppSVar10 = pSVar24" (pointer_expression "*ppSVar10" * identifier) = identifier) ;) (expression_statement "(target->stub_tables_).\n    super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n    ._M_impl._M_finish = ppSVar10 + 1;" (assignment_expression "(target->stub_tables_).\n    super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n    ._M_impl._M_finish = ppSVar10 + 1" (field_expression "(target->stub_tables_).\n    super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n    ._M_impl._M_finish" (field_expression "(target->stub_tables_).\n    super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n    ._M_impl" (binary_expression "(target->stub_tables_).\n    super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_" (binary_expression "(target->stub_tables_).\n    super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false" (binary_expression "(target->stub_tables_).\n    super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)" (binary_expression "(target->stub_tables_).\n    super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std" (binary_expression "(target->stub_tables_).\n    super__Vector_base<(anonymous_namespace)::Stub_table<false" (binary_expression "(target->stub_tables_).\n    super__Vector_base<(anonymous_namespace)" (field_expression "(target->stub_tables_).\n    super__Vector_base" (parenthesized_expression "(target->stub_tables_)" ( (field_expression "target->stub_tables_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table" : : identifier) < false) > (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table" : : identifier) < false) > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "ppSVar10 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00248512;" goto statement_identifier ;) })) (expression_statement "__src = (target->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n          ._M_impl._M_start;" (field_expression "__src = (target->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n          ._M_impl._M_start" (field_expression "__src = (target->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n          ._M_impl" (binary_expression "__src = (target->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_" (binary_expression "__src = (target->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false" (binary_expression "__src = (target->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)" (binary_expression "__src = (target->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std" (binary_expression "__src = (target->stub_tables_).\n          super__Vector_base<(anonymous_namespace)::Stub_table<false" (assignment_expression "__src = (target->stub_tables_).\n          super__Vector_base<(anonymous_namespace)" identifier = (binary_expression "(target->stub_tables_).\n          super__Vector_base<(anonymous_namespace)" (field_expression "(target->stub_tables_).\n          super__Vector_base" (parenthesized_expression "(target->stub_tables_)" ( (field_expression "target->stub_tables_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier )))) (ERROR "::Stub_table" : : identifier) < false) > (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table" : : identifier) < false) > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "__n = (long)ppSVar10 - (long)__src;" (assignment_expression "__n = (long)ppSVar10 - (long)__src" identifier = (binary_expression "(long)ppSVar10 - (long)__src" (cast_expression "(long)ppSVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)__src" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (expression_statement "uVar26 = (long)__n >> 3;" (assignment_expression "uVar26 = (long)__n >> 3" identifier = (binary_expression "(long)__n >> 3" (cast_expression "(long)__n" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) >> number_literal)) ;) (if_statement "if (uVar26 == 0) {\n    uVar30 = 8;\nLAB_002486a6:\n    __dest = (pointer)operator_new(uVar30);\n    ppSVar32 = (pointer)(uVar30 + (long)__dest);\n  }\n  else {\n    uVar12 = uVar26 * 2;\n    uVar30 = 0xfffffffffffffff8;\n    if ((uVar12 < uVar26) || (0x1fffffffffffffff < uVar12)) goto LAB_002486a6;\n    if (uVar12 != 0) {\n      uVar30 = uVar26 << 4;\n      goto LAB_002486a6;\n    }\n    ppSVar32 = (pointer)0x0;\n    __dest = (pointer)0x0;\n  }" if (parenthesized_expression "(uVar26 == 0)" ( (binary_expression "uVar26 == 0" identifier == number_literal) )) (compound_statement "{\n    uVar30 = 8;\nLAB_002486a6:\n    __dest = (pointer)operator_new(uVar30);\n    ppSVar32 = (pointer)(uVar30 + (long)__dest);\n  }" { (expression_statement "uVar30 = 8;" (assignment_expression "uVar30 = 8" identifier = number_literal) ;) (labeled_statement "LAB_002486a6:\n    __dest = (pointer)operator_new(uVar30);" statement_identifier : (expression_statement "__dest = (pointer)operator_new(uVar30);" (assignment_expression "__dest = (pointer)operator_new(uVar30)" identifier = (cast_expression "(pointer)operator_new(uVar30)" ( (type_descriptor "pointer" type_identifier) ) (call_expression "operator_new(uVar30)" identifier (argument_list "(uVar30)" ( identifier ))))) ;)) (expression_statement "ppSVar32 = (pointer)(uVar30 + (long)__dest);" (assignment_expression "ppSVar32 = (pointer)(uVar30 + (long)__dest)" identifier = (call_expression "(pointer)(uVar30 + (long)__dest)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "(uVar30 + (long)__dest)" ( (binary_expression "uVar30 + (long)__dest" identifier + (cast_expression "(long)__dest" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) )))) ;) }) (else_clause "else {\n    uVar12 = uVar26 * 2;\n    uVar30 = 0xfffffffffffffff8;\n    if ((uVar12 < uVar26) || (0x1fffffffffffffff < uVar12)) goto LAB_002486a6;\n    if (uVar12 != 0) {\n      uVar30 = uVar26 << 4;\n      goto LAB_002486a6;\n    }\n    ppSVar32 = (pointer)0x0;\n    __dest = (pointer)0x0;\n  }" else (compound_statement "{\n    uVar12 = uVar26 * 2;\n    uVar30 = 0xfffffffffffffff8;\n    if ((uVar12 < uVar26) || (0x1fffffffffffffff < uVar12)) goto LAB_002486a6;\n    if (uVar12 != 0) {\n      uVar30 = uVar26 << 4;\n      goto LAB_002486a6;\n    }\n    ppSVar32 = (pointer)0x0;\n    __dest = (pointer)0x0;\n  }" { (expression_statement "uVar12 = uVar26 * 2;" (assignment_expression "uVar12 = uVar26 * 2" identifier = (binary_expression "uVar26 * 2" identifier * number_literal)) ;) (expression_statement "uVar30 = 0xfffffffffffffff8;" (assignment_expression "uVar30 = 0xfffffffffffffff8" identifier = number_literal) ;) (if_statement "if ((uVar12 < uVar26) || (0x1fffffffffffffff < uVar12)) goto LAB_002486a6;" if (parenthesized_expression "((uVar12 < uVar26) || (0x1fffffffffffffff < uVar12))" ( (binary_expression "(uVar12 < uVar26) || (0x1fffffffffffffff < uVar12)" (parenthesized_expression "(uVar12 < uVar26)" ( (binary_expression "uVar12 < uVar26" identifier < identifier) )) || (parenthesized_expression "(0x1fffffffffffffff < uVar12)" ( (binary_expression "0x1fffffffffffffff < uVar12" number_literal < identifier) ))) )) (goto_statement "goto LAB_002486a6;" goto statement_identifier ;)) (if_statement "if (uVar12 != 0) {\n      uVar30 = uVar26 << 4;\n      goto LAB_002486a6;\n    }" if (parenthesized_expression "(uVar12 != 0)" ( (binary_expression "uVar12 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar30 = uVar26 << 4;\n      goto LAB_002486a6;\n    }" { (expression_statement "uVar30 = uVar26 << 4;" (assignment_expression "uVar30 = uVar26 << 4" identifier = (binary_expression "uVar26 << 4" identifier << number_literal)) ;) (goto_statement "goto LAB_002486a6;" goto statement_identifier ;) })) (expression_statement "ppSVar32 = (pointer)0x0;" (assignment_expression "ppSVar32 = (pointer)0x0" identifier = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "__dest = (pointer)0x0;" (assignment_expression "__dest = (pointer)0x0" identifier = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) }))) (expression_statement "*(Stub_table<false> **)((long)__dest + __n) = pSVar24;" (assignment_expression "*(Stub_table<false> **)((long)__dest + __n) = pSVar24" (pointer_expression "*(Stub_table<false> **)((long)__dest + __n)" * (call_expression "(Stub_table<false> **)((long)__dest + __n)" (parenthesized_expression "(Stub_table<false> **)" ( (binary_expression "Stub_table<false> **" (binary_expression "Stub_table<false" identifier < false) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "((long)__dest + __n)" ( (binary_expression "(long)__dest + __n" (cast_expression "(long)__dest" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = identifier) ;) (if_statement "if (ppSVar10 == __src) {\n    if (__src != (pointer)0x0) goto LAB_002486f4;\n  }\n  else {\n    memmove(__dest,__src,__n);\nLAB_002486f4:\n    operator_delete(__src);\n  }" if (parenthesized_expression "(ppSVar10 == __src)" ( (binary_expression "ppSVar10 == __src" identifier == identifier) )) (compound_statement "{\n    if (__src != (pointer)0x0) goto LAB_002486f4;\n  }" { (if_statement "if (__src != (pointer)0x0) goto LAB_002486f4;" if (parenthesized_expression "(__src != (pointer)0x0)" ( (binary_expression "__src != (pointer)0x0" identifier != (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_002486f4;" goto statement_identifier ;)) }) (else_clause "else {\n    memmove(__dest,__src,__n);\nLAB_002486f4:\n    operator_delete(__src);\n  }" else (compound_statement "{\n    memmove(__dest,__src,__n);\nLAB_002486f4:\n    operator_delete(__src);\n  }" { (expression_statement "memmove(__dest,__src,__n);" (call_expression "memmove(__dest,__src,__n)" identifier (argument_list "(__dest,__src,__n)" ( identifier , identifier , identifier ))) ;) (labeled_statement "LAB_002486f4:\n    operator_delete(__src);" statement_identifier : (expression_statement "operator_delete(__src);" (call_expression "operator_delete(__src)" identifier (argument_list "(__src)" ( identifier ))) ;)) }))) (expression_statement "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n  ._M_impl._M_start = __dest;" (assignment_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n  ._M_impl._M_start = __dest" (field_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n  ._M_impl._M_start" (field_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n  ._M_impl" (binary_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_" (binary_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false" (binary_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)" (binary_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std" (binary_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false" (binary_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)" (field_expression "(target->stub_tables_).\n  super__Vector_base" (parenthesized_expression "(target->stub_tables_)" ( (field_expression "target->stub_tables_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table" : : identifier) < false) > (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table" : : identifier) < false) > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n  ._M_impl._M_end_of_storage = ppSVar32;" (assignment_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n  ._M_impl._M_end_of_storage = ppSVar32" (field_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n  ._M_impl._M_end_of_storage" (field_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n  ._M_impl" (binary_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_" (binary_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false" (binary_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)" (binary_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std" (binary_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false" (binary_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)" (field_expression "(target->stub_tables_).\n  super__Vector_base" (parenthesized_expression "(target->stub_tables_)" ( (field_expression "target->stub_tables_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table" : : identifier) < false) > (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table" : : identifier) < false) > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n  ._M_impl._M_finish = (pointer)((long)__dest + __n + 8);" (assignment_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n  ._M_impl._M_finish = (pointer)((long)__dest + __n + 8)" (field_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n  ._M_impl._M_finish" (field_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_>\n  ._M_impl" (binary_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false>*>_" (binary_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)::Stub_table<false" (binary_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std::allocator<(anonymous_namespace)" (binary_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false>*,_std" (binary_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)::Stub_table<false" (binary_expression "(target->stub_tables_).\n  super__Vector_base<(anonymous_namespace)" (field_expression "(target->stub_tables_).\n  super__Vector_base" (parenthesized_expression "(target->stub_tables_)" ( (field_expression "target->stub_tables_" identifier -> field_identifier) )) . field_identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table" : : identifier) < false) > (pointer_expression "*,_std" * (ERROR "," ,) identifier)) (ERROR "::allocator" : : identifier) < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) (ERROR "::Stub_table" : : identifier) < false) > (pointer_expression "*>_" * (ERROR ">" >) identifier)) (ERROR ">" >) . field_identifier) . field_identifier) = (call_expression "(pointer)((long)__dest + __n + 8)" (parenthesized_expression "(pointer)" ( identifier )) (argument_list "((long)__dest + __n + 8)" ( (binary_expression "(long)__dest + __n + 8" (binary_expression "(long)__dest + __n" (cast_expression "(long)__dest" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal) )))) ;) (labeled_statement "LAB_00248512:\n  bVar6 = (pRVar19->super_Object).name_.field_2._M_local_buf[8];" statement_identifier : (expression_statement "bVar6 = (pRVar19->super_Object).name_.field_2._M_local_buf[8];" (assignment_expression "bVar6 = (pRVar19->super_Object).name_.field_2._M_local_buf[8]" identifier = (subscript_expression "(pRVar19->super_Object).name_.field_2._M_local_buf[8]" (field_expression "(pRVar19->super_Object).name_.field_2._M_local_buf" (field_expression "(pRVar19->super_Object).name_.field_2" (field_expression "(pRVar19->super_Object).name_" (parenthesized_expression "(pRVar19->super_Object)" ( (field_expression "pRVar19->super_Object" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) ;)) (if_statement "if ((bVar6 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n  }" if (parenthesized_expression "((bVar6 & 1) == 0)" ( (binary_expression "(bVar6 & 1) == 0" (parenthesized_expression "(bVar6 & 1)" ( (binary_expression "bVar6 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n  }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0xc5,"address");" (call_expression "do_gold_unreachable("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;)) })) (if_statement "if ((bVar6 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n  }" if (parenthesized_expression "((bVar6 & 2) == 0)" ( (binary_expression "(bVar6 & 2) == 0" (parenthesized_expression "(bVar6 & 2)" ( (binary_expression "bVar6 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n  }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0xcf,"data_size");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0xcf,"data_size");" (call_expression "do_gold_unreachable("../../gold/output.h",0xcf,"data_size")" identifier (argument_list "("../../gold/output.h",0xcf,"data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") ))) ;)) })) (expression_statement "sVar11 = (pRVar19->super_Object).name_._M_string_length;" (assignment_expression "sVar11 = (pRVar19->super_Object).name_._M_string_length" identifier = (field_expression "(pRVar19->super_Object).name_._M_string_length" (field_expression "(pRVar19->super_Object).name_" (parenthesized_expression "(pRVar19->super_Object)" ( (field_expression "pRVar19->super_Object" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "bVar6 = (pSVar24->super_Output_data).field_0x20;" (assignment_expression "bVar6 = (pSVar24->super_Output_data).field_0x20" identifier = (field_expression "(pSVar24->super_Output_data).field_0x20" (parenthesized_expression "(pSVar24->super_Output_data)" ( (field_expression "pSVar24->super_Output_data" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((bVar6 & 1) != 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n  }" if (parenthesized_expression "((bVar6 & 1) != 0)" ( (binary_expression "(bVar6 & 1) != 0" (parenthesized_expression "(bVar6 & 1)" ( (binary_expression "bVar6 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x142,"set_address");\n  }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0x142,"set_address");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0x142,"set_address");" (call_expression "do_gold_unreachable("../../gold/output.h",0x142,"set_address")" identifier (argument_list "("../../gold/output.h",0x142,"set_address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_address"" " string_content ") ))) ;)) })) (expression_statement "(pSVar24->super_Output_data).address_ =\n       (uint64_t)((pRVar19->super_Object).name_._M_dataplus._M_p + sVar11);" (assignment_expression "(pSVar24->super_Output_data).address_ =\n       (uint64_t)((pRVar19->super_Object).name_._M_dataplus._M_p + sVar11)" (field_expression "(pSVar24->super_Output_data).address_" (parenthesized_expression "(pSVar24->super_Output_data)" ( (field_expression "pSVar24->super_Output_data" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(uint64_t)((pRVar19->super_Object).name_._M_dataplus._M_p + sVar11)" ( (type_descriptor "uint64_t" primitive_type) ) (parenthesized_expression "((pRVar19->super_Object).name_._M_dataplus._M_p + sVar11)" ( (binary_expression "(pRVar19->super_Object).name_._M_dataplus._M_p + sVar11" (field_expression "(pRVar19->super_Object).name_._M_dataplus._M_p" (field_expression "(pRVar19->super_Object).name_._M_dataplus" (field_expression "(pRVar19->super_Object).name_" (parenthesized_expression "(pRVar19->super_Object)" ( (field_expression "pRVar19->super_Object" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) + identifier) )))) ;) (expression_statement "(pSVar24->super_Output_data).field_0x20 = bVar6 | 1;" (assignment_expression "(pSVar24->super_Output_data).field_0x20 = bVar6 | 1" (field_expression "(pSVar24->super_Output_data).field_0x20" (parenthesized_expression "(pSVar24->super_Output_data)" ( (field_expression "pSVar24->super_Output_data" identifier -> field_identifier) )) . field_identifier) = (binary_expression "bVar6 | 1" identifier | number_literal)) ;) (if_statement "if (((pRVar19->super_Object).name_.field_2._M_local_buf[8] & 4U) == 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n  }" if (parenthesized_expression "(((pRVar19->super_Object).name_.field_2._M_local_buf[8] & 4U) == 0)" ( (binary_expression "((pRVar19->super_Object).name_.field_2._M_local_buf[8] & 4U) == 0" (parenthesized_expression "((pRVar19->super_Object).name_.field_2._M_local_buf[8] & 4U)" ( (binary_expression "(pRVar19->super_Object).name_.field_2._M_local_buf[8] & 4U" (subscript_expression "(pRVar19->super_Object).name_.field_2._M_local_buf[8]" (field_expression "(pRVar19->super_Object).name_.field_2._M_local_buf" (field_expression "(pRVar19->super_Object).name_.field_2" (field_expression "(pRVar19->super_Object).name_" (parenthesized_expression "(pRVar19->super_Object)" ( (field_expression "pRVar19->super_Object" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");\n  }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0xe3,"offset");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0xe3,"offset");" (call_expression "do_gold_unreachable("../../gold/output.h",0xe3,"offset")" identifier (argument_list "("../../gold/output.h",0xe3,"offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") ))) ;)) })) (if_statement "if ((bVar6 & 4) != 0) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n  }" if (parenthesized_expression "((bVar6 & 4) != 0)" ( (binary_expression "(bVar6 & 4) != 0" (parenthesized_expression "(bVar6 & 4)" ( (binary_expression "bVar6 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");\n  }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset");" (call_expression "do_gold_unreachable("../../gold/output.h",0x14b,"set_file_offset")" identifier (argument_list "("../../gold/output.h",0x14b,"set_file_offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_file_offset"" " string_content ") ))) ;)) })) (expression_statement "(pSVar24->super_Output_data).offset_ =\n       sVar11 + (pRVar19->super_Object).name_.field_2._M_allocated_capacity;" (assignment_expression "(pSVar24->super_Output_data).offset_ =\n       sVar11 + (pRVar19->super_Object).name_.field_2._M_allocated_capacity" (field_expression "(pSVar24->super_Output_data).offset_" (parenthesized_expression "(pSVar24->super_Output_data)" ( (field_expression "pSVar24->super_Output_data" identifier -> field_identifier) )) . field_identifier) = (binary_expression "sVar11 + (pRVar19->super_Object).name_.field_2._M_allocated_capacity" identifier + (field_expression "(pRVar19->super_Object).name_.field_2._M_allocated_capacity" (field_expression "(pRVar19->super_Object).name_.field_2" (field_expression "(pRVar19->super_Object).name_" (parenthesized_expression "(pRVar19->super_Object)" ( (field_expression "pRVar19->super_Object" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "(pSVar24->super_Output_data).field_0x20 = bVar6 | 5;" (assignment_expression "(pSVar24->super_Output_data).field_0x20 = bVar6 | 5" (field_expression "(pSVar24->super_Output_data).field_0x20" (parenthesized_expression "(pSVar24->super_Output_data)" ( (field_expression "pSVar24->super_Output_data" identifier -> field_identifier) )) . field_identifier) = (binary_expression "bVar6 | 5" identifier | number_literal)) ;) (if_statement "if (((bVar6 & 2) == 0) &&\n     ((*(pSVar24->super_Output_data)._vptr_Output_data[0xe])(pSVar24),\n     ((pSVar24->super_Output_data).field_0x20 & 2) == 0)) {\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n  }" if (parenthesized_expression "(((bVar6 & 2) == 0) &&\n     ((*(pSVar24->super_Output_data)._vptr_Output_data[0xe])(pSVar24),\n     ((pSVar24->super_Output_data).field_0x20 & 2) == 0))" ( (binary_expression "((bVar6 & 2) == 0) &&\n     ((*(pSVar24->super_Output_data)._vptr_Output_data[0xe])(pSVar24),\n     ((pSVar24->super_Output_data).field_0x20 & 2) == 0)" (parenthesized_expression "((bVar6 & 2) == 0)" ( (binary_expression "(bVar6 & 2) == 0" (parenthesized_expression "(bVar6 & 2)" ( (binary_expression "bVar6 & 2" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "((*(pSVar24->super_Output_data)._vptr_Output_data[0xe])(pSVar24),\n     ((pSVar24->super_Output_data).field_0x20 & 2) == 0)" ( (comma_expression "(*(pSVar24->super_Output_data)._vptr_Output_data[0xe])(pSVar24),\n     ((pSVar24->super_Output_data).field_0x20 & 2) == 0" (call_expression "(*(pSVar24->super_Output_data)._vptr_Output_data[0xe])(pSVar24)" (parenthesized_expression "(*(pSVar24->super_Output_data)._vptr_Output_data[0xe])" ( (pointer_expression "*(pSVar24->super_Output_data)._vptr_Output_data[0xe]" * (subscript_expression "(pSVar24->super_Output_data)._vptr_Output_data[0xe]" (field_expression "(pSVar24->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pSVar24->super_Output_data)" ( (field_expression "pSVar24->super_Output_data" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) )) (argument_list "(pSVar24)" ( identifier ))) , (binary_expression "((pSVar24->super_Output_data).field_0x20 & 2) == 0" (parenthesized_expression "((pSVar24->super_Output_data).field_0x20 & 2)" ( (binary_expression "(pSVar24->super_Output_data).field_0x20 & 2" (field_expression "(pSVar24->super_Output_data).field_0x20" (parenthesized_expression "(pSVar24->super_Output_data)" ( (field_expression "pSVar24->super_Output_data" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    gold::do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");\n  }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size");" (call_expression "do_gold_unreachable("../../gold/output.h",0x163,"finalize_data_size")" identifier (argument_list "("../../gold/output.h",0x163,"finalize_data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""finalize_data_size"" " string_content ") ))) ;)) })) (expression_statement "(pRVar19->output_sections_).\n  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl._M_start\n       = (pointer)pSVar24;" (assignment_expression "(pRVar19->output_sections_).\n  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl._M_start\n       = (pointer)pSVar24" (field_expression "(pRVar19->output_sections_).\n  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl._M_start" (field_expression "(pRVar19->output_sections_).\n  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl" (binary_expression "(pRVar19->output_sections_).\n  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(pRVar19->output_sections_).\n  super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(pRVar19->output_sections_).\n  super__Vector_base<gold::Output_section*,_std" (binary_expression "(pRVar19->output_sections_).\n  super__Vector_base<gold" (field_expression "(pRVar19->output_sections_).\n  super__Vector_base" (parenthesized_expression "(pRVar19->output_sections_)" ( (field_expression "pRVar19->output_sections_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)pSVar24" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (do_statement "do {\n    if (2 < (begin._M_current)->shndx_ + 3) {\n      pRVar19 = gold::Output_section::Input_section::relobj(begin._M_current);\n      uVar14 = gold::Output_section::Input_section::shndx(begin._M_current);\n      pIVar7 = pRVar19[3].super_Object.input_file_;\n      if ((ulong)(pRVar19[3].super_Object.offset_ - (long)pIVar7 >> 3) <= (ulong)uVar14) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      (&pIVar7->input_argument_)[uVar14] = (Input_file_argument *)pSVar24;\n    }\n    bVar33 = end._M_current != begin._M_current;\n    begin._M_current = begin._M_current + 1;\n  } while (bVar33);" do (compound_statement "{\n    if (2 < (begin._M_current)->shndx_ + 3) {\n      pRVar19 = gold::Output_section::Input_section::relobj(begin._M_current);\n      uVar14 = gold::Output_section::Input_section::shndx(begin._M_current);\n      pIVar7 = pRVar19[3].super_Object.input_file_;\n      if ((ulong)(pRVar19[3].super_Object.offset_ - (long)pIVar7 >> 3) <= (ulong)uVar14) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      (&pIVar7->input_argument_)[uVar14] = (Input_file_argument *)pSVar24;\n    }\n    bVar33 = end._M_current != begin._M_current;\n    begin._M_current = begin._M_current + 1;\n  }" { (if_statement "if (2 < (begin._M_current)->shndx_ + 3) {\n      pRVar19 = gold::Output_section::Input_section::relobj(begin._M_current);\n      uVar14 = gold::Output_section::Input_section::shndx(begin._M_current);\n      pIVar7 = pRVar19[3].super_Object.input_file_;\n      if ((ulong)(pRVar19[3].super_Object.offset_ - (long)pIVar7 >> 3) <= (ulong)uVar14) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      (&pIVar7->input_argument_)[uVar14] = (Input_file_argument *)pSVar24;\n    }" if (parenthesized_expression "(2 < (begin._M_current)->shndx_ + 3)" ( (binary_expression "2 < (begin._M_current)->shndx_ + 3" number_literal < (binary_expression "(begin._M_current)->shndx_ + 3" (field_expression "(begin._M_current)->shndx_" (parenthesized_expression "(begin._M_current)" ( (field_expression "begin._M_current" identifier . field_identifier) )) -> field_identifier) + number_literal)) )) (compound_statement "{\n      pRVar19 = gold::Output_section::Input_section::relobj(begin._M_current);\n      uVar14 = gold::Output_section::Input_section::shndx(begin._M_current);\n      pIVar7 = pRVar19[3].super_Object.input_file_;\n      if ((ulong)(pRVar19[3].super_Object.offset_ - (long)pIVar7 >> 3) <= (ulong)uVar14) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      (&pIVar7->input_argument_)[uVar14] = (Input_file_argument *)pSVar24;\n    }" { (ERROR "pRVar19 = gold::" (assignment_expression "pRVar19 = gold" identifier = identifier) : :) (labeled_statement "Output_section::Input_section::relobj(begin._M_current);" statement_identifier : (ERROR ":" :) (labeled_statement "Input_section::relobj(begin._M_current);" statement_identifier : (ERROR ":" :) (expression_statement "relobj(begin._M_current);" (call_expression "relobj(begin._M_current)" identifier (argument_list "(begin._M_current)" ( (field_expression "begin._M_current" identifier . field_identifier) ))) ;))) (ERROR "uVar14 = gold::" (assignment_expression "uVar14 = gold" identifier = identifier) : :) (labeled_statement "Output_section::Input_section::shndx(begin._M_current);" statement_identifier : (ERROR ":" :) (labeled_statement "Input_section::shndx(begin._M_current);" statement_identifier : (ERROR ":" :) (expression_statement "shndx(begin._M_current);" (call_expression "shndx(begin._M_current)" identifier (argument_list "(begin._M_current)" ( (field_expression "begin._M_current" identifier . field_identifier) ))) ;))) (expression_statement "pIVar7 = pRVar19[3].super_Object.input_file_;" (assignment_expression "pIVar7 = pRVar19[3].super_Object.input_file_" identifier = (field_expression "pRVar19[3].super_Object.input_file_" (field_expression "pRVar19[3].super_Object" (subscript_expression "pRVar19[3]" identifier [ number_literal ]) . field_identifier) . field_identifier)) ;) (if_statement "if ((ulong)(pRVar19[3].super_Object.offset_ - (long)pIVar7 >> 3) <= (ulong)uVar14) {\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }" if (parenthesized_expression "((ulong)(pRVar19[3].super_Object.offset_ - (long)pIVar7 >> 3) <= (ulong)uVar14)" ( (binary_expression "(ulong)(pRVar19[3].super_Object.offset_ - (long)pIVar7 >> 3) <= (ulong)uVar14" (call_expression "(ulong)(pRVar19[3].super_Object.offset_ - (long)pIVar7 >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(pRVar19[3].super_Object.offset_ - (long)pIVar7 >> 3)" ( (binary_expression "pRVar19[3].super_Object.offset_ - (long)pIVar7 >> 3" (binary_expression "pRVar19[3].super_Object.offset_ - (long)pIVar7" (field_expression "pRVar19[3].super_Object.offset_" (field_expression "pRVar19[3].super_Object" (subscript_expression "pRVar19[3]" identifier [ number_literal ]) . field_identifier) . field_identifier) - (cast_expression "(long)pIVar7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal) ))) <= (cast_expression "(ulong)uVar14" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        gold::do_gold_unreachable("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/arm.cc",0x5ef,"set_stub_table");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/arm.cc",0x5ef,"set_stub_table");" (call_expression "do_gold_unreachable("../../gold/arm.cc",0x5ef,"set_stub_table")" identifier (argument_list "("../../gold/arm.cc",0x5ef,"set_stub_table")" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""set_stub_table"" " string_content ") ))) ;)) })) (expression_statement "(&pIVar7->input_argument_)[uVar14] = (Input_file_argument *)pSVar24;" (assignment_expression "(&pIVar7->input_argument_)[uVar14] = (Input_file_argument *)pSVar24" (subscript_expression "(&pIVar7->input_argument_)[uVar14]" (parenthesized_expression "(&pIVar7->input_argument_)" ( (pointer_expression "&pIVar7->input_argument_" & (field_expression "pIVar7->input_argument_" identifier -> field_identifier)) )) [ identifier ]) = (cast_expression "(Input_file_argument *)pSVar24" ( (type_descriptor "Input_file_argument *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "bVar33 = end._M_current != begin._M_current;" (assignment_expression "bVar33 = end._M_current != begin._M_current" identifier = (binary_expression "end._M_current != begin._M_current" (field_expression "end._M_current" identifier . field_identifier) != (field_expression "begin._M_current" identifier . field_identifier))) ;) (expression_statement "begin._M_current = begin._M_current + 1;" (assignment_expression "begin._M_current = begin._M_current + 1" (field_expression "begin._M_current" identifier . field_identifier) = (binary_expression "begin._M_current + 1" (field_expression "begin._M_current" identifier . field_identifier) + number_literal)) ;) }) while (parenthesized_expression "(bVar33)" ( identifier )) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00247fe0(long param_1,int *param_2,int *param_3,uint *param_4,long param_5,\n                 undefined8 param_6,undefined8 param_7)\n\n{\n  long *plVar1;\n  byte bVar2;\n  long *plVar3;\n  undefined8 *puVar4;\n  char cVar5;\n  uint uVar6;\n  long lVar7;\n  long *plVar8;\n  long *plVar9;\n  ulong uVar10;\n  void *pvVar11;\n  void *__dest;\n  long lVar12;\n  long *plVar13;\n  undefined8 *puVar14;\n  long lVar15;\n  ulong extraout_RDX;\n  ulong uVar16;\n  size_t __n;\n  ulong uVar17;\n  bool bVar18;\n  ulong local_78;\n  size_t local_60;\n  long *local_58;\n  uint uStack_50;\n  undefined4 uStack_4c;\n  \n  if (*(int *)(param_1 + 0x6c) == 0x70000001) {\n                    \n    FUN_00352af0("../../gold/arm.cc",0x1680,"create_stub_group");\n  }\n  if (*param_4 == 0xfffffffc) {\n    plVar9 = *(long **)(param_4 + 4);\n  }\n  else {\n    if (0xfffffffb < *param_4) {\n                    \n      FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");\n    }\n    lVar7 = FUN_003c9a60(param_4);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n                    \n    uVar6 = FUN_003c9ae0(param_4);\n    plVar8 = (long *)FUN_003c9a60(param_4);\n    plVar9 = (long *)FUN_0049cb70(0x60);\n    *(byte *)(plVar9 + 4) = *(byte *)(plVar9 + 4) & 0xe0;\n    plVar9[1] = 0;\n    plVar9[2] = 0;\n    plVar9[3] = -1;\n    plVar9[5] = 0;\n    plVar9[6] = 1;\n    plVar9[7] = (long)plVar8;\n    *(uint *)(plVar9 + 8) = uVar6;\n    *plVar9 = (long)&PTR_FUN_006670c0;\n    lVar12 = *plVar8;\n    *(undefined8 *)((long)plVar9 + 0x44) = 1;\n    plVar9[10] = 0;\n    plVar9[0xb] = 0;\n    uVar10 = (**(code **)(lVar12 + 0xb8))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)((long)plVar9 + 0x44) = (int)uVar10;\n    pvVar11 = (void *)FUN_00392d50(plVar8,uVar6,&local_60,0);\n    uVar10 = (**(code **)(*plVar8 + 0x78))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)(plVar9 + 9) = (int)uVar10;\n    if (plVar9[0xb] != 0) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);\n    }\n    __dest = (void *)thunk_FUN_0049cb70(local_60);\n    plVar9[0xb] = (long)__dest;\n    memcpy(__dest,pvVar11,local_60);\n    lVar12 = *plVar8;\n    if (*(code **)(lVar12 + 0xc0) == FUN_001a5070) {\n      if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);\n    }\n    else {\n                    \n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }\n    lVar12 = (**(code **)(lVar12 + 0xd0))(plVar8,uVar6);\n    if ((lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);\n    }\n    if ((*(byte *)(lVar15 + 0x20) & 1) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n    bVar2 = *(byte *)(plVar9 + 4);\n    if ((bVar2 & 1) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x142,"set_address");\n    }\n    plVar9[1] = *(long *)(lVar15 + 8) + lVar12;\n    *(byte *)(plVar9 + 4) = bVar2 | 1;\n    if ((*(byte *)(lVar15 + 0x20) & 4) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xe3,"offset");\n    }\n    if ((bVar2 & 4) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n    }\n    plVar9[3] = lVar12 + *(long *)(lVar15 + 0x18);\n    *(byte *)(plVar9 + 4) = bVar2 | 5;\n    if ((bVar2 & 2) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    plVar9[2] = (ulong)*(uint *)(plVar9 + 9);\n    FUN_00236100(plVar9);\n    if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n    }\n    plVar13 = (long *)FUN_0049cb70(0x28);\n    *plVar13 = 0;\n    uVar10 = *(ulong *)(param_5 + 0xb8);\n    plVar13[1] = (long)plVar8;\n    plVar13[2] = CONCAT44(uStack_4c,uVar6);\n    plVar13[3] = (long)plVar9;\n    uVar17 = (ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2);\n    local_78 = uVar17 % uVar10;\n    local_58 = plVar8;\n    uStack_50 = uVar6;\n    plVar8 = (long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17);\n    if ((plVar8 != (long *)0x0) && (*plVar8 != 0)) {\n      FUN_0049e340(plVar13);\n                    \n      FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }\n    cVar5 = FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1);\n    if (cVar5 == '\0') {\n      lVar12 = *(long *)(param_5 + 0xb0);\n    }\n    else {\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    \n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }\n    plVar13[4] = uVar17;\n    plVar8 = (long *)(lVar12 + local_78 * 8);\n    if ((long *)*plVar8 == (long *)0x0) {\n      lVar15 = *(long *)(param_5 + 0xc0);\n      *(long **)(param_5 + 0xc0) = plVar13;\n      *plVar13 = lVar15;\n      if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }\n      *plVar8 = param_5 + 0xc0;\n    }\n    else {\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }\n    *(long *)(param_5 + 200) = *(long *)(param_5 + 200) + 1;\n    local_58 = plVar9;\n                    \n    FUN_0022a4f0(param_6,&local_58);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n  }\n  plVar8 = (long *)FUN_0049cb70(0xd0);\n  plVar8[1] = 0;\n  plVar8[2] = 0;\n  plVar8[3] = -1;\n  *(byte *)(plVar8 + 4) = *(byte *)(plVar8 + 4) & 0xe0;\n  *plVar8 = (long)&PTR_FUN_00653e00;\n  plVar8[6] = (long)(plVar8 + 0xc);\n  *(undefined1 (*) [16])(plVar8 + 10) = (undefined1  [16])0x0;\n  plVar8[5] = (long)plVar9;\n  plVar8[0xc] = 0;\n  plVar8[7] = 1;\n  plVar8[8] = 0;\n  plVar8[9] = 0;\n  *(undefined4 *)(plVar8 + 10) = 0x3f800000;\n  plVar8[0xb] = 0;\n  plVar8[0xd] = 0;\n  plVar8[0xe] = 1;\n  *(undefined4 *)(plVar8 + 0x10) = 0;\n  plVar8[0x11] = 0;\n  plVar8[0x12] = (long)(plVar8 + 0x10);\n  plVar8[0x13] = (long)(plVar8 + 0x10);\n  plVar8[0x14] = 0;\n  plVar8[0x15] = 0;\n  plVar8[0x16] = 0;\n  plVar8[0x17] = 0;\n                    \n  puVar14 = (undefined8 *)FUN_0049cb70(0x78);\n  puVar4 = puVar14 + 0xf;\n  plVar8[0x15] = (long)puVar14;\n  plVar8[0x17] = (long)puVar4;\n  do {\n    *puVar14 = 0;\n    puVar14 = puVar14 + 1;\n  } while (puVar4 != puVar14);\n  plVar8[0x16] = (long)puVar4;\n  puVar4 = *(undefined8 **)(param_5 + 0x90);\n  plVar8[0x18] = 0;\n  plVar8[0x19] = 1;\n  if (puVar4 != *(undefined8 **)(param_5 + 0x98)) {\n    *puVar4 = plVar8;\n    *(undefined8 **)(param_5 + 0x90) = puVar4 + 1;\n    goto LAB_00248512;\n  }\n  puVar14 = *(undefined8 **)(param_5 + 0x88);\n  __n = (long)puVar4 - (long)puVar14;\n  uVar10 = (long)__n >> 3;\n  if (uVar10 == 0) {\n    lVar7 = 8;\nLAB_002486a6:\n    pvVar11 = (void *)FUN_0049cb70(lVar7);\n    lVar7 = lVar7 + (long)pvVar11;\n  }\n  else {\n    uVar17 = uVar10 * 2;\n    lVar7 = -8;\n    if ((uVar17 < uVar10) || (0x1fffffffffffffff < uVar17)) goto LAB_002486a6;\n    if (uVar17 != 0) {\n      lVar7 = uVar10 << 4;\n      goto LAB_002486a6;\n    }\n    lVar7 = 0;\n    pvVar11 = (void *)0x0;\n  }\n  *(long **)((long)pvVar11 + __n) = plVar8;\n  if (puVar4 == puVar14) {\n    if (puVar14 != (undefined8 *)0x0) goto LAB_002486f4;\n  }\n  else {\n    memmove(pvVar11,puVar14,__n);\nLAB_002486f4:\n    FUN_0049e340(puVar14);\n  }\n  *(void **)(param_5 + 0x88) = pvVar11;\n  *(long *)(param_5 + 0x98) = lVar7;\n  *(size_t *)(param_5 + 0x90) = (long)pvVar11 + __n + 8;\nLAB_00248512:\n  if ((*(byte *)(plVar9 + 4) & 1) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xc5,"address");\n  }\n  if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar7 = plVar9[2];\n  bVar2 = *(byte *)(plVar8 + 4);\n  if ((bVar2 & 1) != 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0x142,"set_address");\n  }\n  plVar8[1] = plVar9[1] + lVar7;\n  *(byte *)(plVar8 + 4) = bVar2 | 1;\n  if ((*(byte *)(plVar9 + 4) & 4) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\n  }\n  if ((bVar2 & 4) != 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n  }\n  plVar8[3] = lVar7 + plVar9[3];\n  *(byte *)(plVar8 + 4) = bVar2 | 5;\n  if (((bVar2 & 2) == 0) &&\n     ((**(code **)(*plVar8 + 0x70))(plVar8), (*(byte *)(plVar8 + 4) & 2) == 0)) {\n                    \n    FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n  }\n  plVar9[10] = (long)plVar8;\n  do {\n    if (2 < *param_2 + 3U) {\n      lVar7 = FUN_003c9a60(param_2);\n      uVar6 = FUN_003c9ae0(param_2);\n      if ((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6) {\n                    \n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      *(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8;\n    }\n    bVar18 = param_3 != param_2;\n    param_2 = param_2 + 8;\n  } while (bVar18);\n  return;\n}\n\n" (function_definition "void FUN_00247fe0(long param_1,int *param_2,int *param_3,uint *param_4,long param_5,\n                 undefined8 param_6,undefined8 param_7)\n\n{\n  long *plVar1;\n  byte bVar2;\n  long *plVar3;\n  undefined8 *puVar4;\n  char cVar5;\n  uint uVar6;\n  long lVar7;\n  long *plVar8;\n  long *plVar9;\n  ulong uVar10;\n  void *pvVar11;\n  void *__dest;\n  long lVar12;\n  long *plVar13;\n  undefined8 *puVar14;\n  long lVar15;\n  ulong extraout_RDX;\n  ulong uVar16;\n  size_t __n;\n  ulong uVar17;\n  bool bVar18;\n  ulong local_78;\n  size_t local_60;\n  long *local_58;\n  uint uStack_50;\n  undefined4 uStack_4c;\n  \n  if (*(int *)(param_1 + 0x6c) == 0x70000001) {\n                    \n    FUN_00352af0("../../gold/arm.cc",0x1680,"create_stub_group");\n  }\n  if (*param_4 == 0xfffffffc) {\n    plVar9 = *(long **)(param_4 + 4);\n  }\n  else {\n    if (0xfffffffb < *param_4) {\n                    \n      FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");\n    }\n    lVar7 = FUN_003c9a60(param_4);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n                    \n    uVar6 = FUN_003c9ae0(param_4);\n    plVar8 = (long *)FUN_003c9a60(param_4);\n    plVar9 = (long *)FUN_0049cb70(0x60);\n    *(byte *)(plVar9 + 4) = *(byte *)(plVar9 + 4) & 0xe0;\n    plVar9[1] = 0;\n    plVar9[2] = 0;\n    plVar9[3] = -1;\n    plVar9[5] = 0;\n    plVar9[6] = 1;\n    plVar9[7] = (long)plVar8;\n    *(uint *)(plVar9 + 8) = uVar6;\n    *plVar9 = (long)&PTR_FUN_006670c0;\n    lVar12 = *plVar8;\n    *(undefined8 *)((long)plVar9 + 0x44) = 1;\n    plVar9[10] = 0;\n    plVar9[0xb] = 0;\n    uVar10 = (**(code **)(lVar12 + 0xb8))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)((long)plVar9 + 0x44) = (int)uVar10;\n    pvVar11 = (void *)FUN_00392d50(plVar8,uVar6,&local_60,0);\n    uVar10 = (**(code **)(*plVar8 + 0x78))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)(plVar9 + 9) = (int)uVar10;\n    if (plVar9[0xb] != 0) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);\n    }\n    __dest = (void *)thunk_FUN_0049cb70(local_60);\n    plVar9[0xb] = (long)__dest;\n    memcpy(__dest,pvVar11,local_60);\n    lVar12 = *plVar8;\n    if (*(code **)(lVar12 + 0xc0) == FUN_001a5070) {\n      if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);\n    }\n    else {\n                    \n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }\n    lVar12 = (**(code **)(lVar12 + 0xd0))(plVar8,uVar6);\n    if ((lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);\n    }\n    if ((*(byte *)(lVar15 + 0x20) & 1) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n    bVar2 = *(byte *)(plVar9 + 4);\n    if ((bVar2 & 1) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x142,"set_address");\n    }\n    plVar9[1] = *(long *)(lVar15 + 8) + lVar12;\n    *(byte *)(plVar9 + 4) = bVar2 | 1;\n    if ((*(byte *)(lVar15 + 0x20) & 4) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xe3,"offset");\n    }\n    if ((bVar2 & 4) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n    }\n    plVar9[3] = lVar12 + *(long *)(lVar15 + 0x18);\n    *(byte *)(plVar9 + 4) = bVar2 | 5;\n    if ((bVar2 & 2) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    plVar9[2] = (ulong)*(uint *)(plVar9 + 9);\n    FUN_00236100(plVar9);\n    if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n    }\n    plVar13 = (long *)FUN_0049cb70(0x28);\n    *plVar13 = 0;\n    uVar10 = *(ulong *)(param_5 + 0xb8);\n    plVar13[1] = (long)plVar8;\n    plVar13[2] = CONCAT44(uStack_4c,uVar6);\n    plVar13[3] = (long)plVar9;\n    uVar17 = (ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2);\n    local_78 = uVar17 % uVar10;\n    local_58 = plVar8;\n    uStack_50 = uVar6;\n    plVar8 = (long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17);\n    if ((plVar8 != (long *)0x0) && (*plVar8 != 0)) {\n      FUN_0049e340(plVar13);\n                    \n      FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }\n    cVar5 = FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1);\n    if (cVar5 == '\0') {\n      lVar12 = *(long *)(param_5 + 0xb0);\n    }\n    else {\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    \n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }\n    plVar13[4] = uVar17;\n    plVar8 = (long *)(lVar12 + local_78 * 8);\n    if ((long *)*plVar8 == (long *)0x0) {\n      lVar15 = *(long *)(param_5 + 0xc0);\n      *(long **)(param_5 + 0xc0) = plVar13;\n      *plVar13 = lVar15;\n      if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }\n      *plVar8 = param_5 + 0xc0;\n    }\n    else {\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }\n    *(long *)(param_5 + 200) = *(long *)(param_5 + 200) + 1;\n    local_58 = plVar9;\n                    \n    FUN_0022a4f0(param_6,&local_58);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n  }\n  plVar8 = (long *)FUN_0049cb70(0xd0);\n  plVar8[1] = 0;\n  plVar8[2] = 0;\n  plVar8[3] = -1;\n  *(byte *)(plVar8 + 4) = *(byte *)(plVar8 + 4) & 0xe0;\n  *plVar8 = (long)&PTR_FUN_00653e00;\n  plVar8[6] = (long)(plVar8 + 0xc);\n  *(undefined1 (*) [16])(plVar8 + 10) = (undefined1  [16])0x0;\n  plVar8[5] = (long)plVar9;\n  plVar8[0xc] = 0;\n  plVar8[7] = 1;\n  plVar8[8] = 0;\n  plVar8[9] = 0;\n  *(undefined4 *)(plVar8 + 10) = 0x3f800000;\n  plVar8[0xb] = 0;\n  plVar8[0xd] = 0;\n  plVar8[0xe] = 1;\n  *(undefined4 *)(plVar8 + 0x10) = 0;\n  plVar8[0x11] = 0;\n  plVar8[0x12] = (long)(plVar8 + 0x10);\n  plVar8[0x13] = (long)(plVar8 + 0x10);\n  plVar8[0x14] = 0;\n  plVar8[0x15] = 0;\n  plVar8[0x16] = 0;\n  plVar8[0x17] = 0;\n                    \n  puVar14 = (undefined8 *)FUN_0049cb70(0x78);\n  puVar4 = puVar14 + 0xf;\n  plVar8[0x15] = (long)puVar14;\n  plVar8[0x17] = (long)puVar4;\n  do {\n    *puVar14 = 0;\n    puVar14 = puVar14 + 1;\n  } while (puVar4 != puVar14);\n  plVar8[0x16] = (long)puVar4;\n  puVar4 = *(undefined8 **)(param_5 + 0x90);\n  plVar8[0x18] = 0;\n  plVar8[0x19] = 1;\n  if (puVar4 != *(undefined8 **)(param_5 + 0x98)) {\n    *puVar4 = plVar8;\n    *(undefined8 **)(param_5 + 0x90) = puVar4 + 1;\n    goto LAB_00248512;\n  }\n  puVar14 = *(undefined8 **)(param_5 + 0x88);\n  __n = (long)puVar4 - (long)puVar14;\n  uVar10 = (long)__n >> 3;\n  if (uVar10 == 0) {\n    lVar7 = 8;\nLAB_002486a6:\n    pvVar11 = (void *)FUN_0049cb70(lVar7);\n    lVar7 = lVar7 + (long)pvVar11;\n  }\n  else {\n    uVar17 = uVar10 * 2;\n    lVar7 = -8;\n    if ((uVar17 < uVar10) || (0x1fffffffffffffff < uVar17)) goto LAB_002486a6;\n    if (uVar17 != 0) {\n      lVar7 = uVar10 << 4;\n      goto LAB_002486a6;\n    }\n    lVar7 = 0;\n    pvVar11 = (void *)0x0;\n  }\n  *(long **)((long)pvVar11 + __n) = plVar8;\n  if (puVar4 == puVar14) {\n    if (puVar14 != (undefined8 *)0x0) goto LAB_002486f4;\n  }\n  else {\n    memmove(pvVar11,puVar14,__n);\nLAB_002486f4:\n    FUN_0049e340(puVar14);\n  }\n  *(void **)(param_5 + 0x88) = pvVar11;\n  *(long *)(param_5 + 0x98) = lVar7;\n  *(size_t *)(param_5 + 0x90) = (long)pvVar11 + __n + 8;\nLAB_00248512:\n  if ((*(byte *)(plVar9 + 4) & 1) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xc5,"address");\n  }\n  if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar7 = plVar9[2];\n  bVar2 = *(byte *)(plVar8 + 4);\n  if ((bVar2 & 1) != 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0x142,"set_address");\n  }\n  plVar8[1] = plVar9[1] + lVar7;\n  *(byte *)(plVar8 + 4) = bVar2 | 1;\n  if ((*(byte *)(plVar9 + 4) & 4) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\n  }\n  if ((bVar2 & 4) != 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n  }\n  plVar8[3] = lVar7 + plVar9[3];\n  *(byte *)(plVar8 + 4) = bVar2 | 5;\n  if (((bVar2 & 2) == 0) &&\n     ((**(code **)(*plVar8 + 0x70))(plVar8), (*(byte *)(plVar8 + 4) & 2) == 0)) {\n                    \n    FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n  }\n  plVar9[10] = (long)plVar8;\n  do {\n    if (2 < *param_2 + 3U) {\n      lVar7 = FUN_003c9a60(param_2);\n      uVar6 = FUN_003c9ae0(param_2);\n      if ((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6) {\n                    \n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      *(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8;\n    }\n    bVar18 = param_3 != param_2;\n    param_2 = param_2 + 8;\n  } while (bVar18);\n  return;\n}" primitive_type (function_declarator "FUN_00247fe0(long param_1,int *param_2,int *param_3,uint *param_4,long param_5,\n                 undefined8 param_6,undefined8 param_7)" identifier (parameter_list "(long param_1,int *param_2,int *param_3,uint *param_4,long param_5,\n                 undefined8 param_6,undefined8 param_7)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "uint *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "long param_5" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_6" type_identifier identifier) , (parameter_declaration "undefined8 param_7" type_identifier identifier) ))) (compound_statement "{\n  long *plVar1;\n  byte bVar2;\n  long *plVar3;\n  undefined8 *puVar4;\n  char cVar5;\n  uint uVar6;\n  long lVar7;\n  long *plVar8;\n  long *plVar9;\n  ulong uVar10;\n  void *pvVar11;\n  void *__dest;\n  long lVar12;\n  long *plVar13;\n  undefined8 *puVar14;\n  long lVar15;\n  ulong extraout_RDX;\n  ulong uVar16;\n  size_t __n;\n  ulong uVar17;\n  bool bVar18;\n  ulong local_78;\n  size_t local_60;\n  long *local_58;\n  uint uStack_50;\n  undefined4 uStack_4c;\n  \n  if (*(int *)(param_1 + 0x6c) == 0x70000001) {\n                    \n    FUN_00352af0("../../gold/arm.cc",0x1680,"create_stub_group");\n  }\n  if (*param_4 == 0xfffffffc) {\n    plVar9 = *(long **)(param_4 + 4);\n  }\n  else {\n    if (0xfffffffb < *param_4) {\n                    \n      FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");\n    }\n    lVar7 = FUN_003c9a60(param_4);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n                    \n    uVar6 = FUN_003c9ae0(param_4);\n    plVar8 = (long *)FUN_003c9a60(param_4);\n    plVar9 = (long *)FUN_0049cb70(0x60);\n    *(byte *)(plVar9 + 4) = *(byte *)(plVar9 + 4) & 0xe0;\n    plVar9[1] = 0;\n    plVar9[2] = 0;\n    plVar9[3] = -1;\n    plVar9[5] = 0;\n    plVar9[6] = 1;\n    plVar9[7] = (long)plVar8;\n    *(uint *)(plVar9 + 8) = uVar6;\n    *plVar9 = (long)&PTR_FUN_006670c0;\n    lVar12 = *plVar8;\n    *(undefined8 *)((long)plVar9 + 0x44) = 1;\n    plVar9[10] = 0;\n    plVar9[0xb] = 0;\n    uVar10 = (**(code **)(lVar12 + 0xb8))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)((long)plVar9 + 0x44) = (int)uVar10;\n    pvVar11 = (void *)FUN_00392d50(plVar8,uVar6,&local_60,0);\n    uVar10 = (**(code **)(*plVar8 + 0x78))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)(plVar9 + 9) = (int)uVar10;\n    if (plVar9[0xb] != 0) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);\n    }\n    __dest = (void *)thunk_FUN_0049cb70(local_60);\n    plVar9[0xb] = (long)__dest;\n    memcpy(__dest,pvVar11,local_60);\n    lVar12 = *plVar8;\n    if (*(code **)(lVar12 + 0xc0) == FUN_001a5070) {\n      if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);\n    }\n    else {\n                    \n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }\n    lVar12 = (**(code **)(lVar12 + 0xd0))(plVar8,uVar6);\n    if ((lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);\n    }\n    if ((*(byte *)(lVar15 + 0x20) & 1) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n    bVar2 = *(byte *)(plVar9 + 4);\n    if ((bVar2 & 1) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x142,"set_address");\n    }\n    plVar9[1] = *(long *)(lVar15 + 8) + lVar12;\n    *(byte *)(plVar9 + 4) = bVar2 | 1;\n    if ((*(byte *)(lVar15 + 0x20) & 4) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xe3,"offset");\n    }\n    if ((bVar2 & 4) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n    }\n    plVar9[3] = lVar12 + *(long *)(lVar15 + 0x18);\n    *(byte *)(plVar9 + 4) = bVar2 | 5;\n    if ((bVar2 & 2) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    plVar9[2] = (ulong)*(uint *)(plVar9 + 9);\n    FUN_00236100(plVar9);\n    if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n    }\n    plVar13 = (long *)FUN_0049cb70(0x28);\n    *plVar13 = 0;\n    uVar10 = *(ulong *)(param_5 + 0xb8);\n    plVar13[1] = (long)plVar8;\n    plVar13[2] = CONCAT44(uStack_4c,uVar6);\n    plVar13[3] = (long)plVar9;\n    uVar17 = (ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2);\n    local_78 = uVar17 % uVar10;\n    local_58 = plVar8;\n    uStack_50 = uVar6;\n    plVar8 = (long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17);\n    if ((plVar8 != (long *)0x0) && (*plVar8 != 0)) {\n      FUN_0049e340(plVar13);\n                    \n      FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }\n    cVar5 = FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1);\n    if (cVar5 == '\0') {\n      lVar12 = *(long *)(param_5 + 0xb0);\n    }\n    else {\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    \n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }\n    plVar13[4] = uVar17;\n    plVar8 = (long *)(lVar12 + local_78 * 8);\n    if ((long *)*plVar8 == (long *)0x0) {\n      lVar15 = *(long *)(param_5 + 0xc0);\n      *(long **)(param_5 + 0xc0) = plVar13;\n      *plVar13 = lVar15;\n      if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }\n      *plVar8 = param_5 + 0xc0;\n    }\n    else {\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }\n    *(long *)(param_5 + 200) = *(long *)(param_5 + 200) + 1;\n    local_58 = plVar9;\n                    \n    FUN_0022a4f0(param_6,&local_58);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n  }\n  plVar8 = (long *)FUN_0049cb70(0xd0);\n  plVar8[1] = 0;\n  plVar8[2] = 0;\n  plVar8[3] = -1;\n  *(byte *)(plVar8 + 4) = *(byte *)(plVar8 + 4) & 0xe0;\n  *plVar8 = (long)&PTR_FUN_00653e00;\n  plVar8[6] = (long)(plVar8 + 0xc);\n  *(undefined1 (*) [16])(plVar8 + 10) = (undefined1  [16])0x0;\n  plVar8[5] = (long)plVar9;\n  plVar8[0xc] = 0;\n  plVar8[7] = 1;\n  plVar8[8] = 0;\n  plVar8[9] = 0;\n  *(undefined4 *)(plVar8 + 10) = 0x3f800000;\n  plVar8[0xb] = 0;\n  plVar8[0xd] = 0;\n  plVar8[0xe] = 1;\n  *(undefined4 *)(plVar8 + 0x10) = 0;\n  plVar8[0x11] = 0;\n  plVar8[0x12] = (long)(plVar8 + 0x10);\n  plVar8[0x13] = (long)(plVar8 + 0x10);\n  plVar8[0x14] = 0;\n  plVar8[0x15] = 0;\n  plVar8[0x16] = 0;\n  plVar8[0x17] = 0;\n                    \n  puVar14 = (undefined8 *)FUN_0049cb70(0x78);\n  puVar4 = puVar14 + 0xf;\n  plVar8[0x15] = (long)puVar14;\n  plVar8[0x17] = (long)puVar4;\n  do {\n    *puVar14 = 0;\n    puVar14 = puVar14 + 1;\n  } while (puVar4 != puVar14);\n  plVar8[0x16] = (long)puVar4;\n  puVar4 = *(undefined8 **)(param_5 + 0x90);\n  plVar8[0x18] = 0;\n  plVar8[0x19] = 1;\n  if (puVar4 != *(undefined8 **)(param_5 + 0x98)) {\n    *puVar4 = plVar8;\n    *(undefined8 **)(param_5 + 0x90) = puVar4 + 1;\n    goto LAB_00248512;\n  }\n  puVar14 = *(undefined8 **)(param_5 + 0x88);\n  __n = (long)puVar4 - (long)puVar14;\n  uVar10 = (long)__n >> 3;\n  if (uVar10 == 0) {\n    lVar7 = 8;\nLAB_002486a6:\n    pvVar11 = (void *)FUN_0049cb70(lVar7);\n    lVar7 = lVar7 + (long)pvVar11;\n  }\n  else {\n    uVar17 = uVar10 * 2;\n    lVar7 = -8;\n    if ((uVar17 < uVar10) || (0x1fffffffffffffff < uVar17)) goto LAB_002486a6;\n    if (uVar17 != 0) {\n      lVar7 = uVar10 << 4;\n      goto LAB_002486a6;\n    }\n    lVar7 = 0;\n    pvVar11 = (void *)0x0;\n  }\n  *(long **)((long)pvVar11 + __n) = plVar8;\n  if (puVar4 == puVar14) {\n    if (puVar14 != (undefined8 *)0x0) goto LAB_002486f4;\n  }\n  else {\n    memmove(pvVar11,puVar14,__n);\nLAB_002486f4:\n    FUN_0049e340(puVar14);\n  }\n  *(void **)(param_5 + 0x88) = pvVar11;\n  *(long *)(param_5 + 0x98) = lVar7;\n  *(size_t *)(param_5 + 0x90) = (long)pvVar11 + __n + 8;\nLAB_00248512:\n  if ((*(byte *)(plVar9 + 4) & 1) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xc5,"address");\n  }\n  if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar7 = plVar9[2];\n  bVar2 = *(byte *)(plVar8 + 4);\n  if ((bVar2 & 1) != 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0x142,"set_address");\n  }\n  plVar8[1] = plVar9[1] + lVar7;\n  *(byte *)(plVar8 + 4) = bVar2 | 1;\n  if ((*(byte *)(plVar9 + 4) & 4) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\n  }\n  if ((bVar2 & 4) != 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n  }\n  plVar8[3] = lVar7 + plVar9[3];\n  *(byte *)(plVar8 + 4) = bVar2 | 5;\n  if (((bVar2 & 2) == 0) &&\n     ((**(code **)(*plVar8 + 0x70))(plVar8), (*(byte *)(plVar8 + 4) & 2) == 0)) {\n                    \n    FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n  }\n  plVar9[10] = (long)plVar8;\n  do {\n    if (2 < *param_2 + 3U) {\n      lVar7 = FUN_003c9a60(param_2);\n      uVar6 = FUN_003c9ae0(param_2);\n      if ((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6) {\n                    \n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      *(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8;\n    }\n    bVar18 = param_3 != param_2;\n    param_2 = param_2 + 8;\n  } while (bVar18);\n  return;\n}" { (declaration "long *plVar1;" (sized_type_specifier "long" long) (pointer_declarator "*plVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "long *plVar3;" (sized_type_specifier "long" long) (pointer_declarator "*plVar3" * identifier) ;) (declaration "undefined8 *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar8;" (sized_type_specifier "long" long) (pointer_declarator "*plVar8" * identifier) ;) (declaration "long *plVar9;" (sized_type_specifier "long" long) (pointer_declarator "*plVar9" * identifier) ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "void *pvVar11;" primitive_type (pointer_declarator "*pvVar11" * identifier) ;) (declaration "void *__dest;" primitive_type (pointer_declarator "*__dest" * identifier) ;) (declaration "long lVar12;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar13;" (sized_type_specifier "long" long) (pointer_declarator "*plVar13" * identifier) ;) (declaration "undefined8 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "long lVar15;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong extraout_RDX;" type_identifier identifier ;) (declaration "ulong uVar16;" type_identifier identifier ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "ulong uVar17;" type_identifier identifier ;) (declaration "bool bVar18;" primitive_type identifier ;) (declaration "ulong local_78;" type_identifier identifier ;) (declaration "size_t local_60;" primitive_type identifier ;) (declaration "long *local_58;" (sized_type_specifier "long" long) (pointer_declarator "*local_58" * identifier) ;) (declaration "uint uStack_50;" type_identifier identifier ;) (declaration "undefined4 uStack_4c;" type_identifier identifier ;) (if_statement "if (*(int *)(param_1 + 0x6c) == 0x70000001) {\n                    \n    FUN_00352af0("../../gold/arm.cc",0x1680,"create_stub_group");\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x6c) == 0x70000001)" ( (binary_expression "*(int *)(param_1 + 0x6c) == 0x70000001" (pointer_expression "*(int *)(param_1 + 0x6c)" * (cast_expression "(int *)(param_1 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x6c)" ( (binary_expression "param_1 + 0x6c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n    FUN_00352af0("../../gold/arm.cc",0x1680,"create_stub_group");\n  }" { (expression_statement "FUN_00352af0("../../gold/arm.cc",0x1680,"create_stub_group");" (call_expression "FUN_00352af0("../../gold/arm.cc",0x1680,"create_stub_group")" identifier (argument_list "("../../gold/arm.cc",0x1680,"create_stub_group")" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""create_stub_group"" " string_content ") ))) ;) })) (if_statement "if (*param_4 == 0xfffffffc) {\n    plVar9 = *(long **)(param_4 + 4);\n  }\n  else {\n    if (0xfffffffb < *param_4) {\n                    \n      FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");\n    }\n    lVar7 = FUN_003c9a60(param_4);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n                    \n    uVar6 = FUN_003c9ae0(param_4);\n    plVar8 = (long *)FUN_003c9a60(param_4);\n    plVar9 = (long *)FUN_0049cb70(0x60);\n    *(byte *)(plVar9 + 4) = *(byte *)(plVar9 + 4) & 0xe0;\n    plVar9[1] = 0;\n    plVar9[2] = 0;\n    plVar9[3] = -1;\n    plVar9[5] = 0;\n    plVar9[6] = 1;\n    plVar9[7] = (long)plVar8;\n    *(uint *)(plVar9 + 8) = uVar6;\n    *plVar9 = (long)&PTR_FUN_006670c0;\n    lVar12 = *plVar8;\n    *(undefined8 *)((long)plVar9 + 0x44) = 1;\n    plVar9[10] = 0;\n    plVar9[0xb] = 0;\n    uVar10 = (**(code **)(lVar12 + 0xb8))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)((long)plVar9 + 0x44) = (int)uVar10;\n    pvVar11 = (void *)FUN_00392d50(plVar8,uVar6,&local_60,0);\n    uVar10 = (**(code **)(*plVar8 + 0x78))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)(plVar9 + 9) = (int)uVar10;\n    if (plVar9[0xb] != 0) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);\n    }\n    __dest = (void *)thunk_FUN_0049cb70(local_60);\n    plVar9[0xb] = (long)__dest;\n    memcpy(__dest,pvVar11,local_60);\n    lVar12 = *plVar8;\n    if (*(code **)(lVar12 + 0xc0) == FUN_001a5070) {\n      if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);\n    }\n    else {\n                    \n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }\n    lVar12 = (**(code **)(lVar12 + 0xd0))(plVar8,uVar6);\n    if ((lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);\n    }\n    if ((*(byte *)(lVar15 + 0x20) & 1) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n    bVar2 = *(byte *)(plVar9 + 4);\n    if ((bVar2 & 1) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x142,"set_address");\n    }\n    plVar9[1] = *(long *)(lVar15 + 8) + lVar12;\n    *(byte *)(plVar9 + 4) = bVar2 | 1;\n    if ((*(byte *)(lVar15 + 0x20) & 4) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xe3,"offset");\n    }\n    if ((bVar2 & 4) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n    }\n    plVar9[3] = lVar12 + *(long *)(lVar15 + 0x18);\n    *(byte *)(plVar9 + 4) = bVar2 | 5;\n    if ((bVar2 & 2) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    plVar9[2] = (ulong)*(uint *)(plVar9 + 9);\n    FUN_00236100(plVar9);\n    if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n    }\n    plVar13 = (long *)FUN_0049cb70(0x28);\n    *plVar13 = 0;\n    uVar10 = *(ulong *)(param_5 + 0xb8);\n    plVar13[1] = (long)plVar8;\n    plVar13[2] = CONCAT44(uStack_4c,uVar6);\n    plVar13[3] = (long)plVar9;\n    uVar17 = (ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2);\n    local_78 = uVar17 % uVar10;\n    local_58 = plVar8;\n    uStack_50 = uVar6;\n    plVar8 = (long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17);\n    if ((plVar8 != (long *)0x0) && (*plVar8 != 0)) {\n      FUN_0049e340(plVar13);\n                    \n      FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }\n    cVar5 = FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1);\n    if (cVar5 == '\0') {\n      lVar12 = *(long *)(param_5 + 0xb0);\n    }\n    else {\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    \n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }\n    plVar13[4] = uVar17;\n    plVar8 = (long *)(lVar12 + local_78 * 8);\n    if ((long *)*plVar8 == (long *)0x0) {\n      lVar15 = *(long *)(param_5 + 0xc0);\n      *(long **)(param_5 + 0xc0) = plVar13;\n      *plVar13 = lVar15;\n      if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }\n      *plVar8 = param_5 + 0xc0;\n    }\n    else {\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }\n    *(long *)(param_5 + 200) = *(long *)(param_5 + 200) + 1;\n    local_58 = plVar9;\n                    \n    FUN_0022a4f0(param_6,&local_58);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n  }" if (parenthesized_expression "(*param_4 == 0xfffffffc)" ( (binary_expression "*param_4 == 0xfffffffc" (pointer_expression "*param_4" * identifier) == number_literal) )) (compound_statement "{\n    plVar9 = *(long **)(param_4 + 4);\n  }" { (expression_statement "plVar9 = *(long **)(param_4 + 4);" (assignment_expression "plVar9 = *(long **)(param_4 + 4)" identifier = (pointer_expression "*(long **)(param_4 + 4)" * (cast_expression "(long **)(param_4 + 4)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_4 + 4)" ( (binary_expression "param_4 + 4" identifier + number_literal) ))))) ;) }) (else_clause "else {\n    if (0xfffffffb < *param_4) {\n                    \n      FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");\n    }\n    lVar7 = FUN_003c9a60(param_4);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n                    \n    uVar6 = FUN_003c9ae0(param_4);\n    plVar8 = (long *)FUN_003c9a60(param_4);\n    plVar9 = (long *)FUN_0049cb70(0x60);\n    *(byte *)(plVar9 + 4) = *(byte *)(plVar9 + 4) & 0xe0;\n    plVar9[1] = 0;\n    plVar9[2] = 0;\n    plVar9[3] = -1;\n    plVar9[5] = 0;\n    plVar9[6] = 1;\n    plVar9[7] = (long)plVar8;\n    *(uint *)(plVar9 + 8) = uVar6;\n    *plVar9 = (long)&PTR_FUN_006670c0;\n    lVar12 = *plVar8;\n    *(undefined8 *)((long)plVar9 + 0x44) = 1;\n    plVar9[10] = 0;\n    plVar9[0xb] = 0;\n    uVar10 = (**(code **)(lVar12 + 0xb8))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)((long)plVar9 + 0x44) = (int)uVar10;\n    pvVar11 = (void *)FUN_00392d50(plVar8,uVar6,&local_60,0);\n    uVar10 = (**(code **)(*plVar8 + 0x78))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)(plVar9 + 9) = (int)uVar10;\n    if (plVar9[0xb] != 0) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);\n    }\n    __dest = (void *)thunk_FUN_0049cb70(local_60);\n    plVar9[0xb] = (long)__dest;\n    memcpy(__dest,pvVar11,local_60);\n    lVar12 = *plVar8;\n    if (*(code **)(lVar12 + 0xc0) == FUN_001a5070) {\n      if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);\n    }\n    else {\n                    \n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }\n    lVar12 = (**(code **)(lVar12 + 0xd0))(plVar8,uVar6);\n    if ((lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);\n    }\n    if ((*(byte *)(lVar15 + 0x20) & 1) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n    bVar2 = *(byte *)(plVar9 + 4);\n    if ((bVar2 & 1) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x142,"set_address");\n    }\n    plVar9[1] = *(long *)(lVar15 + 8) + lVar12;\n    *(byte *)(plVar9 + 4) = bVar2 | 1;\n    if ((*(byte *)(lVar15 + 0x20) & 4) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xe3,"offset");\n    }\n    if ((bVar2 & 4) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n    }\n    plVar9[3] = lVar12 + *(long *)(lVar15 + 0x18);\n    *(byte *)(plVar9 + 4) = bVar2 | 5;\n    if ((bVar2 & 2) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    plVar9[2] = (ulong)*(uint *)(plVar9 + 9);\n    FUN_00236100(plVar9);\n    if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n    }\n    plVar13 = (long *)FUN_0049cb70(0x28);\n    *plVar13 = 0;\n    uVar10 = *(ulong *)(param_5 + 0xb8);\n    plVar13[1] = (long)plVar8;\n    plVar13[2] = CONCAT44(uStack_4c,uVar6);\n    plVar13[3] = (long)plVar9;\n    uVar17 = (ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2);\n    local_78 = uVar17 % uVar10;\n    local_58 = plVar8;\n    uStack_50 = uVar6;\n    plVar8 = (long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17);\n    if ((plVar8 != (long *)0x0) && (*plVar8 != 0)) {\n      FUN_0049e340(plVar13);\n                    \n      FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }\n    cVar5 = FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1);\n    if (cVar5 == '\0') {\n      lVar12 = *(long *)(param_5 + 0xb0);\n    }\n    else {\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    \n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }\n    plVar13[4] = uVar17;\n    plVar8 = (long *)(lVar12 + local_78 * 8);\n    if ((long *)*plVar8 == (long *)0x0) {\n      lVar15 = *(long *)(param_5 + 0xc0);\n      *(long **)(param_5 + 0xc0) = plVar13;\n      *plVar13 = lVar15;\n      if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }\n      *plVar8 = param_5 + 0xc0;\n    }\n    else {\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }\n    *(long *)(param_5 + 200) = *(long *)(param_5 + 200) + 1;\n    local_58 = plVar9;\n                    \n    FUN_0022a4f0(param_6,&local_58);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n  }" else (compound_statement "{\n    if (0xfffffffb < *param_4) {\n                    \n      FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");\n    }\n    lVar7 = FUN_003c9a60(param_4);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n                    \n    uVar6 = FUN_003c9ae0(param_4);\n    plVar8 = (long *)FUN_003c9a60(param_4);\n    plVar9 = (long *)FUN_0049cb70(0x60);\n    *(byte *)(plVar9 + 4) = *(byte *)(plVar9 + 4) & 0xe0;\n    plVar9[1] = 0;\n    plVar9[2] = 0;\n    plVar9[3] = -1;\n    plVar9[5] = 0;\n    plVar9[6] = 1;\n    plVar9[7] = (long)plVar8;\n    *(uint *)(plVar9 + 8) = uVar6;\n    *plVar9 = (long)&PTR_FUN_006670c0;\n    lVar12 = *plVar8;\n    *(undefined8 *)((long)plVar9 + 0x44) = 1;\n    plVar9[10] = 0;\n    plVar9[0xb] = 0;\n    uVar10 = (**(code **)(lVar12 + 0xb8))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)((long)plVar9 + 0x44) = (int)uVar10;\n    pvVar11 = (void *)FUN_00392d50(plVar8,uVar6,&local_60,0);\n    uVar10 = (**(code **)(*plVar8 + 0x78))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)(plVar9 + 9) = (int)uVar10;\n    if (plVar9[0xb] != 0) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);\n    }\n    __dest = (void *)thunk_FUN_0049cb70(local_60);\n    plVar9[0xb] = (long)__dest;\n    memcpy(__dest,pvVar11,local_60);\n    lVar12 = *plVar8;\n    if (*(code **)(lVar12 + 0xc0) == FUN_001a5070) {\n      if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);\n    }\n    else {\n                    \n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }\n    lVar12 = (**(code **)(lVar12 + 0xd0))(plVar8,uVar6);\n    if ((lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);\n    }\n    if ((*(byte *)(lVar15 + 0x20) & 1) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n    bVar2 = *(byte *)(plVar9 + 4);\n    if ((bVar2 & 1) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x142,"set_address");\n    }\n    plVar9[1] = *(long *)(lVar15 + 8) + lVar12;\n    *(byte *)(plVar9 + 4) = bVar2 | 1;\n    if ((*(byte *)(lVar15 + 0x20) & 4) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xe3,"offset");\n    }\n    if ((bVar2 & 4) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n    }\n    plVar9[3] = lVar12 + *(long *)(lVar15 + 0x18);\n    *(byte *)(plVar9 + 4) = bVar2 | 5;\n    if ((bVar2 & 2) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    plVar9[2] = (ulong)*(uint *)(plVar9 + 9);\n    FUN_00236100(plVar9);\n    if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n    }\n    plVar13 = (long *)FUN_0049cb70(0x28);\n    *plVar13 = 0;\n    uVar10 = *(ulong *)(param_5 + 0xb8);\n    plVar13[1] = (long)plVar8;\n    plVar13[2] = CONCAT44(uStack_4c,uVar6);\n    plVar13[3] = (long)plVar9;\n    uVar17 = (ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2);\n    local_78 = uVar17 % uVar10;\n    local_58 = plVar8;\n    uStack_50 = uVar6;\n    plVar8 = (long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17);\n    if ((plVar8 != (long *)0x0) && (*plVar8 != 0)) {\n      FUN_0049e340(plVar13);\n                    \n      FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }\n    cVar5 = FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1);\n    if (cVar5 == '\0') {\n      lVar12 = *(long *)(param_5 + 0xb0);\n    }\n    else {\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    \n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }\n    plVar13[4] = uVar17;\n    plVar8 = (long *)(lVar12 + local_78 * 8);\n    if ((long *)*plVar8 == (long *)0x0) {\n      lVar15 = *(long *)(param_5 + 0xc0);\n      *(long **)(param_5 + 0xc0) = plVar13;\n      *plVar13 = lVar15;\n      if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }\n      *plVar8 = param_5 + 0xc0;\n    }\n    else {\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }\n    *(long *)(param_5 + 200) = *(long *)(param_5 + 200) + 1;\n    local_58 = plVar9;\n                    \n    FUN_0022a4f0(param_6,&local_58);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n  }" { (if_statement "if (0xfffffffb < *param_4) {\n                    \n      FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");\n    }" if (parenthesized_expression "(0xfffffffb < *param_4)" ( (binary_expression "0xfffffffb < *param_4" number_literal < (pointer_expression "*param_4" * identifier)) )) (compound_statement "{\n                    \n      FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");\n    }" { (expression_statement "FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");" (call_expression "FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group")" identifier (argument_list "("../../gold/arm.cc",0x1690,"create_stub_group")" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""create_stub_group"" " string_content ") ))) ;) })) (expression_statement "lVar7 = FUN_003c9a60(param_4);" (assignment_expression "lVar7 = FUN_003c9a60(param_4)" identifier = (call_expression "FUN_003c9a60(param_4)" identifier (argument_list "(param_4)" ( identifier )))) ;) (if_statement "if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }" if (parenthesized_expression "(*(long *)(lVar7 + 0x28) != 0)" ( (binary_expression "*(long *)(lVar7 + 0x28) != 0" (pointer_expression "*(long *)(lVar7 + 0x28)" * (cast_expression "(long *)(lVar7 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x28)" ( (binary_expression "lVar7 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }" { (expression_statement "FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);" (call_expression "FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7)" identifier (argument_list "(*(long *)(lVar7 + 0x28) + 0x28,param_7)" ( (binary_expression "*(long *)(lVar7 + 0x28) + 0x28" (pointer_expression "*(long *)(lVar7 + 0x28)" * (cast_expression "(long *)(lVar7 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x28)" ( (binary_expression "lVar7 + 0x28" identifier + number_literal) )))) + number_literal) , identifier ))) ;) })) (expression_statement "uVar6 = FUN_003c9ae0(param_4);" (assignment_expression "uVar6 = FUN_003c9ae0(param_4)" identifier = (call_expression "FUN_003c9ae0(param_4)" identifier (argument_list "(param_4)" ( identifier )))) ;) (expression_statement "plVar8 = (long *)FUN_003c9a60(param_4);" (assignment_expression "plVar8 = (long *)FUN_003c9a60(param_4)" identifier = (cast_expression "(long *)FUN_003c9a60(param_4)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003c9a60(param_4)" identifier (argument_list "(param_4)" ( identifier ))))) ;) (expression_statement "plVar9 = (long *)FUN_0049cb70(0x60);" (assignment_expression "plVar9 = (long *)FUN_0049cb70(0x60)" identifier = (cast_expression "(long *)FUN_0049cb70(0x60)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0049cb70(0x60)" identifier (argument_list "(0x60)" ( number_literal ))))) ;) (expression_statement "*(byte *)(plVar9 + 4) = *(byte *)(plVar9 + 4) & 0xe0;" (assignment_expression "*(byte *)(plVar9 + 4) = *(byte *)(plVar9 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar9 + 4)" * (cast_expression "(byte *)(plVar9 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar9 + 4)" ( (binary_expression "plVar9 + 4" identifier + number_literal) )))) = (binary_expression "*(byte *)(plVar9 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar9 + 4)" * (cast_expression "(byte *)(plVar9 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar9 + 4)" ( (binary_expression "plVar9 + 4" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "plVar9[1] = 0;" (assignment_expression "plVar9[1] = 0" (subscript_expression "plVar9[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar9[2] = 0;" (assignment_expression "plVar9[2] = 0" (subscript_expression "plVar9[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar9[3] = -1;" (assignment_expression "plVar9[3] = -1" (subscript_expression "plVar9[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar9[5] = 0;" (assignment_expression "plVar9[5] = 0" (subscript_expression "plVar9[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar9[6] = 1;" (assignment_expression "plVar9[6] = 1" (subscript_expression "plVar9[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar9[7] = (long)plVar8;" (assignment_expression "plVar9[7] = (long)plVar8" (subscript_expression "plVar9[7]" identifier [ number_literal ]) = (cast_expression "(long)plVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "*(uint *)(plVar9 + 8) = uVar6;" (assignment_expression "*(uint *)(plVar9 + 8) = uVar6" (pointer_expression "*(uint *)(plVar9 + 8)" * (cast_expression "(uint *)(plVar9 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar9 + 8)" ( (binary_expression "plVar9 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*plVar9 = (long)&PTR_FUN_006670c0;" (assignment_expression "*plVar9 = (long)&PTR_FUN_006670c0" (pointer_expression "*plVar9" * identifier) = (cast_expression "(long)&PTR_FUN_006670c0" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&PTR_FUN_006670c0" & identifier))) ;) (expression_statement "lVar12 = *plVar8;" (assignment_expression "lVar12 = *plVar8" identifier = (pointer_expression "*plVar8" * identifier)) ;) (expression_statement "*(undefined8 *)((long)plVar9 + 0x44) = 1;" (assignment_expression "*(undefined8 *)((long)plVar9 + 0x44) = 1" (pointer_expression "*(undefined8 *)((long)plVar9 + 0x44)" * (cast_expression "(undefined8 *)((long)plVar9 + 0x44)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar9 + 0x44)" ( (binary_expression "(long)plVar9 + 0x44" (cast_expression "(long)plVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "plVar9[10] = 0;" (assignment_expression "plVar9[10] = 0" (subscript_expression "plVar9[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar9[0xb] = 0;" (assignment_expression "plVar9[0xb] = 0" (subscript_expression "plVar9[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar10 = (**(code **)(lVar12 + 0xb8))(plVar8,uVar6);" (assignment_expression "uVar10 = (**(code **)(lVar12 + 0xb8))(plVar8,uVar6)" identifier = (call_expression "(**(code **)(lVar12 + 0xb8))(plVar8,uVar6)" (parenthesized_expression "(**(code **)(lVar12 + 0xb8))" ( (pointer_expression "**(code **)(lVar12 + 0xb8)" * (pointer_expression "*(code **)(lVar12 + 0xb8)" * (cast_expression "(code **)(lVar12 + 0xb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar12 + 0xb8)" ( (binary_expression "lVar12 + 0xb8" identifier + number_literal) ))))) )) (argument_list "(plVar8,uVar6)" ( identifier , identifier )))) ;) (if_statement "if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }" if (parenthesized_expression "(uVar10 != (uVar10 & 0xffffffff))" ( (binary_expression "uVar10 != (uVar10 & 0xffffffff)" identifier != (parenthesized_expression "(uVar10 & 0xffffffff)" ( (binary_expression "uVar10 & 0xffffffff" identifier & number_literal) ))) )) (compound_statement "{\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }" { (expression_statement "FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");" (call_expression "FUN_00352af0("../../gold/gold.h",0xc0,"convert_types")" identifier (argument_list "("../../gold/gold.h",0xc0,"convert_types")" ( (string_literal ""../../gold/gold.h"" " string_content ") , number_literal , (string_literal ""convert_types"" " string_content ") ))) ;) })) (expression_statement "*(int *)((long)plVar9 + 0x44) = (int)uVar10;" (assignment_expression "*(int *)((long)plVar9 + 0x44) = (int)uVar10" (pointer_expression "*(int *)((long)plVar9 + 0x44)" * (cast_expression "(int *)((long)plVar9 + 0x44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)plVar9 + 0x44)" ( (binary_expression "(long)plVar9 + 0x44" (cast_expression "(long)plVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pvVar11 = (void *)FUN_00392d50(plVar8,uVar6,&local_60,0);" (assignment_expression "pvVar11 = (void *)FUN_00392d50(plVar8,uVar6,&local_60,0)" identifier = (cast_expression "(void *)FUN_00392d50(plVar8,uVar6,&local_60,0)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00392d50(plVar8,uVar6,&local_60,0)" identifier (argument_list "(plVar8,uVar6,&local_60,0)" ( identifier , identifier , (pointer_expression "&local_60" & identifier) , number_literal ))))) ;) (expression_statement "uVar10 = (**(code **)(*plVar8 + 0x78))(plVar8,uVar6);" (assignment_expression "uVar10 = (**(code **)(*plVar8 + 0x78))(plVar8,uVar6)" identifier = (call_expression "(**(code **)(*plVar8 + 0x78))(plVar8,uVar6)" (parenthesized_expression "(**(code **)(*plVar8 + 0x78))" ( (pointer_expression "**(code **)(*plVar8 + 0x78)" * (pointer_expression "*(code **)(*plVar8 + 0x78)" * (cast_expression "(code **)(*plVar8 + 0x78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar8 + 0x78)" ( (binary_expression "*plVar8 + 0x78" (pointer_expression "*plVar8" * identifier) + number_literal) ))))) )) (argument_list "(plVar8,uVar6)" ( identifier , identifier )))) ;) (if_statement "if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }" if (parenthesized_expression "(uVar10 != (uVar10 & 0xffffffff))" ( (binary_expression "uVar10 != (uVar10 & 0xffffffff)" identifier != (parenthesized_expression "(uVar10 & 0xffffffff)" ( (binary_expression "uVar10 & 0xffffffff" identifier & number_literal) ))) )) (compound_statement "{\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }" { (expression_statement "FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");" (call_expression "FUN_00352af0("../../gold/gold.h",0xc0,"convert_types")" identifier (argument_list "("../../gold/gold.h",0xc0,"convert_types")" ( (string_literal ""../../gold/gold.h"" " string_content ") , number_literal , (string_literal ""convert_types"" " string_content ") ))) ;) })) (expression_statement "*(int *)(plVar9 + 9) = (int)uVar10;" (assignment_expression "*(int *)(plVar9 + 9) = (int)uVar10" (pointer_expression "*(int *)(plVar9 + 9)" * (cast_expression "(int *)(plVar9 + 9)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar9 + 9)" ( (binary_expression "plVar9 + 9" identifier + number_literal) )))) = (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (plVar9[0xb] != 0) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);\n    }" if (parenthesized_expression "(plVar9[0xb] != 0)" ( (binary_expression "plVar9[0xb] != 0" (subscript_expression "plVar9[0xb]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);\n    }" { (expression_statement "FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);" (call_expression "FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921)" identifier (argument_list "("../../gold/arm.cc",0x14bf,&DAT_0054f921)" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (pointer_expression "&DAT_0054f921" & identifier) ))) ;) })) (expression_statement "__dest = (void *)thunk_FUN_0049cb70(local_60);" (assignment_expression "__dest = (void *)thunk_FUN_0049cb70(local_60)" identifier = (cast_expression "(void *)thunk_FUN_0049cb70(local_60)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "thunk_FUN_0049cb70(local_60)" identifier (argument_list "(local_60)" ( identifier ))))) ;) (expression_statement "plVar9[0xb] = (long)__dest;" (assignment_expression "plVar9[0xb] = (long)__dest" (subscript_expression "plVar9[0xb]" identifier [ number_literal ]) = (cast_expression "(long)__dest" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "memcpy(__dest,pvVar11,local_60);" (call_expression "memcpy(__dest,pvVar11,local_60)" identifier (argument_list "(__dest,pvVar11,local_60)" ( identifier , identifier , identifier ))) ;) (expression_statement "lVar12 = *plVar8;" (assignment_expression "lVar12 = *plVar8" identifier = (pointer_expression "*plVar8" * identifier)) ;) (if_statement "if (*(code **)(lVar12 + 0xc0) == FUN_001a5070) {\n      if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);\n    }\n    else {\n                    \n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }" if (parenthesized_expression "(*(code **)(lVar12 + 0xc0) == FUN_001a5070)" ( (binary_expression "*(code **)(lVar12 + 0xc0) == FUN_001a5070" (pointer_expression "*(code **)(lVar12 + 0xc0)" * (cast_expression "(code **)(lVar12 + 0xc0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar12 + 0xc0)" ( (binary_expression "lVar12 + 0xc0" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n      if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);\n    }" { (if_statement "if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }" if (parenthesized_expression "((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6)" ( (binary_expression "(ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6" (call_expression "(ulong)(plVar8[0xb] - plVar8[10] >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(plVar8[0xb] - plVar8[10] >> 3)" ( (binary_expression "plVar8[0xb] - plVar8[10] >> 3" (binary_expression "plVar8[0xb] - plVar8[10]" (subscript_expression "plVar8[0xb]" identifier [ number_literal ]) - (subscript_expression "plVar8[10]" identifier [ number_literal ])) >> number_literal) ))) <= (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n                    \n                    \n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }" { (expression_statement "FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");" (call_expression "FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section")" identifier (argument_list "("../../gold/object.h",0x5c8,"do_output_section")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""do_output_section"" " string_content ") ))) ;) })) (expression_statement "lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);" (assignment_expression "lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8)" identifier = (pointer_expression "*(long *)(plVar8[10] + (ulong)uVar6 * 8)" * (cast_expression "(long *)(plVar8[10] + (ulong)uVar6 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar8[10] + (ulong)uVar6 * 8)" ( (binary_expression "plVar8[10] + (ulong)uVar6 * 8" (subscript_expression "plVar8[10]" identifier [ number_literal ]) + (binary_expression "(ulong)uVar6 * 8" (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) ))))) ;) }) (else_clause "else {\n                    \n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }" else (compound_statement "{\n                    \n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }" { (expression_statement "lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);" (assignment_expression "lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6)" identifier = (call_expression "(**(code **)(lVar12 + 0xc0))(plVar8,uVar6)" (parenthesized_expression "(**(code **)(lVar12 + 0xc0))" ( (pointer_expression "**(code **)(lVar12 + 0xc0)" * (pointer_expression "*(code **)(lVar12 + 0xc0)" * (cast_expression "(code **)(lVar12 + 0xc0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar12 + 0xc0)" ( (binary_expression "lVar12 + 0xc0" identifier + number_literal) ))))) )) (argument_list "(plVar8,uVar6)" ( identifier , identifier )))) ;) (expression_statement "lVar12 = *plVar8;" (assignment_expression "lVar12 = *plVar8" identifier = (pointer_expression "*plVar8" * identifier)) ;) }))) (expression_statement "lVar12 = (**(code **)(lVar12 + 0xd0))(plVar8,uVar6);" (assignment_expression "lVar12 = (**(code **)(lVar12 + 0xd0))(plVar8,uVar6)" identifier = (call_expression "(**(code **)(lVar12 + 0xd0))(plVar8,uVar6)" (parenthesized_expression "(**(code **)(lVar12 + 0xd0))" ( (pointer_expression "**(code **)(lVar12 + 0xd0)" * (pointer_expression "*(code **)(lVar12 + 0xd0)" * (cast_expression "(code **)(lVar12 + 0xd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar12 + 0xd0)" ( (binary_expression "lVar12 + 0xd0" identifier + number_literal) ))))) )) (argument_list "(plVar8,uVar6)" ( identifier , identifier )))) ;) (if_statement "if ((lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);\n    }" if (parenthesized_expression "((lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0'))" ( (binary_expression "(lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')" (parenthesized_expression "(lVar15 == 0)" ( (binary_expression "lVar15 == 0" identifier == number_literal) )) || (parenthesized_expression "(cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')" ( (comma_expression "cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0'" (assignment_expression "cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6)" identifier = (call_expression "(**(code **)(*plVar8 + 0x110))(plVar8,uVar6)" (parenthesized_expression "(**(code **)(*plVar8 + 0x110))" ( (pointer_expression "**(code **)(*plVar8 + 0x110)" * (pointer_expression "*(code **)(*plVar8 + 0x110)" * (cast_expression "(code **)(*plVar8 + 0x110)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar8 + 0x110)" ( (binary_expression "*plVar8 + 0x110" (pointer_expression "*plVar8" * identifier) + number_literal) ))))) )) (argument_list "(plVar8,uVar6)" ( identifier , identifier )))) , (binary_expression "cVar5 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);\n    }" { (expression_statement "FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);" (call_expression "FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921)" identifier (argument_list "("../../gold/arm.cc",0x14c7,&DAT_0054f921)" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (pointer_expression "&DAT_0054f921" & identifier) ))) ;) })) (if_statement "if ((*(byte *)(lVar15 + 0x20) & 1) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }" if (parenthesized_expression "((*(byte *)(lVar15 + 0x20) & 1) == 0)" ( (binary_expression "(*(byte *)(lVar15 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar15 + 0x20) & 1)" ( (binary_expression "*(byte *)(lVar15 + 0x20) & 1" (pointer_expression "*(byte *)(lVar15 + 0x20)" * (cast_expression "(byte *)(lVar15 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x20)" ( (binary_expression "lVar15 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }" { (expression_statement "FUN_00352af0("../../gold/output.h",0xc5,"address");" (call_expression "FUN_00352af0("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;) })) (expression_statement "bVar2 = *(byte *)(plVar9 + 4);" (assignment_expression "bVar2 = *(byte *)(plVar9 + 4)" identifier = (pointer_expression "*(byte *)(plVar9 + 4)" * (cast_expression "(byte *)(plVar9 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar9 + 4)" ( (binary_expression "plVar9 + 4" identifier + number_literal) ))))) ;) (if_statement "if ((bVar2 & 1) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x142,"set_address");\n    }" if (parenthesized_expression "((bVar2 & 1) != 0)" ( (binary_expression "(bVar2 & 1) != 0" (parenthesized_expression "(bVar2 & 1)" ( (binary_expression "bVar2 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    \n      FUN_00352af0("../../gold/output.h",0x142,"set_address");\n    }" { (expression_statement "FUN_00352af0("../../gold/output.h",0x142,"set_address");" (call_expression "FUN_00352af0("../../gold/output.h",0x142,"set_address")" identifier (argument_list "("../../gold/output.h",0x142,"set_address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_address"" " string_content ") ))) ;) })) (expression_statement "plVar9[1] = *(long *)(lVar15 + 8) + lVar12;" (assignment_expression "plVar9[1] = *(long *)(lVar15 + 8) + lVar12" (subscript_expression "plVar9[1]" identifier [ number_literal ]) = (binary_expression "*(long *)(lVar15 + 8) + lVar12" (pointer_expression "*(long *)(lVar15 + 8)" * (cast_expression "(long *)(lVar15 + 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 8)" ( (binary_expression "lVar15 + 8" identifier + number_literal) )))) + identifier)) ;) (expression_statement "*(byte *)(plVar9 + 4) = bVar2 | 1;" (assignment_expression "*(byte *)(plVar9 + 4) = bVar2 | 1" (pointer_expression "*(byte *)(plVar9 + 4)" * (cast_expression "(byte *)(plVar9 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar9 + 4)" ( (binary_expression "plVar9 + 4" identifier + number_literal) )))) = (binary_expression "bVar2 | 1" identifier | number_literal)) ;) (if_statement "if ((*(byte *)(lVar15 + 0x20) & 4) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xe3,"offset");\n    }" if (parenthesized_expression "((*(byte *)(lVar15 + 0x20) & 4) == 0)" ( (binary_expression "(*(byte *)(lVar15 + 0x20) & 4) == 0" (parenthesized_expression "(*(byte *)(lVar15 + 0x20) & 4)" ( (binary_expression "*(byte *)(lVar15 + 0x20) & 4" (pointer_expression "*(byte *)(lVar15 + 0x20)" * (cast_expression "(byte *)(lVar15 + 0x20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x20)" ( (binary_expression "lVar15 + 0x20" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n      FUN_00352af0("../../gold/output.h",0xe3,"offset");\n    }" { (expression_statement "FUN_00352af0("../../gold/output.h",0xe3,"offset");" (call_expression "FUN_00352af0("../../gold/output.h",0xe3,"offset")" identifier (argument_list "("../../gold/output.h",0xe3,"offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") ))) ;) })) (if_statement "if ((bVar2 & 4) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n    }" if (parenthesized_expression "((bVar2 & 4) != 0)" ( (binary_expression "(bVar2 & 4) != 0" (parenthesized_expression "(bVar2 & 4)" ( (binary_expression "bVar2 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    \n      FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n    }" { (expression_statement "FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");" (call_expression "FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset")" identifier (argument_list "("../../gold/output.h",0x14b,"set_file_offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_file_offset"" " string_content ") ))) ;) })) (expression_statement "plVar9[3] = lVar12 + *(long *)(lVar15 + 0x18);" (assignment_expression "plVar9[3] = lVar12 + *(long *)(lVar15 + 0x18)" (subscript_expression "plVar9[3]" identifier [ number_literal ]) = (binary_expression "lVar12 + *(long *)(lVar15 + 0x18)" identifier + (pointer_expression "*(long *)(lVar15 + 0x18)" * (cast_expression "(long *)(lVar15 + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x18)" ( (binary_expression "lVar15 + 0x18" identifier + number_literal) )))))) ;) (expression_statement "*(byte *)(plVar9 + 4) = bVar2 | 5;" (assignment_expression "*(byte *)(plVar9 + 4) = bVar2 | 5" (pointer_expression "*(byte *)(plVar9 + 4)" * (cast_expression "(byte *)(plVar9 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar9 + 4)" ( (binary_expression "plVar9 + 4" identifier + number_literal) )))) = (binary_expression "bVar2 | 5" identifier | number_literal)) ;) (if_statement "if ((bVar2 & 2) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }" if (parenthesized_expression "((bVar2 & 2) != 0)" ( (binary_expression "(bVar2 & 2) != 0" (parenthesized_expression "(bVar2 & 2)" ( (binary_expression "bVar2 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    \n      FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }" { (expression_statement "FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");" (call_expression "FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child")" identifier (argument_list "("../../gold/output.h",0x231,"set_current_data_size_for_child")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_current_data_size_for_child"" " string_content ") ))) ;) })) (expression_statement "plVar9[2] = (ulong)*(uint *)(plVar9 + 9);" (assignment_expression "plVar9[2] = (ulong)*(uint *)(plVar9 + 9)" (subscript_expression "plVar9[2]" identifier [ number_literal ]) = (binary_expression "(ulong)*(uint *)(plVar9 + 9)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(plVar9 + 9)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar9 + 9)" ( (binary_expression "plVar9 + 9" identifier + number_literal) ))))) ;) (expression_statement "FUN_00236100(plVar9);" (call_expression "FUN_00236100(plVar9)" identifier (argument_list "(plVar9)" ( identifier ))) ;) (if_statement "if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n    }" if (parenthesized_expression "((*(byte *)(plVar9 + 4) & 2) == 0)" ( (binary_expression "(*(byte *)(plVar9 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar9 + 4) & 2)" ( (binary_expression "*(byte *)(plVar9 + 4) & 2" (pointer_expression "*(byte *)(plVar9 + 4)" * (cast_expression "(byte *)(plVar9 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar9 + 4)" ( (binary_expression "plVar9 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n      FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n    }" { (expression_statement "FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");" (call_expression "FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size")" identifier (argument_list "("../../gold/output.h",0x163,"finalize_data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""finalize_data_size"" " string_content ") ))) ;) })) (expression_statement "plVar13 = (long *)FUN_0049cb70(0x28);" (assignment_expression "plVar13 = (long *)FUN_0049cb70(0x28)" identifier = (cast_expression "(long *)FUN_0049cb70(0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0049cb70(0x28)" identifier (argument_list "(0x28)" ( number_literal ))))) ;) (expression_statement "*plVar13 = 0;" (assignment_expression "*plVar13 = 0" (pointer_expression "*plVar13" * identifier) = number_literal) ;) (expression_statement "uVar10 = *(ulong *)(param_5 + 0xb8);" (assignment_expression "uVar10 = *(ulong *)(param_5 + 0xb8)" identifier = (pointer_expression "*(ulong *)(param_5 + 0xb8)" * (cast_expression "(ulong *)(param_5 + 0xb8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xb8)" ( (binary_expression "param_5 + 0xb8" identifier + number_literal) ))))) ;) (expression_statement "plVar13[1] = (long)plVar8;" (assignment_expression "plVar13[1] = (long)plVar8" (subscript_expression "plVar13[1]" identifier [ number_literal ]) = (cast_expression "(long)plVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "plVar13[2] = CONCAT44(uStack_4c,uVar6);" (assignment_expression "plVar13[2] = CONCAT44(uStack_4c,uVar6)" (subscript_expression "plVar13[2]" identifier [ number_literal ]) = (call_expression "CONCAT44(uStack_4c,uVar6)" identifier (argument_list "(uStack_4c,uVar6)" ( identifier , identifier )))) ;) (expression_statement "plVar13[3] = (long)plVar9;" (assignment_expression "plVar13[3] = (long)plVar9" (subscript_expression "plVar13[3]" identifier [ number_literal ]) = (cast_expression "(long)plVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "uVar17 = (ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2);" (assignment_expression "uVar17 = (ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2)" identifier = (binary_expression "(ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2)" (cast_expression "(ulong)plVar8" ( (type_descriptor "ulong" type_identifier) ) identifier) ^ (binary_expression "(ulong)*(uint *)(plVar13 + 2)" (parenthesized_expression "(ulong)" ( identifier )) * (cast_expression "(uint *)(plVar13 + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar13 + 2)" ( (binary_expression "plVar13 + 2" identifier + number_literal) )))))) ;) (expression_statement "local_78 = uVar17 % uVar10;" (assignment_expression "local_78 = uVar17 % uVar10" identifier = (binary_expression "uVar17 % uVar10" identifier % identifier)) ;) (expression_statement "local_58 = plVar8;" (assignment_expression "local_58 = plVar8" identifier = identifier) ;) (expression_statement "uStack_50 = uVar6;" (assignment_expression "uStack_50 = uVar6" identifier = identifier) ;) (expression_statement "plVar8 = (long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17);" (assignment_expression "plVar8 = (long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17)" identifier = (cast_expression "(long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17)" identifier (argument_list "(param_5 + 0xb0,local_78,plVar13 + 1,uVar17)" ( (binary_expression "param_5 + 0xb0" identifier + number_literal) , identifier , (binary_expression "plVar13 + 1" identifier + number_literal) , identifier ))))) ;) (if_statement "if ((plVar8 != (long *)0x0) && (*plVar8 != 0)) {\n      FUN_0049e340(plVar13);\n                    \n      FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }" if (parenthesized_expression "((plVar8 != (long *)0x0) && (*plVar8 != 0))" ( (binary_expression "(plVar8 != (long *)0x0) && (*plVar8 != 0)" (parenthesized_expression "(plVar8 != (long *)0x0)" ( (binary_expression "plVar8 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*plVar8 != 0)" ( (binary_expression "*plVar8 != 0" (pointer_expression "*plVar8" * identifier) != number_literal) ))) )) (compound_statement "{\n      FUN_0049e340(plVar13);\n                    \n      FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }" { (expression_statement "FUN_0049e340(plVar13);" (call_expression "FUN_0049e340(plVar13)" identifier (argument_list "(plVar13)" ( identifier ))) ;) (expression_statement "FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");" (call_expression "FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section")" identifier (argument_list "("../../gold/arm.cc",0x2e50,"new_arm_input_section")" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""new_arm_input_section"" " string_content ") ))) ;) })) (expression_statement "cVar5 = FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1);" (assignment_expression "cVar5 = FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1)" identifier = (call_expression "FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1)" identifier (argument_list "(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1)" ( (binary_expression "param_5 + 0xd0" identifier + number_literal) , identifier , (pointer_expression "*(undefined8 *)(param_5 + 200)" * (cast_expression "(undefined8 *)(param_5 + 200)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 200)" ( (binary_expression "param_5 + 200" identifier + number_literal) )))) , number_literal )))) ;) (if_statement "if (cVar5 == '\0') {\n      lVar12 = *(long *)(param_5 + 0xb0);\n    }\n    else {\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    \n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }" if (parenthesized_expression "(cVar5 == '\0')" ( (binary_expression "cVar5 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      lVar12 = *(long *)(param_5 + 0xb0);\n    }" { (expression_statement "lVar12 = *(long *)(param_5 + 0xb0);" (assignment_expression "lVar12 = *(long *)(param_5 + 0xb0)" identifier = (pointer_expression "*(long *)(param_5 + 0xb0)" * (cast_expression "(long *)(param_5 + 0xb0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xb0)" ( (binary_expression "param_5 + 0xb0" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    \n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }" else (compound_statement "{\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    \n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }" { (if_statement "if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    \n        lVar12 = FUN_00232700();\n      }" if (parenthesized_expression "(extraout_RDX == 1)" ( (binary_expression "extraout_RDX == 1" identifier == number_literal) )) (compound_statement "{\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }" { (expression_statement "lVar12 = param_5 + 0xe0;" (assignment_expression "lVar12 = param_5 + 0xe0" identifier = (binary_expression "param_5 + 0xe0" identifier + number_literal)) ;) (expression_statement "*(undefined8 *)(param_5 + 0xe0) = 0;" (assignment_expression "*(undefined8 *)(param_5 + 0xe0) = 0" (pointer_expression "*(undefined8 *)(param_5 + 0xe0)" * (cast_expression "(undefined8 *)(param_5 + 0xe0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xe0)" ( (binary_expression "param_5 + 0xe0" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n                    \n        lVar12 = FUN_00232700();\n      }" else (compound_statement "{\n                    \n        lVar12 = FUN_00232700();\n      }" { (expression_statement "lVar12 = FUN_00232700();" (assignment_expression "lVar12 = FUN_00232700()" identifier = (call_expression "FUN_00232700()" identifier (argument_list "()" ( )))) ;) }))) (expression_statement "plVar8 = *(long **)(param_5 + 0xc0);" (assignment_expression "plVar8 = *(long **)(param_5 + 0xc0)" identifier = (pointer_expression "*(long **)(param_5 + 0xc0)" * (cast_expression "(long **)(param_5 + 0xc0)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0xc0)" ( (binary_expression "param_5 + 0xc0" identifier + number_literal) ))))) ;) (expression_statement "*(undefined8 *)(param_5 + 0xc0) = 0;" (assignment_expression "*(undefined8 *)(param_5 + 0xc0) = 0" (pointer_expression "*(undefined8 *)(param_5 + 0xc0)" * (cast_expression "(undefined8 *)(param_5 + 0xc0)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc0)" ( (binary_expression "param_5 + 0xc0" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }" if (parenthesized_expression "(plVar8 != (long *)0x0)" ( (binary_expression "plVar8 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }" { (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);" do (compound_statement "{\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        }" { (while_statement "while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }" { (expression_statement "plVar3 = (long *)*plVar8;" (assignment_expression "plVar3 = (long *)*plVar8" identifier = (cast_expression "(long *)*plVar8" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar8" * identifier))) ;) (expression_statement "uVar16 = (ulong)plVar8[4] % extraout_RDX;" (assignment_expression "uVar16 = (ulong)plVar8[4] % extraout_RDX" identifier = (binary_expression "(ulong)plVar8[4] % extraout_RDX" (cast_expression "(ulong)plVar8[4]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "plVar8[4]" identifier [ number_literal ])) % identifier)) ;) (expression_statement "plVar1 = (long *)(lVar12 + uVar16 * 8);" (assignment_expression "plVar1 = (long *)(lVar12 + uVar16 * 8)" identifier = (cast_expression "(long *)(lVar12 + uVar16 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + uVar16 * 8)" ( (binary_expression "lVar12 + uVar16 * 8" identifier + (binary_expression "uVar16 * 8" identifier * number_literal)) )))) ;) (if_statement "if ((long *)*plVar1 == (long *)0x0) break;" if (parenthesized_expression "((long *)*plVar1 == (long *)0x0)" ( (binary_expression "(long *)*plVar1 == (long *)0x0" (cast_expression "(long *)*plVar1" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar1" * identifier)) == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "*plVar8 = *(long *)*plVar1;" (assignment_expression "*plVar8 = *(long *)*plVar1" (pointer_expression "*plVar8" * identifier) = (pointer_expression "*(long *)*plVar1" * (cast_expression "(long *)*plVar1" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar1" * identifier)))) ;) (expression_statement "*(long **)*plVar1 = plVar8;" (assignment_expression "*(long **)*plVar1 = plVar8" (pointer_expression "*(long **)*plVar1" * (cast_expression "(long **)*plVar1" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*plVar1" * identifier))) = identifier) ;) (expression_statement "uVar16 = uVar10;" (assignment_expression "uVar16 = uVar10" identifier = identifier) ;) (labeled_statement "LAB_0024831c:\n            plVar8 = plVar3;" statement_identifier : (expression_statement "plVar8 = plVar3;" (assignment_expression "plVar8 = plVar3" identifier = identifier) ;)) (expression_statement "uVar10 = uVar16;" (assignment_expression "uVar10 = uVar16" identifier = identifier) ;) (if_statement "if (plVar3 == (long *)0x0) goto LAB_00248370;" if (parenthesized_expression "(plVar3 == (long *)0x0)" ( (binary_expression "plVar3 == (long *)0x0" identifier == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00248370;" goto statement_identifier ;)) })) (expression_statement "*plVar8 = *(long *)(param_5 + 0xc0);" (assignment_expression "*plVar8 = *(long *)(param_5 + 0xc0)" (pointer_expression "*plVar8" * identifier) = (pointer_expression "*(long *)(param_5 + 0xc0)" * (cast_expression "(long *)(param_5 + 0xc0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc0)" ( (binary_expression "param_5 + 0xc0" identifier + number_literal) ))))) ;) (expression_statement "*(long **)(param_5 + 0xc0) = plVar8;" (assignment_expression "*(long **)(param_5 + 0xc0) = plVar8" (pointer_expression "*(long **)(param_5 + 0xc0)" * (cast_expression "(long **)(param_5 + 0xc0)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0xc0)" ( (binary_expression "param_5 + 0xc0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*plVar1 = param_5 + 0xc0;" (assignment_expression "*plVar1 = param_5 + 0xc0" (pointer_expression "*plVar1" * identifier) = (binary_expression "param_5 + 0xc0" identifier + number_literal)) ;) (if_statement "if (*plVar8 == 0) goto LAB_0024831c;" if (parenthesized_expression "(*plVar8 == 0)" ( (binary_expression "*plVar8 == 0" (pointer_expression "*plVar8" * identifier) == number_literal) )) (goto_statement "goto LAB_0024831c;" goto statement_identifier ;)) (expression_statement "*(long **)(lVar12 + uVar10 * 8) = plVar8;" (assignment_expression "*(long **)(lVar12 + uVar10 * 8) = plVar8" (pointer_expression "*(long **)(lVar12 + uVar10 * 8)" * (cast_expression "(long **)(lVar12 + uVar10 * 8)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar12 + uVar10 * 8)" ( (binary_expression "lVar12 + uVar10 * 8" identifier + (binary_expression "uVar10 * 8" identifier * number_literal)) )))) = identifier) ;) (expression_statement "plVar8 = plVar3;" (assignment_expression "plVar8 = plVar3" identifier = identifier) ;) (expression_statement "uVar10 = uVar16;" (assignment_expression "uVar10 = uVar16" identifier = identifier) ;) }) while (parenthesized_expression "(plVar3 != (long *)0x0)" ( (binary_expression "plVar3 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (labeled_statement "LAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }" statement_identifier : (if_statement "if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }" if (parenthesized_expression "(*(long *)(param_5 + 0xb0) != param_5 + 0xe0)" ( (binary_expression "*(long *)(param_5 + 0xb0) != param_5 + 0xe0" (pointer_expression "*(long *)(param_5 + 0xb0)" * (cast_expression "(long *)(param_5 + 0xb0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xb0)" ( (binary_expression "param_5 + 0xb0" identifier + number_literal) )))) != (binary_expression "param_5 + 0xe0" identifier + number_literal)) )) (compound_statement "{\n        FUN_0049e340();\n      }" { (expression_statement "FUN_0049e340();" (call_expression "FUN_0049e340()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "*(ulong *)(param_5 + 0xb8) = extraout_RDX;" (assignment_expression "*(ulong *)(param_5 + 0xb8) = extraout_RDX" (pointer_expression "*(ulong *)(param_5 + 0xb8)" * (cast_expression "(ulong *)(param_5 + 0xb8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xb8)" ( (binary_expression "param_5 + 0xb8" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_78 = uVar17 % extraout_RDX;" (assignment_expression "local_78 = uVar17 % extraout_RDX" identifier = (binary_expression "uVar17 % extraout_RDX" identifier % identifier)) ;) (expression_statement "*(long *)(param_5 + 0xb0) = lVar12;" (assignment_expression "*(long *)(param_5 + 0xb0) = lVar12" (pointer_expression "*(long *)(param_5 + 0xb0)" * (cast_expression "(long *)(param_5 + 0xb0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xb0)" ( (binary_expression "param_5 + 0xb0" identifier + number_literal) )))) = identifier) ;) }))) (expression_statement "plVar13[4] = uVar17;" (assignment_expression "plVar13[4] = uVar17" (subscript_expression "plVar13[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "plVar8 = (long *)(lVar12 + local_78 * 8);" (assignment_expression "plVar8 = (long *)(lVar12 + local_78 * 8)" identifier = (cast_expression "(long *)(lVar12 + local_78 * 8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar12 + local_78 * 8)" ( (binary_expression "lVar12 + local_78 * 8" identifier + (binary_expression "local_78 * 8" identifier * number_literal)) )))) ;) (if_statement "if ((long *)*plVar8 == (long *)0x0) {\n      lVar15 = *(long *)(param_5 + 0xc0);\n      *(long **)(param_5 + 0xc0) = plVar13;\n      *plVar13 = lVar15;\n      if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }\n      *plVar8 = param_5 + 0xc0;\n    }\n    else {\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }" if (parenthesized_expression "((long *)*plVar8 == (long *)0x0)" ( (binary_expression "(long *)*plVar8 == (long *)0x0" (cast_expression "(long *)*plVar8" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar8" * identifier)) == (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      lVar15 = *(long *)(param_5 + 0xc0);\n      *(long **)(param_5 + 0xc0) = plVar13;\n      *plVar13 = lVar15;\n      if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }\n      *plVar8 = param_5 + 0xc0;\n    }" { (expression_statement "lVar15 = *(long *)(param_5 + 0xc0);" (assignment_expression "lVar15 = *(long *)(param_5 + 0xc0)" identifier = (pointer_expression "*(long *)(param_5 + 0xc0)" * (cast_expression "(long *)(param_5 + 0xc0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xc0)" ( (binary_expression "param_5 + 0xc0" identifier + number_literal) ))))) ;) (expression_statement "*(long **)(param_5 + 0xc0) = plVar13;" (assignment_expression "*(long **)(param_5 + 0xc0) = plVar13" (pointer_expression "*(long **)(param_5 + 0xc0)" * (cast_expression "(long **)(param_5 + 0xc0)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0xc0)" ( (binary_expression "param_5 + 0xc0" identifier + number_literal) )))) = identifier) ;) (expression_statement "*plVar13 = lVar15;" (assignment_expression "*plVar13 = lVar15" (pointer_expression "*plVar13" * identifier) = identifier) ;) (if_statement "if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }" if (parenthesized_expression "(lVar15 != 0)" ( (binary_expression "lVar15 != 0" identifier != number_literal) )) (compound_statement "{\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }" { (expression_statement "*(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;" (assignment_expression "*(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13" (pointer_expression "*(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8)" * (cast_expression "(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8)" ( (binary_expression "lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8" identifier + (binary_expression "(*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8" (parenthesized_expression "(*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8))" ( (binary_expression "*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)" (pointer_expression "*(ulong *)(lVar15 + 0x20)" * (cast_expression "(ulong *)(lVar15 + 0x20)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar15 + 0x20)" ( (binary_expression "lVar15 + 0x20" identifier + number_literal) )))) % (pointer_expression "*(ulong *)(param_5 + 0xb8)" * (cast_expression "(ulong *)(param_5 + 0xb8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0xb8)" ( (binary_expression "param_5 + 0xb8" identifier + number_literal) ))))) )) * number_literal)) )))) = identifier) ;) })) (expression_statement "*plVar8 = param_5 + 0xc0;" (assignment_expression "*plVar8 = param_5 + 0xc0" (pointer_expression "*plVar8" * identifier) = (binary_expression "param_5 + 0xc0" identifier + number_literal)) ;) }) (else_clause "else {\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }" else (compound_statement "{\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }" { (expression_statement "*plVar13 = *(long *)*plVar8;" (assignment_expression "*plVar13 = *(long *)*plVar8" (pointer_expression "*plVar13" * identifier) = (pointer_expression "*(long *)*plVar8" * (cast_expression "(long *)*plVar8" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar8" * identifier)))) ;) (expression_statement "*(long **)*plVar8 = plVar13;" (assignment_expression "*(long **)*plVar8 = plVar13" (pointer_expression "*(long **)*plVar8" * (cast_expression "(long **)*plVar8" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "*plVar8" * identifier))) = identifier) ;) }))) (expression_statement "*(long *)(param_5 + 200) = *(long *)(param_5 + 200) + 1;" (assignment_expression "*(long *)(param_5 + 200) = *(long *)(param_5 + 200) + 1" (pointer_expression "*(long *)(param_5 + 200)" * (cast_expression "(long *)(param_5 + 200)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 200)" ( (binary_expression "param_5 + 200" identifier + number_literal) )))) = (binary_expression "*(long *)(param_5 + 200) + 1" (pointer_expression "*(long *)(param_5 + 200)" * (cast_expression "(long *)(param_5 + 200)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 200)" ( (binary_expression "param_5 + 200" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "local_58 = plVar9;" (assignment_expression "local_58 = plVar9" identifier = identifier) ;) (expression_statement "FUN_0022a4f0(param_6,&local_58);" (call_expression "FUN_0022a4f0(param_6,&local_58)" identifier (argument_list "(param_6,&local_58)" ( identifier , (pointer_expression "&local_58" & identifier) ))) ;) (if_statement "if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }" if (parenthesized_expression "(*(long *)(lVar7 + 0x28) != 0)" ( (binary_expression "*(long *)(lVar7 + 0x28) != 0" (pointer_expression "*(long *)(lVar7 + 0x28)" * (cast_expression "(long *)(lVar7 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x28)" ( (binary_expression "lVar7 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }" { (expression_statement "FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);" (call_expression "FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7)" identifier (argument_list "(*(long *)(lVar7 + 0x28) + 0x28,param_7)" ( (binary_expression "*(long *)(lVar7 + 0x28) + 0x28" (pointer_expression "*(long *)(lVar7 + 0x28)" * (cast_expression "(long *)(lVar7 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x28)" ( (binary_expression "lVar7 + 0x28" identifier + number_literal) )))) + number_literal) , identifier ))) ;) })) }))) (expression_statement "plVar8 = (long *)FUN_0049cb70(0xd0);" (assignment_expression "plVar8 = (long *)FUN_0049cb70(0xd0)" identifier = (cast_expression "(long *)FUN_0049cb70(0xd0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0049cb70(0xd0)" identifier (argument_list "(0xd0)" ( number_literal ))))) ;) (expression_statement "plVar8[1] = 0;" (assignment_expression "plVar8[1] = 0" (subscript_expression "plVar8[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar8[2] = 0;" (assignment_expression "plVar8[2] = 0" (subscript_expression "plVar8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar8[3] = -1;" (assignment_expression "plVar8[3] = -1" (subscript_expression "plVar8[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(byte *)(plVar8 + 4) = *(byte *)(plVar8 + 4) & 0xe0;" (assignment_expression "*(byte *)(plVar8 + 4) = *(byte *)(plVar8 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar8 + 4)" * (cast_expression "(byte *)(plVar8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar8 + 4)" ( (binary_expression "plVar8 + 4" identifier + number_literal) )))) = (binary_expression "*(byte *)(plVar8 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar8 + 4)" * (cast_expression "(byte *)(plVar8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar8 + 4)" ( (binary_expression "plVar8 + 4" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "*plVar8 = (long)&PTR_FUN_00653e00;" (assignment_expression "*plVar8 = (long)&PTR_FUN_00653e00" (pointer_expression "*plVar8" * identifier) = (cast_expression "(long)&PTR_FUN_00653e00" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&PTR_FUN_00653e00" & identifier))) ;) (expression_statement "plVar8[6] = (long)(plVar8 + 0xc);" (assignment_expression "plVar8[6] = (long)(plVar8 + 0xc)" (subscript_expression "plVar8[6]" identifier [ number_literal ]) = (cast_expression "(long)(plVar8 + 0xc)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(plVar8 + 0xc)" ( (binary_expression "plVar8 + 0xc" identifier + number_literal) )))) ;) (expression_statement "*(undefined1 (*) [16])(plVar8 + 10) = (undefined1  [16])0x0;" (assignment_expression "*(undefined1 (*) [16])(plVar8 + 10) = (undefined1  [16])0x0" (pointer_expression "*(undefined1 (*) [16])(plVar8 + 10)" * (cast_expression "(undefined1 (*) [16])(plVar8 + 10)" ( (type_descriptor "undefined1 (*) [16]" type_identifier (abstract_array_declarator "(*) [16]" (abstract_parenthesized_declarator "(*)" ( (abstract_pointer_declarator "*" *) )) [ number_literal ])) ) (parenthesized_expression "(plVar8 + 10)" ( (binary_expression "plVar8 + 10" identifier + number_literal) )))) = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "plVar8[5] = (long)plVar9;" (assignment_expression "plVar8[5] = (long)plVar9" (subscript_expression "plVar8[5]" identifier [ number_literal ]) = (cast_expression "(long)plVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "plVar8[0xc] = 0;" (assignment_expression "plVar8[0xc] = 0" (subscript_expression "plVar8[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar8[7] = 1;" (assignment_expression "plVar8[7] = 1" (subscript_expression "plVar8[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar8[8] = 0;" (assignment_expression "plVar8[8] = 0" (subscript_expression "plVar8[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar8[9] = 0;" (assignment_expression "plVar8[9] = 0" (subscript_expression "plVar8[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(plVar8 + 10) = 0x3f800000;" (assignment_expression "*(undefined4 *)(plVar8 + 10) = 0x3f800000" (pointer_expression "*(undefined4 *)(plVar8 + 10)" * (cast_expression "(undefined4 *)(plVar8 + 10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar8 + 10)" ( (binary_expression "plVar8 + 10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar8[0xb] = 0;" (assignment_expression "plVar8[0xb] = 0" (subscript_expression "plVar8[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar8[0xd] = 0;" (assignment_expression "plVar8[0xd] = 0" (subscript_expression "plVar8[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar8[0xe] = 1;" (assignment_expression "plVar8[0xe] = 1" (subscript_expression "plVar8[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(plVar8 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(plVar8 + 0x10) = 0" (pointer_expression "*(undefined4 *)(plVar8 + 0x10)" * (cast_expression "(undefined4 *)(plVar8 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar8 + 0x10)" ( (binary_expression "plVar8 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar8[0x11] = 0;" (assignment_expression "plVar8[0x11] = 0" (subscript_expression "plVar8[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar8[0x12] = (long)(plVar8 + 0x10);" (assignment_expression "plVar8[0x12] = (long)(plVar8 + 0x10)" (subscript_expression "plVar8[0x12]" identifier [ number_literal ]) = (cast_expression "(long)(plVar8 + 0x10)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(plVar8 + 0x10)" ( (binary_expression "plVar8 + 0x10" identifier + number_literal) )))) ;) (expression_statement "plVar8[0x13] = (long)(plVar8 + 0x10);" (assignment_expression "plVar8[0x13] = (long)(plVar8 + 0x10)" (subscript_expression "plVar8[0x13]" identifier [ number_literal ]) = (cast_expression "(long)(plVar8 + 0x10)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(plVar8 + 0x10)" ( (binary_expression "plVar8 + 0x10" identifier + number_literal) )))) ;) (expression_statement "plVar8[0x14] = 0;" (assignment_expression "plVar8[0x14] = 0" (subscript_expression "plVar8[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar8[0x15] = 0;" (assignment_expression "plVar8[0x15] = 0" (subscript_expression "plVar8[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar8[0x16] = 0;" (assignment_expression "plVar8[0x16] = 0" (subscript_expression "plVar8[0x16]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar8[0x17] = 0;" (assignment_expression "plVar8[0x17] = 0" (subscript_expression "plVar8[0x17]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar14 = (undefined8 *)FUN_0049cb70(0x78);" (assignment_expression "puVar14 = (undefined8 *)FUN_0049cb70(0x78)" identifier = (cast_expression "(undefined8 *)FUN_0049cb70(0x78)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0049cb70(0x78)" identifier (argument_list "(0x78)" ( number_literal ))))) ;) (expression_statement "puVar4 = puVar14 + 0xf;" (assignment_expression "puVar4 = puVar14 + 0xf" identifier = (binary_expression "puVar14 + 0xf" identifier + number_literal)) ;) (expression_statement "plVar8[0x15] = (long)puVar14;" (assignment_expression "plVar8[0x15] = (long)puVar14" (subscript_expression "plVar8[0x15]" identifier [ number_literal ]) = (cast_expression "(long)puVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "plVar8[0x17] = (long)puVar4;" (assignment_expression "plVar8[0x17] = (long)puVar4" (subscript_expression "plVar8[0x17]" identifier [ number_literal ]) = (cast_expression "(long)puVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (do_statement "do {\n    *puVar14 = 0;\n    puVar14 = puVar14 + 1;\n  } while (puVar4 != puVar14);" do (compound_statement "{\n    *puVar14 = 0;\n    puVar14 = puVar14 + 1;\n  }" { (expression_statement "*puVar14 = 0;" (assignment_expression "*puVar14 = 0" (pointer_expression "*puVar14" * identifier) = number_literal) ;) (expression_statement "puVar14 = puVar14 + 1;" (assignment_expression "puVar14 = puVar14 + 1" identifier = (binary_expression "puVar14 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar4 != puVar14)" ( (binary_expression "puVar4 != puVar14" identifier != identifier) )) ;) (expression_statement "plVar8[0x16] = (long)puVar4;" (assignment_expression "plVar8[0x16] = (long)puVar4" (subscript_expression "plVar8[0x16]" identifier [ number_literal ]) = (cast_expression "(long)puVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "puVar4 = *(undefined8 **)(param_5 + 0x90);" (assignment_expression "puVar4 = *(undefined8 **)(param_5 + 0x90)" identifier = (pointer_expression "*(undefined8 **)(param_5 + 0x90)" * (cast_expression "(undefined8 **)(param_5 + 0x90)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0x90)" ( (binary_expression "param_5 + 0x90" identifier + number_literal) ))))) ;) (expression_statement "plVar8[0x18] = 0;" (assignment_expression "plVar8[0x18] = 0" (subscript_expression "plVar8[0x18]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar8[0x19] = 1;" (assignment_expression "plVar8[0x19] = 1" (subscript_expression "plVar8[0x19]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (puVar4 != *(undefined8 **)(param_5 + 0x98)) {\n    *puVar4 = plVar8;\n    *(undefined8 **)(param_5 + 0x90) = puVar4 + 1;\n    goto LAB_00248512;\n  }" if (parenthesized_expression "(puVar4 != *(undefined8 **)(param_5 + 0x98))" ( (binary_expression "puVar4 != *(undefined8 **)(param_5 + 0x98)" identifier != (pointer_expression "*(undefined8 **)(param_5 + 0x98)" * (cast_expression "(undefined8 **)(param_5 + 0x98)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0x98)" ( (binary_expression "param_5 + 0x98" identifier + number_literal) ))))) )) (compound_statement "{\n    *puVar4 = plVar8;\n    *(undefined8 **)(param_5 + 0x90) = puVar4 + 1;\n    goto LAB_00248512;\n  }" { (expression_statement "*puVar4 = plVar8;" (assignment_expression "*puVar4 = plVar8" (pointer_expression "*puVar4" * identifier) = identifier) ;) (expression_statement "*(undefined8 **)(param_5 + 0x90) = puVar4 + 1;" (assignment_expression "*(undefined8 **)(param_5 + 0x90) = puVar4 + 1" (pointer_expression "*(undefined8 **)(param_5 + 0x90)" * (cast_expression "(undefined8 **)(param_5 + 0x90)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0x90)" ( (binary_expression "param_5 + 0x90" identifier + number_literal) )))) = (binary_expression "puVar4 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00248512;" goto statement_identifier ;) })) (expression_statement "puVar14 = *(undefined8 **)(param_5 + 0x88);" (assignment_expression "puVar14 = *(undefined8 **)(param_5 + 0x88)" identifier = (pointer_expression "*(undefined8 **)(param_5 + 0x88)" * (cast_expression "(undefined8 **)(param_5 + 0x88)" ( (type_descriptor "undefined8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0x88)" ( (binary_expression "param_5 + 0x88" identifier + number_literal) ))))) ;) (expression_statement "__n = (long)puVar4 - (long)puVar14;" (assignment_expression "__n = (long)puVar4 - (long)puVar14" identifier = (binary_expression "(long)puVar4 - (long)puVar14" (cast_expression "(long)puVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)puVar14" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) (expression_statement "uVar10 = (long)__n >> 3;" (assignment_expression "uVar10 = (long)__n >> 3" identifier = (binary_expression "(long)__n >> 3" (cast_expression "(long)__n" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) >> number_literal)) ;) (if_statement "if (uVar10 == 0) {\n    lVar7 = 8;\nLAB_002486a6:\n    pvVar11 = (void *)FUN_0049cb70(lVar7);\n    lVar7 = lVar7 + (long)pvVar11;\n  }\n  else {\n    uVar17 = uVar10 * 2;\n    lVar7 = -8;\n    if ((uVar17 < uVar10) || (0x1fffffffffffffff < uVar17)) goto LAB_002486a6;\n    if (uVar17 != 0) {\n      lVar7 = uVar10 << 4;\n      goto LAB_002486a6;\n    }\n    lVar7 = 0;\n    pvVar11 = (void *)0x0;\n  }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n    lVar7 = 8;\nLAB_002486a6:\n    pvVar11 = (void *)FUN_0049cb70(lVar7);\n    lVar7 = lVar7 + (long)pvVar11;\n  }" { (expression_statement "lVar7 = 8;" (assignment_expression "lVar7 = 8" identifier = number_literal) ;) (labeled_statement "LAB_002486a6:\n    pvVar11 = (void *)FUN_0049cb70(lVar7);" statement_identifier : (expression_statement "pvVar11 = (void *)FUN_0049cb70(lVar7);" (assignment_expression "pvVar11 = (void *)FUN_0049cb70(lVar7)" identifier = (cast_expression "(void *)FUN_0049cb70(lVar7)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0049cb70(lVar7)" identifier (argument_list "(lVar7)" ( identifier ))))) ;)) (expression_statement "lVar7 = lVar7 + (long)pvVar11;" (assignment_expression "lVar7 = lVar7 + (long)pvVar11" identifier = (binary_expression "lVar7 + (long)pvVar11" identifier + (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ;) }) (else_clause "else {\n    uVar17 = uVar10 * 2;\n    lVar7 = -8;\n    if ((uVar17 < uVar10) || (0x1fffffffffffffff < uVar17)) goto LAB_002486a6;\n    if (uVar17 != 0) {\n      lVar7 = uVar10 << 4;\n      goto LAB_002486a6;\n    }\n    lVar7 = 0;\n    pvVar11 = (void *)0x0;\n  }" else (compound_statement "{\n    uVar17 = uVar10 * 2;\n    lVar7 = -8;\n    if ((uVar17 < uVar10) || (0x1fffffffffffffff < uVar17)) goto LAB_002486a6;\n    if (uVar17 != 0) {\n      lVar7 = uVar10 << 4;\n      goto LAB_002486a6;\n    }\n    lVar7 = 0;\n    pvVar11 = (void *)0x0;\n  }" { (expression_statement "uVar17 = uVar10 * 2;" (assignment_expression "uVar17 = uVar10 * 2" identifier = (binary_expression "uVar10 * 2" identifier * number_literal)) ;) (expression_statement "lVar7 = -8;" (assignment_expression "lVar7 = -8" identifier = number_literal) ;) (if_statement "if ((uVar17 < uVar10) || (0x1fffffffffffffff < uVar17)) goto LAB_002486a6;" if (parenthesized_expression "((uVar17 < uVar10) || (0x1fffffffffffffff < uVar17))" ( (binary_expression "(uVar17 < uVar10) || (0x1fffffffffffffff < uVar17)" (parenthesized_expression "(uVar17 < uVar10)" ( (binary_expression "uVar17 < uVar10" identifier < identifier) )) || (parenthesized_expression "(0x1fffffffffffffff < uVar17)" ( (binary_expression "0x1fffffffffffffff < uVar17" number_literal < identifier) ))) )) (goto_statement "goto LAB_002486a6;" goto statement_identifier ;)) (if_statement "if (uVar17 != 0) {\n      lVar7 = uVar10 << 4;\n      goto LAB_002486a6;\n    }" if (parenthesized_expression "(uVar17 != 0)" ( (binary_expression "uVar17 != 0" identifier != number_literal) )) (compound_statement "{\n      lVar7 = uVar10 << 4;\n      goto LAB_002486a6;\n    }" { (expression_statement "lVar7 = uVar10 << 4;" (assignment_expression "lVar7 = uVar10 << 4" identifier = (binary_expression "uVar10 << 4" identifier << number_literal)) ;) (goto_statement "goto LAB_002486a6;" goto statement_identifier ;) })) (expression_statement "lVar7 = 0;" (assignment_expression "lVar7 = 0" identifier = number_literal) ;) (expression_statement "pvVar11 = (void *)0x0;" (assignment_expression "pvVar11 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "*(long **)((long)pvVar11 + __n) = plVar8;" (assignment_expression "*(long **)((long)pvVar11 + __n) = plVar8" (pointer_expression "*(long **)((long)pvVar11 + __n)" * (cast_expression "(long **)((long)pvVar11 + __n)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((long)pvVar11 + __n)" ( (binary_expression "(long)pvVar11 + __n" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) )))) = identifier) ;) (if_statement "if (puVar4 == puVar14) {\n    if (puVar14 != (undefined8 *)0x0) goto LAB_002486f4;\n  }\n  else {\n    memmove(pvVar11,puVar14,__n);\nLAB_002486f4:\n    FUN_0049e340(puVar14);\n  }" if (parenthesized_expression "(puVar4 == puVar14)" ( (binary_expression "puVar4 == puVar14" identifier == identifier) )) (compound_statement "{\n    if (puVar14 != (undefined8 *)0x0) goto LAB_002486f4;\n  }" { (if_statement "if (puVar14 != (undefined8 *)0x0) goto LAB_002486f4;" if (parenthesized_expression "(puVar14 != (undefined8 *)0x0)" ( (binary_expression "puVar14 != (undefined8 *)0x0" identifier != (cast_expression "(undefined8 *)0x0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_002486f4;" goto statement_identifier ;)) }) (else_clause "else {\n    memmove(pvVar11,puVar14,__n);\nLAB_002486f4:\n    FUN_0049e340(puVar14);\n  }" else (compound_statement "{\n    memmove(pvVar11,puVar14,__n);\nLAB_002486f4:\n    FUN_0049e340(puVar14);\n  }" { (expression_statement "memmove(pvVar11,puVar14,__n);" (call_expression "memmove(pvVar11,puVar14,__n)" identifier (argument_list "(pvVar11,puVar14,__n)" ( identifier , identifier , identifier ))) ;) (labeled_statement "LAB_002486f4:\n    FUN_0049e340(puVar14);" statement_identifier : (expression_statement "FUN_0049e340(puVar14);" (call_expression "FUN_0049e340(puVar14)" identifier (argument_list "(puVar14)" ( identifier ))) ;)) }))) (expression_statement "*(void **)(param_5 + 0x88) = pvVar11;" (assignment_expression "*(void **)(param_5 + 0x88) = pvVar11" (pointer_expression "*(void **)(param_5 + 0x88)" * (cast_expression "(void **)(param_5 + 0x88)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_5 + 0x88)" ( (binary_expression "param_5 + 0x88" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(long *)(param_5 + 0x98) = lVar7;" (assignment_expression "*(long *)(param_5 + 0x98) = lVar7" (pointer_expression "*(long *)(param_5 + 0x98)" * (cast_expression "(long *)(param_5 + 0x98)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x98)" ( (binary_expression "param_5 + 0x98" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(size_t *)(param_5 + 0x90) = (long)pvVar11 + __n + 8;" (assignment_expression "*(size_t *)(param_5 + 0x90) = (long)pvVar11 + __n + 8" (pointer_expression "*(size_t *)(param_5 + 0x90)" * (cast_expression "(size_t *)(param_5 + 0x90)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x90)" ( (binary_expression "param_5 + 0x90" identifier + number_literal) )))) = (binary_expression "(long)pvVar11 + __n + 8" (binary_expression "(long)pvVar11 + __n" (cast_expression "(long)pvVar11" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + number_literal)) ;) (labeled_statement "LAB_00248512:\n  if ((*(byte *)(plVar9 + 4) & 1) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xc5,"address");\n  }" statement_identifier : (if_statement "if ((*(byte *)(plVar9 + 4) & 1) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xc5,"address");\n  }" if (parenthesized_expression "((*(byte *)(plVar9 + 4) & 1) == 0)" ( (binary_expression "(*(byte *)(plVar9 + 4) & 1) == 0" (parenthesized_expression "(*(byte *)(plVar9 + 4) & 1)" ( (binary_expression "*(byte *)(plVar9 + 4) & 1" (pointer_expression "*(byte *)(plVar9 + 4)" * (cast_expression "(byte *)(plVar9 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar9 + 4)" ( (binary_expression "plVar9 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n    FUN_00352af0("../../gold/output.h",0xc5,"address");\n  }" { (expression_statement "FUN_00352af0("../../gold/output.h",0xc5,"address");" (call_expression "FUN_00352af0("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;) }))) (if_statement "if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n  }" if (parenthesized_expression "((*(byte *)(plVar9 + 4) & 2) == 0)" ( (binary_expression "(*(byte *)(plVar9 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar9 + 4) & 2)" ( (binary_expression "*(byte *)(plVar9 + 4) & 2" (pointer_expression "*(byte *)(plVar9 + 4)" * (cast_expression "(byte *)(plVar9 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar9 + 4)" ( (binary_expression "plVar9 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n  }" { (expression_statement "FUN_00352af0("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_00352af0("../../gold/output.h",0xcf,"data_size")" identifier (argument_list "("../../gold/output.h",0xcf,"data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") ))) ;) })) (expression_statement "lVar7 = plVar9[2];" (assignment_expression "lVar7 = plVar9[2]" identifier = (subscript_expression "plVar9[2]" identifier [ number_literal ])) ;) (expression_statement "bVar2 = *(byte *)(plVar8 + 4);" (assignment_expression "bVar2 = *(byte *)(plVar8 + 4)" identifier = (pointer_expression "*(byte *)(plVar8 + 4)" * (cast_expression "(byte *)(plVar8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar8 + 4)" ( (binary_expression "plVar8 + 4" identifier + number_literal) ))))) ;) (if_statement "if ((bVar2 & 1) != 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0x142,"set_address");\n  }" if (parenthesized_expression "((bVar2 & 1) != 0)" ( (binary_expression "(bVar2 & 1) != 0" (parenthesized_expression "(bVar2 & 1)" ( (binary_expression "bVar2 & 1" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    \n    FUN_00352af0("../../gold/output.h",0x142,"set_address");\n  }" { (expression_statement "FUN_00352af0("../../gold/output.h",0x142,"set_address");" (call_expression "FUN_00352af0("../../gold/output.h",0x142,"set_address")" identifier (argument_list "("../../gold/output.h",0x142,"set_address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_address"" " string_content ") ))) ;) })) (expression_statement "plVar8[1] = plVar9[1] + lVar7;" (assignment_expression "plVar8[1] = plVar9[1] + lVar7" (subscript_expression "plVar8[1]" identifier [ number_literal ]) = (binary_expression "plVar9[1] + lVar7" (subscript_expression "plVar9[1]" identifier [ number_literal ]) + identifier)) ;) (expression_statement "*(byte *)(plVar8 + 4) = bVar2 | 1;" (assignment_expression "*(byte *)(plVar8 + 4) = bVar2 | 1" (pointer_expression "*(byte *)(plVar8 + 4)" * (cast_expression "(byte *)(plVar8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar8 + 4)" ( (binary_expression "plVar8 + 4" identifier + number_literal) )))) = (binary_expression "bVar2 | 1" identifier | number_literal)) ;) (if_statement "if ((*(byte *)(plVar9 + 4) & 4) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\n  }" if (parenthesized_expression "((*(byte *)(plVar9 + 4) & 4) == 0)" ( (binary_expression "(*(byte *)(plVar9 + 4) & 4) == 0" (parenthesized_expression "(*(byte *)(plVar9 + 4) & 4)" ( (binary_expression "*(byte *)(plVar9 + 4) & 4" (pointer_expression "*(byte *)(plVar9 + 4)" * (cast_expression "(byte *)(plVar9 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar9 + 4)" ( (binary_expression "plVar9 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n                    \n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\n  }" { (expression_statement "FUN_00352af0("../../gold/output.h",0xe3,"offset");" (call_expression "FUN_00352af0("../../gold/output.h",0xe3,"offset")" identifier (argument_list "("../../gold/output.h",0xe3,"offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""offset"" " string_content ") ))) ;) })) (if_statement "if ((bVar2 & 4) != 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n  }" if (parenthesized_expression "((bVar2 & 4) != 0)" ( (binary_expression "(bVar2 & 4) != 0" (parenthesized_expression "(bVar2 & 4)" ( (binary_expression "bVar2 & 4" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    \n    FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n  }" { (expression_statement "FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");" (call_expression "FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset")" identifier (argument_list "("../../gold/output.h",0x14b,"set_file_offset")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""set_file_offset"" " string_content ") ))) ;) })) (expression_statement "plVar8[3] = lVar7 + plVar9[3];" (assignment_expression "plVar8[3] = lVar7 + plVar9[3]" (subscript_expression "plVar8[3]" identifier [ number_literal ]) = (binary_expression "lVar7 + plVar9[3]" identifier + (subscript_expression "plVar9[3]" identifier [ number_literal ]))) ;) (expression_statement "*(byte *)(plVar8 + 4) = bVar2 | 5;" (assignment_expression "*(byte *)(plVar8 + 4) = bVar2 | 5" (pointer_expression "*(byte *)(plVar8 + 4)" * (cast_expression "(byte *)(plVar8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar8 + 4)" ( (binary_expression "plVar8 + 4" identifier + number_literal) )))) = (binary_expression "bVar2 | 5" identifier | number_literal)) ;) (if_statement "if (((bVar2 & 2) == 0) &&\n     ((**(code **)(*plVar8 + 0x70))(plVar8), (*(byte *)(plVar8 + 4) & 2) == 0)) {\n                    \n    FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n  }" if (parenthesized_expression "(((bVar2 & 2) == 0) &&\n     ((**(code **)(*plVar8 + 0x70))(plVar8), (*(byte *)(plVar8 + 4) & 2) == 0))" ( (binary_expression "((bVar2 & 2) == 0) &&\n     ((**(code **)(*plVar8 + 0x70))(plVar8), (*(byte *)(plVar8 + 4) & 2) == 0)" (parenthesized_expression "((bVar2 & 2) == 0)" ( (binary_expression "(bVar2 & 2) == 0" (parenthesized_expression "(bVar2 & 2)" ( (binary_expression "bVar2 & 2" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "((**(code **)(*plVar8 + 0x70))(plVar8), (*(byte *)(plVar8 + 4) & 2) == 0)" ( (comma_expression "(**(code **)(*plVar8 + 0x70))(plVar8), (*(byte *)(plVar8 + 4) & 2) == 0" (call_expression "(**(code **)(*plVar8 + 0x70))(plVar8)" (parenthesized_expression "(**(code **)(*plVar8 + 0x70))" ( (pointer_expression "**(code **)(*plVar8 + 0x70)" * (pointer_expression "*(code **)(*plVar8 + 0x70)" * (cast_expression "(code **)(*plVar8 + 0x70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar8 + 0x70)" ( (binary_expression "*plVar8 + 0x70" (pointer_expression "*plVar8" * identifier) + number_literal) ))))) )) (argument_list "(plVar8)" ( identifier ))) , (binary_expression "(*(byte *)(plVar8 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar8 + 4) & 2)" ( (binary_expression "*(byte *)(plVar8 + 4) & 2" (pointer_expression "*(byte *)(plVar8 + 4)" * (cast_expression "(byte *)(plVar8 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar8 + 4)" ( (binary_expression "plVar8 + 4" identifier + number_literal) )))) & number_literal) )) == number_literal)) ))) )) (compound_statement "{\n                    \n    FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n  }" { (expression_statement "FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");" (call_expression "FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size")" identifier (argument_list "("../../gold/output.h",0x163,"finalize_data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""finalize_data_size"" " string_content ") ))) ;) })) (expression_statement "plVar9[10] = (long)plVar8;" (assignment_expression "plVar9[10] = (long)plVar8" (subscript_expression "plVar9[10]" identifier [ number_literal ]) = (cast_expression "(long)plVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (do_statement "do {\n    if (2 < *param_2 + 3U) {\n      lVar7 = FUN_003c9a60(param_2);\n      uVar6 = FUN_003c9ae0(param_2);\n      if ((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6) {\n                    \n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      *(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8;\n    }\n    bVar18 = param_3 != param_2;\n    param_2 = param_2 + 8;\n  } while (bVar18);" do (compound_statement "{\n    if (2 < *param_2 + 3U) {\n      lVar7 = FUN_003c9a60(param_2);\n      uVar6 = FUN_003c9ae0(param_2);\n      if ((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6) {\n                    \n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      *(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8;\n    }\n    bVar18 = param_3 != param_2;\n    param_2 = param_2 + 8;\n  }" { (if_statement "if (2 < *param_2 + 3U) {\n      lVar7 = FUN_003c9a60(param_2);\n      uVar6 = FUN_003c9ae0(param_2);\n      if ((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6) {\n                    \n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      *(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8;\n    }" if (parenthesized_expression "(2 < *param_2 + 3U)" ( (binary_expression "2 < *param_2 + 3U" number_literal < (binary_expression "*param_2 + 3U" (pointer_expression "*param_2" * identifier) + number_literal)) )) (compound_statement "{\n      lVar7 = FUN_003c9a60(param_2);\n      uVar6 = FUN_003c9ae0(param_2);\n      if ((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6) {\n                    \n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      *(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8;\n    }" { (expression_statement "lVar7 = FUN_003c9a60(param_2);" (assignment_expression "lVar7 = FUN_003c9a60(param_2)" identifier = (call_expression "FUN_003c9a60(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "uVar6 = FUN_003c9ae0(param_2);" (assignment_expression "uVar6 = FUN_003c9ae0(param_2)" identifier = (call_expression "FUN_003c9ae0(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (if_statement "if ((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6) {\n                    \n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }" if (parenthesized_expression "((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6)" ( (binary_expression "(ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6" (call_expression "(ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3)" ( (binary_expression "*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3" (binary_expression "*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220)" (pointer_expression "*(long *)(lVar7 + 0x228)" * (cast_expression "(long *)(lVar7 + 0x228)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x228)" ( (binary_expression "lVar7 + 0x228" identifier + number_literal) )))) - (pointer_expression "*(long *)(lVar7 + 0x220)" * (cast_expression "(long *)(lVar7 + 0x220)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x220)" ( (binary_expression "lVar7 + 0x220" identifier + number_literal) ))))) >> number_literal) ))) <= (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier)) )) (compound_statement "{\n                    \n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }" { (expression_statement "FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");" (call_expression "FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table")" identifier (argument_list "("../../gold/arm.cc",0x5ef,"set_stub_table")" ( (string_literal ""../../gold/arm.cc"" " string_content ") , number_literal , (string_literal ""set_stub_table"" " string_content ") ))) ;) })) (expression_statement "*(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8;" (assignment_expression "*(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8" (pointer_expression "*(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8)" * (cast_expression "(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8)" ( (binary_expression "*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8" (pointer_expression "*(long *)(lVar7 + 0x220)" * (cast_expression "(long *)(lVar7 + 0x220)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar7 + 0x220)" ( (binary_expression "lVar7 + 0x220" identifier + number_literal) )))) + (binary_expression "(ulong)uVar6 * 8" (cast_expression "(ulong)uVar6" ( (type_descriptor "ulong" type_identifier) ) identifier) * number_literal)) )))) = identifier) ;) })) (expression_statement "bVar18 = param_3 != param_2;" (assignment_expression "bVar18 = param_3 != param_2" identifier = (binary_expression "param_3 != param_2" identifier != identifier)) ;) (expression_statement "param_2 = param_2 + 8;" (assignment_expression "param_2 = param_2 + 8" identifier = (binary_expression "param_2 + 8" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar18)" ( identifier )) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (parenthesized_expression ( (binary_expression IDENT & LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (parenthesized_expression ( (binary_expression IDENT & LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (pointer_expression & IDENT) ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) >> LIT) ))) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) , (binary_expression IDENT != (char_literal ' escape_sequence '))) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (pointer_expression & IDENT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) ^ (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT % IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (binary_expression IDENT + LIT) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT , (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 == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (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 != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) % IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT % IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) % (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) * LIT)) )))) = IDENT) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression * IDENT))) = IDENT) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_array_declarator (abstract_parenthesized_declarator ( (abstract_pointer_declarator *) )) [ LIT ])) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) - (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (binary_expression LIT < IDENT) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + IDENT) + LIT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression IDENT + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (comma_expression (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 ))) , (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (pointer_expression * IDENT) + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) >> LIT) ))) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (return_statement return ;) })))
(function_definition "void FUN_00247fe0(long param_1,int *param_2,int *param_3,uint *param_4,long param_5,\n                 undefined8 param_6,undefined8 param_7)\n\n{\n  long *plVar1;\n  byte bVar2;\n  long *plVar3;\n  undefined8 *puVar4;\n  char cVar5;\n  uint uVar6;\n  long lVar7;\n  long *plVar8;\n  long *plVar9;\n  ulong uVar10;\n  void *pvVar11;\n  void *__dest;\n  long lVar12;\n  long *plVar13;\n  undefined8 *puVar14;\n  long lVar15;\n  ulong extraout_RDX;\n  ulong uVar16;\n  size_t __n;\n  ulong uVar17;\n  bool bVar18;\n  ulong local_78;\n  size_t local_60;\n  long *local_58;\n  uint uStack_50;\n  undefined4 uStack_4c;\n  \n  if (*(int *)(param_1 + 0x6c) == 0x70000001) {\n                    \n    FUN_00352af0("../../gold/arm.cc",0x1680,"create_stub_group");\n  }\n  if (*param_4 == 0xfffffffc) {\n    plVar9 = *(long **)(param_4 + 4);\n  }\n  else {\n    if (0xfffffffb < *param_4) {\n                    \n      FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");\n    }\n    lVar7 = FUN_003c9a60(param_4);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n                    \n    uVar6 = FUN_003c9ae0(param_4);\n    plVar8 = (long *)FUN_003c9a60(param_4);\n    plVar9 = (long *)FUN_0049cb70(0x60);\n    *(byte *)(plVar9 + 4) = *(byte *)(plVar9 + 4) & 0xe0;\n    plVar9[1] = 0;\n    plVar9[2] = 0;\n    plVar9[3] = -1;\n    plVar9[5] = 0;\n    plVar9[6] = 1;\n    plVar9[7] = (long)plVar8;\n    *(uint *)(plVar9 + 8) = uVar6;\n    *plVar9 = (long)&PTR_FUN_006670c0;\n    lVar12 = *plVar8;\n    *(undefined8 *)((long)plVar9 + 0x44) = 1;\n    plVar9[10] = 0;\n    plVar9[0xb] = 0;\n    uVar10 = (**(code **)(lVar12 + 0xb8))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)((long)plVar9 + 0x44) = (int)uVar10;\n    pvVar11 = (void *)FUN_00392d50(plVar8,uVar6,&local_60,0);\n    uVar10 = (**(code **)(*plVar8 + 0x78))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)(plVar9 + 9) = (int)uVar10;\n    if (plVar9[0xb] != 0) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);\n    }\n    __dest = (void *)thunk_FUN_0049cb70(local_60);\n    plVar9[0xb] = (long)__dest;\n    memcpy(__dest,pvVar11,local_60);\n    lVar12 = *plVar8;\n    if (*(code **)(lVar12 + 0xc0) == FUN_001a5070) {\n      if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);\n    }\n    else {\n                    \n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }\n    lVar12 = (**(code **)(lVar12 + 0xd0))(plVar8,uVar6);\n    if ((lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);\n    }\n    if ((*(byte *)(lVar15 + 0x20) & 1) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n    bVar2 = *(byte *)(plVar9 + 4);\n    if ((bVar2 & 1) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x142,"set_address");\n    }\n    plVar9[1] = *(long *)(lVar15 + 8) + lVar12;\n    *(byte *)(plVar9 + 4) = bVar2 | 1;\n    if ((*(byte *)(lVar15 + 0x20) & 4) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xe3,"offset");\n    }\n    if ((bVar2 & 4) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n    }\n    plVar9[3] = lVar12 + *(long *)(lVar15 + 0x18);\n    *(byte *)(plVar9 + 4) = bVar2 | 5;\n    if ((bVar2 & 2) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    plVar9[2] = (ulong)*(uint *)(plVar9 + 9);\n    FUN_00236100(plVar9);\n    if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n    }\n    plVar13 = (long *)FUN_0049cb70(0x28);\n    *plVar13 = 0;\n    uVar10 = *(ulong *)(param_5 + 0xb8);\n    plVar13[1] = (long)plVar8;\n    plVar13[2] = CONCAT44(uStack_4c,uVar6);\n    plVar13[3] = (long)plVar9;\n    uVar17 = (ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2);\n    local_78 = uVar17 % uVar10;\n    local_58 = plVar8;\n    uStack_50 = uVar6;\n    plVar8 = (long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17);\n    if ((plVar8 != (long *)0x0) && (*plVar8 != 0)) {\n      FUN_0049e340(plVar13);\n                    \n      FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }\n    cVar5 = FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1);\n    if (cVar5 == '\0') {\n      lVar12 = *(long *)(param_5 + 0xb0);\n    }\n    else {\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    \n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }\n    plVar13[4] = uVar17;\n    plVar8 = (long *)(lVar12 + local_78 * 8);\n    if ((long *)*plVar8 == (long *)0x0) {\n      lVar15 = *(long *)(param_5 + 0xc0);\n      *(long **)(param_5 + 0xc0) = plVar13;\n      *plVar13 = lVar15;\n      if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }\n      *plVar8 = param_5 + 0xc0;\n    }\n    else {\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }\n    *(long *)(param_5 + 200) = *(long *)(param_5 + 200) + 1;\n    local_58 = plVar9;\n                    \n    FUN_0022a4f0(param_6,&local_58);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n  }\n  plVar8 = (long *)FUN_0049cb70(0xd0);\n  plVar8[1] = 0;\n  plVar8[2] = 0;\n  plVar8[3] = -1;\n  *(byte *)(plVar8 + 4) = *(byte *)(plVar8 + 4) & 0xe0;\n  *plVar8 = (long)&PTR_FUN_00653e00;\n  plVar8[6] = (long)(plVar8 + 0xc);\n  *(undefined1 (*) [16])(plVar8 + 10) = (undefined1  [16])0x0;\n  plVar8[5] = (long)plVar9;\n  plVar8[0xc] = 0;\n  plVar8[7] = 1;\n  plVar8[8] = 0;\n  plVar8[9] = 0;\n  *(undefined4 *)(plVar8 + 10) = 0x3f800000;\n  plVar8[0xb] = 0;\n  plVar8[0xd] = 0;\n  plVar8[0xe] = 1;\n  *(undefined4 *)(plVar8 + 0x10) = 0;\n  plVar8[0x11] = 0;\n  plVar8[0x12] = (long)(plVar8 + 0x10);\n  plVar8[0x13] = (long)(plVar8 + 0x10);\n  plVar8[0x14] = 0;\n  plVar8[0x15] = 0;\n  plVar8[0x16] = 0;\n  plVar8[0x17] = 0;\n                    \n  puVar14 = (undefined8 *)FUN_0049cb70(0x78);\n  puVar4 = puVar14 + 0xf;\n  plVar8[0x15] = (long)puVar14;\n  plVar8[0x17] = (long)puVar4;\n  do {\n    *puVar14 = 0;\n    puVar14 = puVar14 + 1;\n  } while (puVar4 != puVar14);\n  plVar8[0x16] = (long)puVar4;\n  puVar4 = *(undefined8 **)(param_5 + 0x90);\n  plVar8[0x18] = 0;\n  plVar8[0x19] = 1;\n  if (puVar4 != *(undefined8 **)(param_5 + 0x98)) {\n    *puVar4 = plVar8;\n    *(undefined8 **)(param_5 + 0x90) = puVar4 + 1;\n    goto LAB_00248512;\n  }\n  puVar14 = *(undefined8 **)(param_5 + 0x88);\n  __n = (long)puVar4 - (long)puVar14;\n  uVar10 = (long)__n >> 3;\n  if (uVar10 == 0) {\n    lVar7 = 8;\nLAB_002486a6:\n    pvVar11 = (void *)FUN_0049cb70(lVar7);\n    lVar7 = lVar7 + (long)pvVar11;\n  }\n  else {\n    uVar17 = uVar10 * 2;\n    lVar7 = -8;\n    if ((uVar17 < uVar10) || (0x1fffffffffffffff < uVar17)) goto LAB_002486a6;\n    if (uVar17 != 0) {\n      lVar7 = uVar10 << 4;\n      goto LAB_002486a6;\n    }\n    lVar7 = 0;\n    pvVar11 = (void *)0x0;\n  }\n  *(long **)((long)pvVar11 + __n) = plVar8;\n  if (puVar4 == puVar14) {\n    if (puVar14 != (undefined8 *)0x0) goto LAB_002486f4;\n  }\n  else {\n    memmove(pvVar11,puVar14,__n);\nLAB_002486f4:\n    FUN_0049e340(puVar14);\n  }\n  *(void **)(param_5 + 0x88) = pvVar11;\n  *(long *)(param_5 + 0x98) = lVar7;\n  *(size_t *)(param_5 + 0x90) = (long)pvVar11 + __n + 8;\nLAB_00248512:\n  if ((*(byte *)(plVar9 + 4) & 1) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xc5,"address");\n  }\n  if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar7 = plVar9[2];\n  bVar2 = *(byte *)(plVar8 + 4);\n  if ((bVar2 & 1) != 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0x142,"set_address");\n  }\n  plVar8[1] = plVar9[1] + lVar7;\n  *(byte *)(plVar8 + 4) = bVar2 | 1;\n  if ((*(byte *)(plVar9 + 4) & 4) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\n  }\n  if ((bVar2 & 4) != 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n  }\n  plVar8[3] = lVar7 + plVar9[3];\n  *(byte *)(plVar8 + 4) = bVar2 | 5;\n  if (((bVar2 & 2) == 0) &&\n     ((**(code **)(*plVar8 + 0x70))(plVar8), (*(byte *)(plVar8 + 4) & 2) == 0)) {\n                    \n    FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n  }\n  plVar9[10] = (long)plVar8;\n  do {\n    if (2 < *param_2 + 3U) {\n      lVar7 = FUN_003c9a60(param_2);\n      uVar6 = FUN_003c9ae0(param_2);\n      if ((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6) {\n                    \n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      *(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8;\n    }\n    bVar18 = param_3 != param_2;\n    param_2 = param_2 + 8;\n  } while (bVar18);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00247fe0(long param_1,int *param_2,int *param_3,uint *param_4,long param_5,\n                 undefined8 param_6,undefined8 param_7)" (identifier "FUN_00247fe0") (parameter_list "(long param_1,int *param_2,int *param_3,uint *param_4,long param_5,\n                 undefined8 param_6,undefined8 param_7)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int *param_3" (primitive_type "int") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "uint *param_4" (type_identifier "uint") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "long param_5" (sized_type_specifier "long" (long "long")) (identifier "param_5")) (, ",") (parameter_declaration "undefined8 param_6" (type_identifier "undefined8") (identifier "param_6")) (, ",") (parameter_declaration "undefined8 param_7" (type_identifier "undefined8") (identifier "param_7")) () ")"))) (compound_statement "{\n  long *plVar1;\n  byte bVar2;\n  long *plVar3;\n  undefined8 *puVar4;\n  char cVar5;\n  uint uVar6;\n  long lVar7;\n  long *plVar8;\n  long *plVar9;\n  ulong uVar10;\n  void *pvVar11;\n  void *__dest;\n  long lVar12;\n  long *plVar13;\n  undefined8 *puVar14;\n  long lVar15;\n  ulong extraout_RDX;\n  ulong uVar16;\n  size_t __n;\n  ulong uVar17;\n  bool bVar18;\n  ulong local_78;\n  size_t local_60;\n  long *local_58;\n  uint uStack_50;\n  undefined4 uStack_4c;\n  \n  if (*(int *)(param_1 + 0x6c) == 0x70000001) {\n                    \n    FUN_00352af0("../../gold/arm.cc",0x1680,"create_stub_group");\n  }\n  if (*param_4 == 0xfffffffc) {\n    plVar9 = *(long **)(param_4 + 4);\n  }\n  else {\n    if (0xfffffffb < *param_4) {\n                    \n      FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");\n    }\n    lVar7 = FUN_003c9a60(param_4);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n                    \n    uVar6 = FUN_003c9ae0(param_4);\n    plVar8 = (long *)FUN_003c9a60(param_4);\n    plVar9 = (long *)FUN_0049cb70(0x60);\n    *(byte *)(plVar9 + 4) = *(byte *)(plVar9 + 4) & 0xe0;\n    plVar9[1] = 0;\n    plVar9[2] = 0;\n    plVar9[3] = -1;\n    plVar9[5] = 0;\n    plVar9[6] = 1;\n    plVar9[7] = (long)plVar8;\n    *(uint *)(plVar9 + 8) = uVar6;\n    *plVar9 = (long)&PTR_FUN_006670c0;\n    lVar12 = *plVar8;\n    *(undefined8 *)((long)plVar9 + 0x44) = 1;\n    plVar9[10] = 0;\n    plVar9[0xb] = 0;\n    uVar10 = (**(code **)(lVar12 + 0xb8))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)((long)plVar9 + 0x44) = (int)uVar10;\n    pvVar11 = (void *)FUN_00392d50(plVar8,uVar6,&local_60,0);\n    uVar10 = (**(code **)(*plVar8 + 0x78))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)(plVar9 + 9) = (int)uVar10;\n    if (plVar9[0xb] != 0) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);\n    }\n    __dest = (void *)thunk_FUN_0049cb70(local_60);\n    plVar9[0xb] = (long)__dest;\n    memcpy(__dest,pvVar11,local_60);\n    lVar12 = *plVar8;\n    if (*(code **)(lVar12 + 0xc0) == FUN_001a5070) {\n      if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);\n    }\n    else {\n                    \n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }\n    lVar12 = (**(code **)(lVar12 + 0xd0))(plVar8,uVar6);\n    if ((lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);\n    }\n    if ((*(byte *)(lVar15 + 0x20) & 1) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n    bVar2 = *(byte *)(plVar9 + 4);\n    if ((bVar2 & 1) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x142,"set_address");\n    }\n    plVar9[1] = *(long *)(lVar15 + 8) + lVar12;\n    *(byte *)(plVar9 + 4) = bVar2 | 1;\n    if ((*(byte *)(lVar15 + 0x20) & 4) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xe3,"offset");\n    }\n    if ((bVar2 & 4) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n    }\n    plVar9[3] = lVar12 + *(long *)(lVar15 + 0x18);\n    *(byte *)(plVar9 + 4) = bVar2 | 5;\n    if ((bVar2 & 2) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    plVar9[2] = (ulong)*(uint *)(plVar9 + 9);\n    FUN_00236100(plVar9);\n    if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n    }\n    plVar13 = (long *)FUN_0049cb70(0x28);\n    *plVar13 = 0;\n    uVar10 = *(ulong *)(param_5 + 0xb8);\n    plVar13[1] = (long)plVar8;\n    plVar13[2] = CONCAT44(uStack_4c,uVar6);\n    plVar13[3] = (long)plVar9;\n    uVar17 = (ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2);\n    local_78 = uVar17 % uVar10;\n    local_58 = plVar8;\n    uStack_50 = uVar6;\n    plVar8 = (long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17);\n    if ((plVar8 != (long *)0x0) && (*plVar8 != 0)) {\n      FUN_0049e340(plVar13);\n                    \n      FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }\n    cVar5 = FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1);\n    if (cVar5 == '\0') {\n      lVar12 = *(long *)(param_5 + 0xb0);\n    }\n    else {\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    \n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }\n    plVar13[4] = uVar17;\n    plVar8 = (long *)(lVar12 + local_78 * 8);\n    if ((long *)*plVar8 == (long *)0x0) {\n      lVar15 = *(long *)(param_5 + 0xc0);\n      *(long **)(param_5 + 0xc0) = plVar13;\n      *plVar13 = lVar15;\n      if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }\n      *plVar8 = param_5 + 0xc0;\n    }\n    else {\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }\n    *(long *)(param_5 + 200) = *(long *)(param_5 + 200) + 1;\n    local_58 = plVar9;\n                    \n    FUN_0022a4f0(param_6,&local_58);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n  }\n  plVar8 = (long *)FUN_0049cb70(0xd0);\n  plVar8[1] = 0;\n  plVar8[2] = 0;\n  plVar8[3] = -1;\n  *(byte *)(plVar8 + 4) = *(byte *)(plVar8 + 4) & 0xe0;\n  *plVar8 = (long)&PTR_FUN_00653e00;\n  plVar8[6] = (long)(plVar8 + 0xc);\n  *(undefined1 (*) [16])(plVar8 + 10) = (undefined1  [16])0x0;\n  plVar8[5] = (long)plVar9;\n  plVar8[0xc] = 0;\n  plVar8[7] = 1;\n  plVar8[8] = 0;\n  plVar8[9] = 0;\n  *(undefined4 *)(plVar8 + 10) = 0x3f800000;\n  plVar8[0xb] = 0;\n  plVar8[0xd] = 0;\n  plVar8[0xe] = 1;\n  *(undefined4 *)(plVar8 + 0x10) = 0;\n  plVar8[0x11] = 0;\n  plVar8[0x12] = (long)(plVar8 + 0x10);\n  plVar8[0x13] = (long)(plVar8 + 0x10);\n  plVar8[0x14] = 0;\n  plVar8[0x15] = 0;\n  plVar8[0x16] = 0;\n  plVar8[0x17] = 0;\n                    \n  puVar14 = (undefined8 *)FUN_0049cb70(0x78);\n  puVar4 = puVar14 + 0xf;\n  plVar8[0x15] = (long)puVar14;\n  plVar8[0x17] = (long)puVar4;\n  do {\n    *puVar14 = 0;\n    puVar14 = puVar14 + 1;\n  } while (puVar4 != puVar14);\n  plVar8[0x16] = (long)puVar4;\n  puVar4 = *(undefined8 **)(param_5 + 0x90);\n  plVar8[0x18] = 0;\n  plVar8[0x19] = 1;\n  if (puVar4 != *(undefined8 **)(param_5 + 0x98)) {\n    *puVar4 = plVar8;\n    *(undefined8 **)(param_5 + 0x90) = puVar4 + 1;\n    goto LAB_00248512;\n  }\n  puVar14 = *(undefined8 **)(param_5 + 0x88);\n  __n = (long)puVar4 - (long)puVar14;\n  uVar10 = (long)__n >> 3;\n  if (uVar10 == 0) {\n    lVar7 = 8;\nLAB_002486a6:\n    pvVar11 = (void *)FUN_0049cb70(lVar7);\n    lVar7 = lVar7 + (long)pvVar11;\n  }\n  else {\n    uVar17 = uVar10 * 2;\n    lVar7 = -8;\n    if ((uVar17 < uVar10) || (0x1fffffffffffffff < uVar17)) goto LAB_002486a6;\n    if (uVar17 != 0) {\n      lVar7 = uVar10 << 4;\n      goto LAB_002486a6;\n    }\n    lVar7 = 0;\n    pvVar11 = (void *)0x0;\n  }\n  *(long **)((long)pvVar11 + __n) = plVar8;\n  if (puVar4 == puVar14) {\n    if (puVar14 != (undefined8 *)0x0) goto LAB_002486f4;\n  }\n  else {\n    memmove(pvVar11,puVar14,__n);\nLAB_002486f4:\n    FUN_0049e340(puVar14);\n  }\n  *(void **)(param_5 + 0x88) = pvVar11;\n  *(long *)(param_5 + 0x98) = lVar7;\n  *(size_t *)(param_5 + 0x90) = (long)pvVar11 + __n + 8;\nLAB_00248512:\n  if ((*(byte *)(plVar9 + 4) & 1) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xc5,"address");\n  }\n  if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n  }\n  lVar7 = plVar9[2];\n  bVar2 = *(byte *)(plVar8 + 4);\n  if ((bVar2 & 1) != 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0x142,"set_address");\n  }\n  plVar8[1] = plVar9[1] + lVar7;\n  *(byte *)(plVar8 + 4) = bVar2 | 1;\n  if ((*(byte *)(plVar9 + 4) & 4) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\n  }\n  if ((bVar2 & 4) != 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n  }\n  plVar8[3] = lVar7 + plVar9[3];\n  *(byte *)(plVar8 + 4) = bVar2 | 5;\n  if (((bVar2 & 2) == 0) &&\n     ((**(code **)(*plVar8 + 0x70))(plVar8), (*(byte *)(plVar8 + 4) & 2) == 0)) {\n                    \n    FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n  }\n  plVar9[10] = (long)plVar8;\n  do {\n    if (2 < *param_2 + 3U) {\n      lVar7 = FUN_003c9a60(param_2);\n      uVar6 = FUN_003c9ae0(param_2);\n      if ((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6) {\n                    \n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      *(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8;\n    }\n    bVar18 = param_3 != param_2;\n    param_2 = param_2 + 8;\n  } while (bVar18);\n  return;\n}" ({ "{") (declaration "long *plVar1;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar1" (* "*") (identifier "plVar1")) (; ";")) (declaration "byte bVar2;" (type_identifier "byte") (identifier "bVar2") (; ";")) (declaration "long *plVar3;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar3" (* "*") (identifier "plVar3")) (; ";")) (declaration "undefined8 *puVar4;" (type_identifier "undefined8") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "char cVar5;" (primitive_type "char") (identifier "cVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "long lVar7;" (sized_type_specifier "long" (long "long")) (identifier "lVar7") (; ";")) (declaration "long *plVar8;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar8" (* "*") (identifier "plVar8")) (; ";")) (declaration "long *plVar9;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar9" (* "*") (identifier "plVar9")) (; ";")) (declaration "ulong uVar10;" (type_identifier "ulong") (identifier "uVar10") (; ";")) (declaration "void *pvVar11;" (primitive_type "void") (pointer_declarator "*pvVar11" (* "*") (identifier "pvVar11")) (; ";")) (declaration "void *__dest;" (primitive_type "void") (pointer_declarator "*__dest" (* "*") (identifier "__dest")) (; ";")) (declaration "long lVar12;" (sized_type_specifier "long" (long "long")) (identifier "lVar12") (; ";")) (declaration "long *plVar13;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar13" (* "*") (identifier "plVar13")) (; ";")) (declaration "undefined8 *puVar14;" (type_identifier "undefined8") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "long lVar15;" (sized_type_specifier "long" (long "long")) (identifier "lVar15") (; ";")) (declaration "ulong extraout_RDX;" (type_identifier "ulong") (identifier "extraout_RDX") (; ";")) (declaration "ulong uVar16;" (type_identifier "ulong") (identifier "uVar16") (; ";")) (declaration "size_t __n;" (primitive_type "size_t") (identifier "__n") (; ";")) (declaration "ulong uVar17;" (type_identifier "ulong") (identifier "uVar17") (; ";")) (declaration "bool bVar18;" (primitive_type "bool") (identifier "bVar18") (; ";")) (declaration "ulong local_78;" (type_identifier "ulong") (identifier "local_78") (; ";")) (declaration "size_t local_60;" (primitive_type "size_t") (identifier "local_60") (; ";")) (declaration "long *local_58;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*local_58" (* "*") (identifier "local_58")) (; ";")) (declaration "uint uStack_50;" (type_identifier "uint") (identifier "uStack_50") (; ";")) (declaration "undefined4 uStack_4c;" (type_identifier "undefined4") (identifier "uStack_4c") (; ";")) (if_statement "if (*(int *)(param_1 + 0x6c) == 0x70000001) {\n                    \n    FUN_00352af0("../../gold/arm.cc",0x1680,"create_stub_group");\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x6c) == 0x70000001)" (( "(") (binary_expression "*(int *)(param_1 + 0x6c) == 0x70000001" (pointer_expression "*(int *)(param_1 + 0x6c)" (* "*") (cast_expression "(int *)(param_1 + 0x6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x6c)" (( "(") (binary_expression "param_1 + 0x6c" (identifier "param_1") (+ "+") (number_literal "0x6c")) () ")")))) (== "==") (number_literal "0x70000001")) () ")")) (compound_statement "{\n                    \n    FUN_00352af0("../../gold/arm.cc",0x1680,"create_stub_group");\n  }" ({ "{") (expression_statement "FUN_00352af0("../../gold/arm.cc",0x1680,"create_stub_group");" (call_expression "FUN_00352af0("../../gold/arm.cc",0x1680,"create_stub_group")" (identifier "FUN_00352af0") (argument_list "("../../gold/arm.cc",0x1680,"create_stub_group")" (( "(") (string_literal ""../../gold/arm.cc"" (" """) (string_content "../../gold/arm.cc") (" """)) (, ",") (number_literal "0x1680") (, ",") (string_literal ""create_stub_group"" (" """) (string_content "create_stub_group") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*param_4 == 0xfffffffc) {\n    plVar9 = *(long **)(param_4 + 4);\n  }\n  else {\n    if (0xfffffffb < *param_4) {\n                    \n      FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");\n    }\n    lVar7 = FUN_003c9a60(param_4);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n                    \n    uVar6 = FUN_003c9ae0(param_4);\n    plVar8 = (long *)FUN_003c9a60(param_4);\n    plVar9 = (long *)FUN_0049cb70(0x60);\n    *(byte *)(plVar9 + 4) = *(byte *)(plVar9 + 4) & 0xe0;\n    plVar9[1] = 0;\n    plVar9[2] = 0;\n    plVar9[3] = -1;\n    plVar9[5] = 0;\n    plVar9[6] = 1;\n    plVar9[7] = (long)plVar8;\n    *(uint *)(plVar9 + 8) = uVar6;\n    *plVar9 = (long)&PTR_FUN_006670c0;\n    lVar12 = *plVar8;\n    *(undefined8 *)((long)plVar9 + 0x44) = 1;\n    plVar9[10] = 0;\n    plVar9[0xb] = 0;\n    uVar10 = (**(code **)(lVar12 + 0xb8))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)((long)plVar9 + 0x44) = (int)uVar10;\n    pvVar11 = (void *)FUN_00392d50(plVar8,uVar6,&local_60,0);\n    uVar10 = (**(code **)(*plVar8 + 0x78))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)(plVar9 + 9) = (int)uVar10;\n    if (plVar9[0xb] != 0) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);\n    }\n    __dest = (void *)thunk_FUN_0049cb70(local_60);\n    plVar9[0xb] = (long)__dest;\n    memcpy(__dest,pvVar11,local_60);\n    lVar12 = *plVar8;\n    if (*(code **)(lVar12 + 0xc0) == FUN_001a5070) {\n      if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);\n    }\n    else {\n                    \n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }\n    lVar12 = (**(code **)(lVar12 + 0xd0))(plVar8,uVar6);\n    if ((lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);\n    }\n    if ((*(byte *)(lVar15 + 0x20) & 1) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n    bVar2 = *(byte *)(plVar9 + 4);\n    if ((bVar2 & 1) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x142,"set_address");\n    }\n    plVar9[1] = *(long *)(lVar15 + 8) + lVar12;\n    *(byte *)(plVar9 + 4) = bVar2 | 1;\n    if ((*(byte *)(lVar15 + 0x20) & 4) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xe3,"offset");\n    }\n    if ((bVar2 & 4) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n    }\n    plVar9[3] = lVar12 + *(long *)(lVar15 + 0x18);\n    *(byte *)(plVar9 + 4) = bVar2 | 5;\n    if ((bVar2 & 2) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    plVar9[2] = (ulong)*(uint *)(plVar9 + 9);\n    FUN_00236100(plVar9);\n    if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n    }\n    plVar13 = (long *)FUN_0049cb70(0x28);\n    *plVar13 = 0;\n    uVar10 = *(ulong *)(param_5 + 0xb8);\n    plVar13[1] = (long)plVar8;\n    plVar13[2] = CONCAT44(uStack_4c,uVar6);\n    plVar13[3] = (long)plVar9;\n    uVar17 = (ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2);\n    local_78 = uVar17 % uVar10;\n    local_58 = plVar8;\n    uStack_50 = uVar6;\n    plVar8 = (long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17);\n    if ((plVar8 != (long *)0x0) && (*plVar8 != 0)) {\n      FUN_0049e340(plVar13);\n                    \n      FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }\n    cVar5 = FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1);\n    if (cVar5 == '\0') {\n      lVar12 = *(long *)(param_5 + 0xb0);\n    }\n    else {\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    \n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }\n    plVar13[4] = uVar17;\n    plVar8 = (long *)(lVar12 + local_78 * 8);\n    if ((long *)*plVar8 == (long *)0x0) {\n      lVar15 = *(long *)(param_5 + 0xc0);\n      *(long **)(param_5 + 0xc0) = plVar13;\n      *plVar13 = lVar15;\n      if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }\n      *plVar8 = param_5 + 0xc0;\n    }\n    else {\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }\n    *(long *)(param_5 + 200) = *(long *)(param_5 + 200) + 1;\n    local_58 = plVar9;\n                    \n    FUN_0022a4f0(param_6,&local_58);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n  }" (if "if") (parenthesized_expression "(*param_4 == 0xfffffffc)" (( "(") (binary_expression "*param_4 == 0xfffffffc" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (== "==") (number_literal "0xfffffffc")) () ")")) (compound_statement "{\n    plVar9 = *(long **)(param_4 + 4);\n  }" ({ "{") (expression_statement "plVar9 = *(long **)(param_4 + 4);" (assignment_expression "plVar9 = *(long **)(param_4 + 4)" (identifier "plVar9") (= "=") (pointer_expression "*(long **)(param_4 + 4)" (* "*") (cast_expression "(long **)(param_4 + 4)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_4 + 4)" (( "(") (binary_expression "param_4 + 4" (identifier "param_4") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n    if (0xfffffffb < *param_4) {\n                    \n      FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");\n    }\n    lVar7 = FUN_003c9a60(param_4);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n                    \n    uVar6 = FUN_003c9ae0(param_4);\n    plVar8 = (long *)FUN_003c9a60(param_4);\n    plVar9 = (long *)FUN_0049cb70(0x60);\n    *(byte *)(plVar9 + 4) = *(byte *)(plVar9 + 4) & 0xe0;\n    plVar9[1] = 0;\n    plVar9[2] = 0;\n    plVar9[3] = -1;\n    plVar9[5] = 0;\n    plVar9[6] = 1;\n    plVar9[7] = (long)plVar8;\n    *(uint *)(plVar9 + 8) = uVar6;\n    *plVar9 = (long)&PTR_FUN_006670c0;\n    lVar12 = *plVar8;\n    *(undefined8 *)((long)plVar9 + 0x44) = 1;\n    plVar9[10] = 0;\n    plVar9[0xb] = 0;\n    uVar10 = (**(code **)(lVar12 + 0xb8))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)((long)plVar9 + 0x44) = (int)uVar10;\n    pvVar11 = (void *)FUN_00392d50(plVar8,uVar6,&local_60,0);\n    uVar10 = (**(code **)(*plVar8 + 0x78))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)(plVar9 + 9) = (int)uVar10;\n    if (plVar9[0xb] != 0) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);\n    }\n    __dest = (void *)thunk_FUN_0049cb70(local_60);\n    plVar9[0xb] = (long)__dest;\n    memcpy(__dest,pvVar11,local_60);\n    lVar12 = *plVar8;\n    if (*(code **)(lVar12 + 0xc0) == FUN_001a5070) {\n      if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);\n    }\n    else {\n                    \n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }\n    lVar12 = (**(code **)(lVar12 + 0xd0))(plVar8,uVar6);\n    if ((lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);\n    }\n    if ((*(byte *)(lVar15 + 0x20) & 1) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n    bVar2 = *(byte *)(plVar9 + 4);\n    if ((bVar2 & 1) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x142,"set_address");\n    }\n    plVar9[1] = *(long *)(lVar15 + 8) + lVar12;\n    *(byte *)(plVar9 + 4) = bVar2 | 1;\n    if ((*(byte *)(lVar15 + 0x20) & 4) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xe3,"offset");\n    }\n    if ((bVar2 & 4) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n    }\n    plVar9[3] = lVar12 + *(long *)(lVar15 + 0x18);\n    *(byte *)(plVar9 + 4) = bVar2 | 5;\n    if ((bVar2 & 2) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    plVar9[2] = (ulong)*(uint *)(plVar9 + 9);\n    FUN_00236100(plVar9);\n    if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n    }\n    plVar13 = (long *)FUN_0049cb70(0x28);\n    *plVar13 = 0;\n    uVar10 = *(ulong *)(param_5 + 0xb8);\n    plVar13[1] = (long)plVar8;\n    plVar13[2] = CONCAT44(uStack_4c,uVar6);\n    plVar13[3] = (long)plVar9;\n    uVar17 = (ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2);\n    local_78 = uVar17 % uVar10;\n    local_58 = plVar8;\n    uStack_50 = uVar6;\n    plVar8 = (long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17);\n    if ((plVar8 != (long *)0x0) && (*plVar8 != 0)) {\n      FUN_0049e340(plVar13);\n                    \n      FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }\n    cVar5 = FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1);\n    if (cVar5 == '\0') {\n      lVar12 = *(long *)(param_5 + 0xb0);\n    }\n    else {\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    \n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }\n    plVar13[4] = uVar17;\n    plVar8 = (long *)(lVar12 + local_78 * 8);\n    if ((long *)*plVar8 == (long *)0x0) {\n      lVar15 = *(long *)(param_5 + 0xc0);\n      *(long **)(param_5 + 0xc0) = plVar13;\n      *plVar13 = lVar15;\n      if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }\n      *plVar8 = param_5 + 0xc0;\n    }\n    else {\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }\n    *(long *)(param_5 + 200) = *(long *)(param_5 + 200) + 1;\n    local_58 = plVar9;\n                    \n    FUN_0022a4f0(param_6,&local_58);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n  }" (else "else") (compound_statement "{\n    if (0xfffffffb < *param_4) {\n                    \n      FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");\n    }\n    lVar7 = FUN_003c9a60(param_4);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n                    \n    uVar6 = FUN_003c9ae0(param_4);\n    plVar8 = (long *)FUN_003c9a60(param_4);\n    plVar9 = (long *)FUN_0049cb70(0x60);\n    *(byte *)(plVar9 + 4) = *(byte *)(plVar9 + 4) & 0xe0;\n    plVar9[1] = 0;\n    plVar9[2] = 0;\n    plVar9[3] = -1;\n    plVar9[5] = 0;\n    plVar9[6] = 1;\n    plVar9[7] = (long)plVar8;\n    *(uint *)(plVar9 + 8) = uVar6;\n    *plVar9 = (long)&PTR_FUN_006670c0;\n    lVar12 = *plVar8;\n    *(undefined8 *)((long)plVar9 + 0x44) = 1;\n    plVar9[10] = 0;\n    plVar9[0xb] = 0;\n    uVar10 = (**(code **)(lVar12 + 0xb8))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)((long)plVar9 + 0x44) = (int)uVar10;\n    pvVar11 = (void *)FUN_00392d50(plVar8,uVar6,&local_60,0);\n    uVar10 = (**(code **)(*plVar8 + 0x78))(plVar8,uVar6);\n    if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }\n    *(int *)(plVar9 + 9) = (int)uVar10;\n    if (plVar9[0xb] != 0) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);\n    }\n    __dest = (void *)thunk_FUN_0049cb70(local_60);\n    plVar9[0xb] = (long)__dest;\n    memcpy(__dest,pvVar11,local_60);\n    lVar12 = *plVar8;\n    if (*(code **)(lVar12 + 0xc0) == FUN_001a5070) {\n      if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);\n    }\n    else {\n                    \n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }\n    lVar12 = (**(code **)(lVar12 + 0xd0))(plVar8,uVar6);\n    if ((lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);\n    }\n    if ((*(byte *)(lVar15 + 0x20) & 1) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }\n    bVar2 = *(byte *)(plVar9 + 4);\n    if ((bVar2 & 1) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x142,"set_address");\n    }\n    plVar9[1] = *(long *)(lVar15 + 8) + lVar12;\n    *(byte *)(plVar9 + 4) = bVar2 | 1;\n    if ((*(byte *)(lVar15 + 0x20) & 4) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xe3,"offset");\n    }\n    if ((bVar2 & 4) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n    }\n    plVar9[3] = lVar12 + *(long *)(lVar15 + 0x18);\n    *(byte *)(plVar9 + 4) = bVar2 | 5;\n    if ((bVar2 & 2) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }\n    plVar9[2] = (ulong)*(uint *)(plVar9 + 9);\n    FUN_00236100(plVar9);\n    if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n    }\n    plVar13 = (long *)FUN_0049cb70(0x28);\n    *plVar13 = 0;\n    uVar10 = *(ulong *)(param_5 + 0xb8);\n    plVar13[1] = (long)plVar8;\n    plVar13[2] = CONCAT44(uStack_4c,uVar6);\n    plVar13[3] = (long)plVar9;\n    uVar17 = (ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2);\n    local_78 = uVar17 % uVar10;\n    local_58 = plVar8;\n    uStack_50 = uVar6;\n    plVar8 = (long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17);\n    if ((plVar8 != (long *)0x0) && (*plVar8 != 0)) {\n      FUN_0049e340(plVar13);\n                    \n      FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }\n    cVar5 = FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1);\n    if (cVar5 == '\0') {\n      lVar12 = *(long *)(param_5 + 0xb0);\n    }\n    else {\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    \n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }\n    plVar13[4] = uVar17;\n    plVar8 = (long *)(lVar12 + local_78 * 8);\n    if ((long *)*plVar8 == (long *)0x0) {\n      lVar15 = *(long *)(param_5 + 0xc0);\n      *(long **)(param_5 + 0xc0) = plVar13;\n      *plVar13 = lVar15;\n      if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }\n      *plVar8 = param_5 + 0xc0;\n    }\n    else {\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }\n    *(long *)(param_5 + 200) = *(long *)(param_5 + 200) + 1;\n    local_58 = plVar9;\n                    \n    FUN_0022a4f0(param_6,&local_58);\n    if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }\n  }" ({ "{") (if_statement "if (0xfffffffb < *param_4) {\n                    \n      FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");\n    }" (if "if") (parenthesized_expression "(0xfffffffb < *param_4)" (( "(") (binary_expression "0xfffffffb < *param_4" (number_literal "0xfffffffb") (< "<") (pointer_expression "*param_4" (* "*") (identifier "param_4"))) () ")")) (compound_statement "{\n                    \n      FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");\n    }" ({ "{") (expression_statement "FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");" (call_expression "FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group")" (identifier "FUN_00352af0") (argument_list "("../../gold/arm.cc",0x1690,"create_stub_group")" (( "(") (string_literal ""../../gold/arm.cc"" (" """) (string_content "../../gold/arm.cc") (" """)) (, ",") (number_literal "0x1690") (, ",") (string_literal ""create_stub_group"" (" """) (string_content "create_stub_group") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar7 = FUN_003c9a60(param_4);" (assignment_expression "lVar7 = FUN_003c9a60(param_4)" (identifier "lVar7") (= "=") (call_expression "FUN_003c9a60(param_4)" (identifier "FUN_003c9a60") (argument_list "(param_4)" (( "(") (identifier "param_4") () ")")))) (; ";")) (if_statement "if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }" (if "if") (parenthesized_expression "(*(long *)(lVar7 + 0x28) != 0)" (( "(") (binary_expression "*(long *)(lVar7 + 0x28) != 0" (pointer_expression "*(long *)(lVar7 + 0x28)" (* "*") (cast_expression "(long *)(lVar7 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar7 + 0x28)" (( "(") (binary_expression "lVar7 + 0x28" (identifier "lVar7") (+ "+") (number_literal "0x28")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }" ({ "{") (expression_statement "FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);" (call_expression "FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7)" (identifier "FUN_0034bf00") (argument_list "(*(long *)(lVar7 + 0x28) + 0x28,param_7)" (( "(") (binary_expression "*(long *)(lVar7 + 0x28) + 0x28" (pointer_expression "*(long *)(lVar7 + 0x28)" (* "*") (cast_expression "(long *)(lVar7 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar7 + 0x28)" (( "(") (binary_expression "lVar7 + 0x28" (identifier "lVar7") (+ "+") (number_literal "0x28")) () ")")))) (+ "+") (number_literal "0x28")) (, ",") (identifier "param_7") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar6 = FUN_003c9ae0(param_4);" (assignment_expression "uVar6 = FUN_003c9ae0(param_4)" (identifier "uVar6") (= "=") (call_expression "FUN_003c9ae0(param_4)" (identifier "FUN_003c9ae0") (argument_list "(param_4)" (( "(") (identifier "param_4") () ")")))) (; ";")) (expression_statement "plVar8 = (long *)FUN_003c9a60(param_4);" (assignment_expression "plVar8 = (long *)FUN_003c9a60(param_4)" (identifier "plVar8") (= "=") (cast_expression "(long *)FUN_003c9a60(param_4)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_003c9a60(param_4)" (identifier "FUN_003c9a60") (argument_list "(param_4)" (( "(") (identifier "param_4") () ")"))))) (; ";")) (expression_statement "plVar9 = (long *)FUN_0049cb70(0x60);" (assignment_expression "plVar9 = (long *)FUN_0049cb70(0x60)" (identifier "plVar9") (= "=") (cast_expression "(long *)FUN_0049cb70(0x60)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0049cb70(0x60)" (identifier "FUN_0049cb70") (argument_list "(0x60)" (( "(") (number_literal "0x60") () ")"))))) (; ";")) (expression_statement "*(byte *)(plVar9 + 4) = *(byte *)(plVar9 + 4) & 0xe0;" (assignment_expression "*(byte *)(plVar9 + 4) = *(byte *)(plVar9 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar9 + 4)" (* "*") (cast_expression "(byte *)(plVar9 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar9 + 4)" (( "(") (binary_expression "plVar9 + 4" (identifier "plVar9") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(byte *)(plVar9 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar9 + 4)" (* "*") (cast_expression "(byte *)(plVar9 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar9 + 4)" (( "(") (binary_expression "plVar9 + 4" (identifier "plVar9") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "0xe0"))) (; ";")) (expression_statement "plVar9[1] = 0;" (assignment_expression "plVar9[1] = 0" (subscript_expression "plVar9[1]" (identifier "plVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar9[2] = 0;" (assignment_expression "plVar9[2] = 0" (subscript_expression "plVar9[2]" (identifier "plVar9") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar9[3] = -1;" (assignment_expression "plVar9[3] = -1" (subscript_expression "plVar9[3]" (identifier "plVar9") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "plVar9[5] = 0;" (assignment_expression "plVar9[5] = 0" (subscript_expression "plVar9[5]" (identifier "plVar9") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar9[6] = 1;" (assignment_expression "plVar9[6] = 1" (subscript_expression "plVar9[6]" (identifier "plVar9") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "plVar9[7] = (long)plVar8;" (assignment_expression "plVar9[7] = (long)plVar8" (subscript_expression "plVar9[7]" (identifier "plVar9") ([ "[") (number_literal "7") (] "]")) (= "=") (cast_expression "(long)plVar8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar8"))) (; ";")) (expression_statement "*(uint *)(plVar9 + 8) = uVar6;" (assignment_expression "*(uint *)(plVar9 + 8) = uVar6" (pointer_expression "*(uint *)(plVar9 + 8)" (* "*") (cast_expression "(uint *)(plVar9 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar9 + 8)" (( "(") (binary_expression "plVar9 + 8" (identifier "plVar9") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "uVar6")) (; ";")) (expression_statement "*plVar9 = (long)&PTR_FUN_006670c0;" (assignment_expression "*plVar9 = (long)&PTR_FUN_006670c0" (pointer_expression "*plVar9" (* "*") (identifier "plVar9")) (= "=") (cast_expression "(long)&PTR_FUN_006670c0" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&PTR_FUN_006670c0" (& "&") (identifier "PTR_FUN_006670c0")))) (; ";")) (expression_statement "lVar12 = *plVar8;" (assignment_expression "lVar12 = *plVar8" (identifier "lVar12") (= "=") (pointer_expression "*plVar8" (* "*") (identifier "plVar8"))) (; ";")) (expression_statement "*(undefined8 *)((long)plVar9 + 0x44) = 1;" (assignment_expression "*(undefined8 *)((long)plVar9 + 0x44) = 1" (pointer_expression "*(undefined8 *)((long)plVar9 + 0x44)" (* "*") (cast_expression "(undefined8 *)((long)plVar9 + 0x44)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)plVar9 + 0x44)" (( "(") (binary_expression "(long)plVar9 + 0x44" (cast_expression "(long)plVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar9")) (+ "+") (number_literal "0x44")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "plVar9[10] = 0;" (assignment_expression "plVar9[10] = 0" (subscript_expression "plVar9[10]" (identifier "plVar9") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar9[0xb] = 0;" (assignment_expression "plVar9[0xb] = 0" (subscript_expression "plVar9[0xb]" (identifier "plVar9") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar10 = (**(code **)(lVar12 + 0xb8))(plVar8,uVar6);" (assignment_expression "uVar10 = (**(code **)(lVar12 + 0xb8))(plVar8,uVar6)" (identifier "uVar10") (= "=") (call_expression "(**(code **)(lVar12 + 0xb8))(plVar8,uVar6)" (parenthesized_expression "(**(code **)(lVar12 + 0xb8))" (( "(") (pointer_expression "**(code **)(lVar12 + 0xb8)" (* "*") (pointer_expression "*(code **)(lVar12 + 0xb8)" (* "*") (cast_expression "(code **)(lVar12 + 0xb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar12 + 0xb8)" (( "(") (binary_expression "lVar12 + 0xb8" (identifier "lVar12") (+ "+") (number_literal "0xb8")) () ")"))))) () ")")) (argument_list "(plVar8,uVar6)" (( "(") (identifier "plVar8") (, ",") (identifier "uVar6") () ")")))) (; ";")) (if_statement "if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }" (if "if") (parenthesized_expression "(uVar10 != (uVar10 & 0xffffffff))" (( "(") (binary_expression "uVar10 != (uVar10 & 0xffffffff)" (identifier "uVar10") (!= "!=") (parenthesized_expression "(uVar10 & 0xffffffff)" (( "(") (binary_expression "uVar10 & 0xffffffff" (identifier "uVar10") (& "&") (number_literal "0xffffffff")) () ")"))) () ")")) (compound_statement "{\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }" ({ "{") (expression_statement "FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");" (call_expression "FUN_00352af0("../../gold/gold.h",0xc0,"convert_types")" (identifier "FUN_00352af0") (argument_list "("../../gold/gold.h",0xc0,"convert_types")" (( "(") (string_literal ""../../gold/gold.h"" (" """) (string_content "../../gold/gold.h") (" """)) (, ",") (number_literal "0xc0") (, ",") (string_literal ""convert_types"" (" """) (string_content "convert_types") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "*(int *)((long)plVar9 + 0x44) = (int)uVar10;" (assignment_expression "*(int *)((long)plVar9 + 0x44) = (int)uVar10" (pointer_expression "*(int *)((long)plVar9 + 0x44)" (* "*") (cast_expression "(int *)((long)plVar9 + 0x44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)plVar9 + 0x44)" (( "(") (binary_expression "(long)plVar9 + 0x44" (cast_expression "(long)plVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar9")) (+ "+") (number_literal "0x44")) () ")")))) (= "=") (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10"))) (; ";")) (expression_statement "pvVar11 = (void *)FUN_00392d50(plVar8,uVar6,&local_60,0);" (assignment_expression "pvVar11 = (void *)FUN_00392d50(plVar8,uVar6,&local_60,0)" (identifier "pvVar11") (= "=") (cast_expression "(void *)FUN_00392d50(plVar8,uVar6,&local_60,0)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00392d50(plVar8,uVar6,&local_60,0)" (identifier "FUN_00392d50") (argument_list "(plVar8,uVar6,&local_60,0)" (( "(") (identifier "plVar8") (, ",") (identifier "uVar6") (, ",") (pointer_expression "&local_60" (& "&") (identifier "local_60")) (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "uVar10 = (**(code **)(*plVar8 + 0x78))(plVar8,uVar6);" (assignment_expression "uVar10 = (**(code **)(*plVar8 + 0x78))(plVar8,uVar6)" (identifier "uVar10") (= "=") (call_expression "(**(code **)(*plVar8 + 0x78))(plVar8,uVar6)" (parenthesized_expression "(**(code **)(*plVar8 + 0x78))" (( "(") (pointer_expression "**(code **)(*plVar8 + 0x78)" (* "*") (pointer_expression "*(code **)(*plVar8 + 0x78)" (* "*") (cast_expression "(code **)(*plVar8 + 0x78)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar8 + 0x78)" (( "(") (binary_expression "*plVar8 + 0x78" (pointer_expression "*plVar8" (* "*") (identifier "plVar8")) (+ "+") (number_literal "0x78")) () ")"))))) () ")")) (argument_list "(plVar8,uVar6)" (( "(") (identifier "plVar8") (, ",") (identifier "uVar6") () ")")))) (; ";")) (if_statement "if (uVar10 != (uVar10 & 0xffffffff)) {\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }" (if "if") (parenthesized_expression "(uVar10 != (uVar10 & 0xffffffff))" (( "(") (binary_expression "uVar10 != (uVar10 & 0xffffffff)" (identifier "uVar10") (!= "!=") (parenthesized_expression "(uVar10 & 0xffffffff)" (( "(") (binary_expression "uVar10 & 0xffffffff" (identifier "uVar10") (& "&") (number_literal "0xffffffff")) () ")"))) () ")")) (compound_statement "{\n                    \n      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");\n    }" ({ "{") (expression_statement "FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");" (call_expression "FUN_00352af0("../../gold/gold.h",0xc0,"convert_types")" (identifier "FUN_00352af0") (argument_list "("../../gold/gold.h",0xc0,"convert_types")" (( "(") (string_literal ""../../gold/gold.h"" (" """) (string_content "../../gold/gold.h") (" """)) (, ",") (number_literal "0xc0") (, ",") (string_literal ""convert_types"" (" """) (string_content "convert_types") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "*(int *)(plVar9 + 9) = (int)uVar10;" (assignment_expression "*(int *)(plVar9 + 9) = (int)uVar10" (pointer_expression "*(int *)(plVar9 + 9)" (* "*") (cast_expression "(int *)(plVar9 + 9)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar9 + 9)" (( "(") (binary_expression "plVar9 + 9" (identifier "plVar9") (+ "+") (number_literal "9")) () ")")))) (= "=") (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10"))) (; ";")) (if_statement "if (plVar9[0xb] != 0) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);\n    }" (if "if") (parenthesized_expression "(plVar9[0xb] != 0)" (( "(") (binary_expression "plVar9[0xb] != 0" (subscript_expression "plVar9[0xb]" (identifier "plVar9") ([ "[") (number_literal "0xb") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);\n    }" ({ "{") (expression_statement "FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);" (call_expression "FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921)" (identifier "FUN_00352af0") (argument_list "("../../gold/arm.cc",0x14bf,&DAT_0054f921)" (( "(") (string_literal ""../../gold/arm.cc"" (" """) (string_content "../../gold/arm.cc") (" """)) (, ",") (number_literal "0x14bf") (, ",") (pointer_expression "&DAT_0054f921" (& "&") (identifier "DAT_0054f921")) () ")"))) (; ";")) (} "}"))) (expression_statement "__dest = (void *)thunk_FUN_0049cb70(local_60);" (assignment_expression "__dest = (void *)thunk_FUN_0049cb70(local_60)" (identifier "__dest") (= "=") (cast_expression "(void *)thunk_FUN_0049cb70(local_60)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "thunk_FUN_0049cb70(local_60)" (identifier "thunk_FUN_0049cb70") (argument_list "(local_60)" (( "(") (identifier "local_60") () ")"))))) (; ";")) (expression_statement "plVar9[0xb] = (long)__dest;" (assignment_expression "plVar9[0xb] = (long)__dest" (subscript_expression "plVar9[0xb]" (identifier "plVar9") ([ "[") (number_literal "0xb") (] "]")) (= "=") (cast_expression "(long)__dest" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__dest"))) (; ";")) (expression_statement "memcpy(__dest,pvVar11,local_60);" (call_expression "memcpy(__dest,pvVar11,local_60)" (identifier "memcpy") (argument_list "(__dest,pvVar11,local_60)" (( "(") (identifier "__dest") (, ",") (identifier "pvVar11") (, ",") (identifier "local_60") () ")"))) (; ";")) (expression_statement "lVar12 = *plVar8;" (assignment_expression "lVar12 = *plVar8" (identifier "lVar12") (= "=") (pointer_expression "*plVar8" (* "*") (identifier "plVar8"))) (; ";")) (if_statement "if (*(code **)(lVar12 + 0xc0) == FUN_001a5070) {\n      if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);\n    }\n    else {\n                    \n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }" (if "if") (parenthesized_expression "(*(code **)(lVar12 + 0xc0) == FUN_001a5070)" (( "(") (binary_expression "*(code **)(lVar12 + 0xc0) == FUN_001a5070" (pointer_expression "*(code **)(lVar12 + 0xc0)" (* "*") (cast_expression "(code **)(lVar12 + 0xc0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar12 + 0xc0)" (( "(") (binary_expression "lVar12 + 0xc0" (identifier "lVar12") (+ "+") (number_literal "0xc0")) () ")")))) (== "==") (identifier "FUN_001a5070")) () ")")) (compound_statement "{\n      if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }\n      lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);\n    }" ({ "{") (if_statement "if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {\n                    \n                    \n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }" (if "if") (parenthesized_expression "((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6)" (( "(") (binary_expression "(ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6" (call_expression "(ulong)(plVar8[0xb] - plVar8[10] >> 3)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(plVar8[0xb] - plVar8[10] >> 3)" (( "(") (binary_expression "plVar8[0xb] - plVar8[10] >> 3" (binary_expression "plVar8[0xb] - plVar8[10]" (subscript_expression "plVar8[0xb]" (identifier "plVar8") ([ "[") (number_literal "0xb") (] "]")) (- "-") (subscript_expression "plVar8[10]" (identifier "plVar8") ([ "[") (number_literal "10") (] "]"))) (>> ">>") (number_literal "3")) () ")"))) (<= "<=") (cast_expression "(ulong)uVar6" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar6"))) () ")")) (compound_statement "{\n                    \n                    \n        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");\n      }" ({ "{") (expression_statement "FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");" (call_expression "FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section")" (identifier "FUN_00352af0") (argument_list "("../../gold/object.h",0x5c8,"do_output_section")" (( "(") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """)) (, ",") (number_literal "0x5c8") (, ",") (string_literal ""do_output_section"" (" """) (string_content "do_output_section") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);" (assignment_expression "lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8)" (identifier "lVar15") (= "=") (pointer_expression "*(long *)(plVar8[10] + (ulong)uVar6 * 8)" (* "*") (cast_expression "(long *)(plVar8[10] + (ulong)uVar6 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar8[10] + (ulong)uVar6 * 8)" (( "(") (binary_expression "plVar8[10] + (ulong)uVar6 * 8" (subscript_expression "plVar8[10]" (identifier "plVar8") ([ "[") (number_literal "10") (] "]")) (+ "+") (binary_expression "(ulong)uVar6 * 8" (cast_expression "(ulong)uVar6" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar6")) (* "*") (number_literal "8"))) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n                    \n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }" (else "else") (compound_statement "{\n                    \n      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);\n      lVar12 = *plVar8;\n    }" ({ "{") (expression_statement "lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);" (assignment_expression "lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6)" (identifier "lVar15") (= "=") (call_expression "(**(code **)(lVar12 + 0xc0))(plVar8,uVar6)" (parenthesized_expression "(**(code **)(lVar12 + 0xc0))" (( "(") (pointer_expression "**(code **)(lVar12 + 0xc0)" (* "*") (pointer_expression "*(code **)(lVar12 + 0xc0)" (* "*") (cast_expression "(code **)(lVar12 + 0xc0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar12 + 0xc0)" (( "(") (binary_expression "lVar12 + 0xc0" (identifier "lVar12") (+ "+") (number_literal "0xc0")) () ")"))))) () ")")) (argument_list "(plVar8,uVar6)" (( "(") (identifier "plVar8") (, ",") (identifier "uVar6") () ")")))) (; ";")) (expression_statement "lVar12 = *plVar8;" (assignment_expression "lVar12 = *plVar8" (identifier "lVar12") (= "=") (pointer_expression "*plVar8" (* "*") (identifier "plVar8"))) (; ";")) (} "}")))) (expression_statement "lVar12 = (**(code **)(lVar12 + 0xd0))(plVar8,uVar6);" (assignment_expression "lVar12 = (**(code **)(lVar12 + 0xd0))(plVar8,uVar6)" (identifier "lVar12") (= "=") (call_expression "(**(code **)(lVar12 + 0xd0))(plVar8,uVar6)" (parenthesized_expression "(**(code **)(lVar12 + 0xd0))" (( "(") (pointer_expression "**(code **)(lVar12 + 0xd0)" (* "*") (pointer_expression "*(code **)(lVar12 + 0xd0)" (* "*") (cast_expression "(code **)(lVar12 + 0xd0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar12 + 0xd0)" (( "(") (binary_expression "lVar12 + 0xd0" (identifier "lVar12") (+ "+") (number_literal "0xd0")) () ")"))))) () ")")) (argument_list "(plVar8,uVar6)" (( "(") (identifier "plVar8") (, ",") (identifier "uVar6") () ")")))) (; ";")) (if_statement "if ((lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')) {\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);\n    }" (if "if") (parenthesized_expression "((lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0'))" (( "(") (binary_expression "(lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')" (parenthesized_expression "(lVar15 == 0)" (( "(") (binary_expression "lVar15 == 0" (identifier "lVar15") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')" (( "(") (comma_expression "cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0'" (assignment_expression "cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6)" (identifier "cVar5") (= "=") (call_expression "(**(code **)(*plVar8 + 0x110))(plVar8,uVar6)" (parenthesized_expression "(**(code **)(*plVar8 + 0x110))" (( "(") (pointer_expression "**(code **)(*plVar8 + 0x110)" (* "*") (pointer_expression "*(code **)(*plVar8 + 0x110)" (* "*") (cast_expression "(code **)(*plVar8 + 0x110)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar8 + 0x110)" (( "(") (binary_expression "*plVar8 + 0x110" (pointer_expression "*plVar8" (* "*") (identifier "plVar8")) (+ "+") (number_literal "0x110")) () ")"))))) () ")")) (argument_list "(plVar8,uVar6)" (( "(") (identifier "plVar8") (, ",") (identifier "uVar6") () ")")))) (, ",") (binary_expression "cVar5 != '\0'" (identifier "cVar5") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n                    \n                    \n      FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);\n    }" ({ "{") (expression_statement "FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);" (call_expression "FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921)" (identifier "FUN_00352af0") (argument_list "("../../gold/arm.cc",0x14c7,&DAT_0054f921)" (( "(") (string_literal ""../../gold/arm.cc"" (" """) (string_content "../../gold/arm.cc") (" """)) (, ",") (number_literal "0x14c7") (, ",") (pointer_expression "&DAT_0054f921" (& "&") (identifier "DAT_0054f921")) () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(byte *)(lVar15 + 0x20) & 1) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }" (if "if") (parenthesized_expression "((*(byte *)(lVar15 + 0x20) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(lVar15 + 0x20) & 1) == 0" (parenthesized_expression "(*(byte *)(lVar15 + 0x20) & 1)" (( "(") (binary_expression "*(byte *)(lVar15 + 0x20) & 1" (pointer_expression "*(byte *)(lVar15 + 0x20)" (* "*") (cast_expression "(byte *)(lVar15 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x20)" (( "(") (binary_expression "lVar15 + 0x20" (identifier "lVar15") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n      FUN_00352af0("../../gold/output.h",0xc5,"address");\n    }" ({ "{") (expression_statement "FUN_00352af0("../../gold/output.h",0xc5,"address");" (call_expression "FUN_00352af0("../../gold/output.h",0xc5,"address")" (identifier "FUN_00352af0") (argument_list "("../../gold/output.h",0xc5,"address")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xc5") (, ",") (string_literal ""address"" (" """) (string_content "address") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "bVar2 = *(byte *)(plVar9 + 4);" (assignment_expression "bVar2 = *(byte *)(plVar9 + 4)" (identifier "bVar2") (= "=") (pointer_expression "*(byte *)(plVar9 + 4)" (* "*") (cast_expression "(byte *)(plVar9 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar9 + 4)" (( "(") (binary_expression "plVar9 + 4" (identifier "plVar9") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if ((bVar2 & 1) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x142,"set_address");\n    }" (if "if") (parenthesized_expression "((bVar2 & 1) != 0)" (( "(") (binary_expression "(bVar2 & 1) != 0" (parenthesized_expression "(bVar2 & 1)" (( "(") (binary_expression "bVar2 & 1" (identifier "bVar2") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n      FUN_00352af0("../../gold/output.h",0x142,"set_address");\n    }" ({ "{") (expression_statement "FUN_00352af0("../../gold/output.h",0x142,"set_address");" (call_expression "FUN_00352af0("../../gold/output.h",0x142,"set_address")" (identifier "FUN_00352af0") (argument_list "("../../gold/output.h",0x142,"set_address")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0x142") (, ",") (string_literal ""set_address"" (" """) (string_content "set_address") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "plVar9[1] = *(long *)(lVar15 + 8) + lVar12;" (assignment_expression "plVar9[1] = *(long *)(lVar15 + 8) + lVar12" (subscript_expression "plVar9[1]" (identifier "plVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "*(long *)(lVar15 + 8) + lVar12" (pointer_expression "*(long *)(lVar15 + 8)" (* "*") (cast_expression "(long *)(lVar15 + 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 8)" (( "(") (binary_expression "lVar15 + 8" (identifier "lVar15") (+ "+") (number_literal "8")) () ")")))) (+ "+") (identifier "lVar12"))) (; ";")) (expression_statement "*(byte *)(plVar9 + 4) = bVar2 | 1;" (assignment_expression "*(byte *)(plVar9 + 4) = bVar2 | 1" (pointer_expression "*(byte *)(plVar9 + 4)" (* "*") (cast_expression "(byte *)(plVar9 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar9 + 4)" (( "(") (binary_expression "plVar9 + 4" (identifier "plVar9") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "bVar2 | 1" (identifier "bVar2") (| "|") (number_literal "1"))) (; ";")) (if_statement "if ((*(byte *)(lVar15 + 0x20) & 4) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0xe3,"offset");\n    }" (if "if") (parenthesized_expression "((*(byte *)(lVar15 + 0x20) & 4) == 0)" (( "(") (binary_expression "(*(byte *)(lVar15 + 0x20) & 4) == 0" (parenthesized_expression "(*(byte *)(lVar15 + 0x20) & 4)" (( "(") (binary_expression "*(byte *)(lVar15 + 0x20) & 4" (pointer_expression "*(byte *)(lVar15 + 0x20)" (* "*") (cast_expression "(byte *)(lVar15 + 0x20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x20)" (( "(") (binary_expression "lVar15 + 0x20" (identifier "lVar15") (+ "+") (number_literal "0x20")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n      FUN_00352af0("../../gold/output.h",0xe3,"offset");\n    }" ({ "{") (expression_statement "FUN_00352af0("../../gold/output.h",0xe3,"offset");" (call_expression "FUN_00352af0("../../gold/output.h",0xe3,"offset")" (identifier "FUN_00352af0") (argument_list "("../../gold/output.h",0xe3,"offset")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xe3") (, ",") (string_literal ""offset"" (" """) (string_content "offset") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if ((bVar2 & 4) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n    }" (if "if") (parenthesized_expression "((bVar2 & 4) != 0)" (( "(") (binary_expression "(bVar2 & 4) != 0" (parenthesized_expression "(bVar2 & 4)" (( "(") (binary_expression "bVar2 & 4" (identifier "bVar2") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n      FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n    }" ({ "{") (expression_statement "FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");" (call_expression "FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset")" (identifier "FUN_00352af0") (argument_list "("../../gold/output.h",0x14b,"set_file_offset")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0x14b") (, ",") (string_literal ""set_file_offset"" (" """) (string_content "set_file_offset") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "plVar9[3] = lVar12 + *(long *)(lVar15 + 0x18);" (assignment_expression "plVar9[3] = lVar12 + *(long *)(lVar15 + 0x18)" (subscript_expression "plVar9[3]" (identifier "plVar9") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "lVar12 + *(long *)(lVar15 + 0x18)" (identifier "lVar12") (+ "+") (pointer_expression "*(long *)(lVar15 + 0x18)" (* "*") (cast_expression "(long *)(lVar15 + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x18)" (( "(") (binary_expression "lVar15 + 0x18" (identifier "lVar15") (+ "+") (number_literal "0x18")) () ")")))))) (; ";")) (expression_statement "*(byte *)(plVar9 + 4) = bVar2 | 5;" (assignment_expression "*(byte *)(plVar9 + 4) = bVar2 | 5" (pointer_expression "*(byte *)(plVar9 + 4)" (* "*") (cast_expression "(byte *)(plVar9 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar9 + 4)" (( "(") (binary_expression "plVar9 + 4" (identifier "plVar9") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "bVar2 | 5" (identifier "bVar2") (| "|") (number_literal "5"))) (; ";")) (if_statement "if ((bVar2 & 2) != 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }" (if "if") (parenthesized_expression "((bVar2 & 2) != 0)" (( "(") (binary_expression "(bVar2 & 2) != 0" (parenthesized_expression "(bVar2 & 2)" (( "(") (binary_expression "bVar2 & 2" (identifier "bVar2") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n      FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");\n    }" ({ "{") (expression_statement "FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");" (call_expression "FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child")" (identifier "FUN_00352af0") (argument_list "("../../gold/output.h",0x231,"set_current_data_size_for_child")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0x231") (, ",") (string_literal ""set_current_data_size_for_child"" (" """) (string_content "set_current_data_size_for_child") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "plVar9[2] = (ulong)*(uint *)(plVar9 + 9);" (assignment_expression "plVar9[2] = (ulong)*(uint *)(plVar9 + 9)" (subscript_expression "plVar9[2]" (identifier "plVar9") ([ "[") (number_literal "2") (] "]")) (= "=") (binary_expression "(ulong)*(uint *)(plVar9 + 9)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(plVar9 + 9)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar9 + 9)" (( "(") (binary_expression "plVar9 + 9" (identifier "plVar9") (+ "+") (number_literal "9")) () ")"))))) (; ";")) (expression_statement "FUN_00236100(plVar9);" (call_expression "FUN_00236100(plVar9)" (identifier "FUN_00236100") (argument_list "(plVar9)" (( "(") (identifier "plVar9") () ")"))) (; ";")) (if_statement "if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    \n      FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n    }" (if "if") (parenthesized_expression "((*(byte *)(plVar9 + 4) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(plVar9 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar9 + 4) & 2)" (( "(") (binary_expression "*(byte *)(plVar9 + 4) & 2" (pointer_expression "*(byte *)(plVar9 + 4)" (* "*") (cast_expression "(byte *)(plVar9 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar9 + 4)" (( "(") (binary_expression "plVar9 + 4" (identifier "plVar9") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n      FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n    }" ({ "{") (expression_statement "FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");" (call_expression "FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size")" (identifier "FUN_00352af0") (argument_list "("../../gold/output.h",0x163,"finalize_data_size")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0x163") (, ",") (string_literal ""finalize_data_size"" (" """) (string_content "finalize_data_size") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "plVar13 = (long *)FUN_0049cb70(0x28);" (assignment_expression "plVar13 = (long *)FUN_0049cb70(0x28)" (identifier "plVar13") (= "=") (cast_expression "(long *)FUN_0049cb70(0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0049cb70(0x28)" (identifier "FUN_0049cb70") (argument_list "(0x28)" (( "(") (number_literal "0x28") () ")"))))) (; ";")) (expression_statement "*plVar13 = 0;" (assignment_expression "*plVar13 = 0" (pointer_expression "*plVar13" (* "*") (identifier "plVar13")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar10 = *(ulong *)(param_5 + 0xb8);" (assignment_expression "uVar10 = *(ulong *)(param_5 + 0xb8)" (identifier "uVar10") (= "=") (pointer_expression "*(ulong *)(param_5 + 0xb8)" (* "*") (cast_expression "(ulong *)(param_5 + 0xb8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xb8)" (( "(") (binary_expression "param_5 + 0xb8" (identifier "param_5") (+ "+") (number_literal "0xb8")) () ")"))))) (; ";")) (expression_statement "plVar13[1] = (long)plVar8;" (assignment_expression "plVar13[1] = (long)plVar8" (subscript_expression "plVar13[1]" (identifier "plVar13") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(long)plVar8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar8"))) (; ";")) (expression_statement "plVar13[2] = CONCAT44(uStack_4c,uVar6);" (assignment_expression "plVar13[2] = CONCAT44(uStack_4c,uVar6)" (subscript_expression "plVar13[2]" (identifier "plVar13") ([ "[") (number_literal "2") (] "]")) (= "=") (call_expression "CONCAT44(uStack_4c,uVar6)" (identifier "CONCAT44") (argument_list "(uStack_4c,uVar6)" (( "(") (identifier "uStack_4c") (, ",") (identifier "uVar6") () ")")))) (; ";")) (expression_statement "plVar13[3] = (long)plVar9;" (assignment_expression "plVar13[3] = (long)plVar9" (subscript_expression "plVar13[3]" (identifier "plVar13") ([ "[") (number_literal "3") (] "]")) (= "=") (cast_expression "(long)plVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar9"))) (; ";")) (expression_statement "uVar17 = (ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2);" (assignment_expression "uVar17 = (ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2)" (identifier "uVar17") (= "=") (binary_expression "(ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2)" (cast_expression "(ulong)plVar8" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "plVar8")) (^ "^") (binary_expression "(ulong)*(uint *)(plVar13 + 2)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (* "*") (cast_expression "(uint *)(plVar13 + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar13 + 2)" (( "(") (binary_expression "plVar13 + 2" (identifier "plVar13") (+ "+") (number_literal "2")) () ")")))))) (; ";")) (expression_statement "local_78 = uVar17 % uVar10;" (assignment_expression "local_78 = uVar17 % uVar10" (identifier "local_78") (= "=") (binary_expression "uVar17 % uVar10" (identifier "uVar17") (% "%") (identifier "uVar10"))) (; ";")) (expression_statement "local_58 = plVar8;" (assignment_expression "local_58 = plVar8" (identifier "local_58") (= "=") (identifier "plVar8")) (; ";")) (expression_statement "uStack_50 = uVar6;" (assignment_expression "uStack_50 = uVar6" (identifier "uStack_50") (= "=") (identifier "uVar6")) (; ";")) (expression_statement "plVar8 = (long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17);" (assignment_expression "plVar8 = (long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17)" (identifier "plVar8") (= "=") (cast_expression "(long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17)" (identifier "FUN_0022f560") (argument_list "(param_5 + 0xb0,local_78,plVar13 + 1,uVar17)" (( "(") (binary_expression "param_5 + 0xb0" (identifier "param_5") (+ "+") (number_literal "0xb0")) (, ",") (identifier "local_78") (, ",") (binary_expression "plVar13 + 1" (identifier "plVar13") (+ "+") (number_literal "1")) (, ",") (identifier "uVar17") () ")"))))) (; ";")) (if_statement "if ((plVar8 != (long *)0x0) && (*plVar8 != 0)) {\n      FUN_0049e340(plVar13);\n                    \n      FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }" (if "if") (parenthesized_expression "((plVar8 != (long *)0x0) && (*plVar8 != 0))" (( "(") (binary_expression "(plVar8 != (long *)0x0) && (*plVar8 != 0)" (parenthesized_expression "(plVar8 != (long *)0x0)" (( "(") (binary_expression "plVar8 != (long *)0x0" (identifier "plVar8") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(*plVar8 != 0)" (( "(") (binary_expression "*plVar8 != 0" (pointer_expression "*plVar8" (* "*") (identifier "plVar8")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      FUN_0049e340(plVar13);\n                    \n      FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");\n    }" ({ "{") (expression_statement "FUN_0049e340(plVar13);" (call_expression "FUN_0049e340(plVar13)" (identifier "FUN_0049e340") (argument_list "(plVar13)" (( "(") (identifier "plVar13") () ")"))) (; ";")) (expression_statement "FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");" (call_expression "FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section")" (identifier "FUN_00352af0") (argument_list "("../../gold/arm.cc",0x2e50,"new_arm_input_section")" (( "(") (string_literal ""../../gold/arm.cc"" (" """) (string_content "../../gold/arm.cc") (" """)) (, ",") (number_literal "0x2e50") (, ",") (string_literal ""new_arm_input_section"" (" """) (string_content "new_arm_input_section") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "cVar5 = FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1);" (assignment_expression "cVar5 = FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1)" (identifier "cVar5") (= "=") (call_expression "FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1)" (identifier "FUN_004dc8d0") (argument_list "(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1)" (( "(") (binary_expression "param_5 + 0xd0" (identifier "param_5") (+ "+") (number_literal "0xd0")) (, ",") (identifier "uVar10") (, ",") (pointer_expression "*(undefined8 *)(param_5 + 200)" (* "*") (cast_expression "(undefined8 *)(param_5 + 200)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 200)" (( "(") (binary_expression "param_5 + 200" (identifier "param_5") (+ "+") (number_literal "200")) () ")")))) (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (cVar5 == '\0') {\n      lVar12 = *(long *)(param_5 + 0xb0);\n    }\n    else {\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    \n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }" (if "if") (parenthesized_expression "(cVar5 == '\0')" (( "(") (binary_expression "cVar5 == '\0'" (identifier "cVar5") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      lVar12 = *(long *)(param_5 + 0xb0);\n    }" ({ "{") (expression_statement "lVar12 = *(long *)(param_5 + 0xb0);" (assignment_expression "lVar12 = *(long *)(param_5 + 0xb0)" (identifier "lVar12") (= "=") (pointer_expression "*(long *)(param_5 + 0xb0)" (* "*") (cast_expression "(long *)(param_5 + 0xb0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xb0)" (( "(") (binary_expression "param_5 + 0xb0" (identifier "param_5") (+ "+") (number_literal "0xb0")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    \n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }" (else "else") (compound_statement "{\n      if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    \n        lVar12 = FUN_00232700();\n      }\n      plVar8 = *(long **)(param_5 + 0xc0);\n      *(undefined8 *)(param_5 + 0xc0) = 0;\n      if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }\nLAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }\n      *(ulong *)(param_5 + 0xb8) = extraout_RDX;\n      local_78 = uVar17 % extraout_RDX;\n      *(long *)(param_5 + 0xb0) = lVar12;\n    }" ({ "{") (if_statement "if (extraout_RDX == 1) {\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }\n      else {\n                    \n        lVar12 = FUN_00232700();\n      }" (if "if") (parenthesized_expression "(extraout_RDX == 1)" (( "(") (binary_expression "extraout_RDX == 1" (identifier "extraout_RDX") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        lVar12 = param_5 + 0xe0;\n        *(undefined8 *)(param_5 + 0xe0) = 0;\n      }" ({ "{") (expression_statement "lVar12 = param_5 + 0xe0;" (assignment_expression "lVar12 = param_5 + 0xe0" (identifier "lVar12") (= "=") (binary_expression "param_5 + 0xe0" (identifier "param_5") (+ "+") (number_literal "0xe0"))) (; ";")) (expression_statement "*(undefined8 *)(param_5 + 0xe0) = 0;" (assignment_expression "*(undefined8 *)(param_5 + 0xe0) = 0" (pointer_expression "*(undefined8 *)(param_5 + 0xe0)" (* "*") (cast_expression "(undefined8 *)(param_5 + 0xe0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xe0)" (( "(") (binary_expression "param_5 + 0xe0" (identifier "param_5") (+ "+") (number_literal "0xe0")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n                    \n        lVar12 = FUN_00232700();\n      }" (else "else") (compound_statement "{\n                    \n        lVar12 = FUN_00232700();\n      }" ({ "{") (expression_statement "lVar12 = FUN_00232700();" (assignment_expression "lVar12 = FUN_00232700()" (identifier "lVar12") (= "=") (call_expression "FUN_00232700()" (identifier "FUN_00232700") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")))) (expression_statement "plVar8 = *(long **)(param_5 + 0xc0);" (assignment_expression "plVar8 = *(long **)(param_5 + 0xc0)" (identifier "plVar8") (= "=") (pointer_expression "*(long **)(param_5 + 0xc0)" (* "*") (cast_expression "(long **)(param_5 + 0xc0)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_5 + 0xc0)" (( "(") (binary_expression "param_5 + 0xc0" (identifier "param_5") (+ "+") (number_literal "0xc0")) () ")"))))) (; ";")) (expression_statement "*(undefined8 *)(param_5 + 0xc0) = 0;" (assignment_expression "*(undefined8 *)(param_5 + 0xc0) = 0" (pointer_expression "*(undefined8 *)(param_5 + 0xc0)" (* "*") (cast_expression "(undefined8 *)(param_5 + 0xc0)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xc0)" (( "(") (binary_expression "param_5 + 0xc0" (identifier "param_5") (+ "+") (number_literal "0xc0")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (plVar8 != (long *)0x0) {\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }" (if "if") (parenthesized_expression "(plVar8 != (long *)0x0)" (( "(") (binary_expression "plVar8 != (long *)0x0" (identifier "plVar8") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        uVar10 = 0;\n        do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);\n      }" ({ "{") (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        } while (plVar3 != (long *)0x0);" (do "do") (compound_statement "{\n          while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }\n          *plVar8 = *(long *)(param_5 + 0xc0);\n          *(long **)(param_5 + 0xc0) = plVar8;\n          *plVar1 = param_5 + 0xc0;\n          if (*plVar8 == 0) goto LAB_0024831c;\n          *(long **)(lVar12 + uVar10 * 8) = plVar8;\n          plVar8 = plVar3;\n          uVar10 = uVar16;\n        }" ({ "{") (while_statement "while( true ) {\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            plVar3 = (long *)*plVar8;\n            uVar16 = (ulong)plVar8[4] % extraout_RDX;\n            plVar1 = (long *)(lVar12 + uVar16 * 8);\n            if ((long *)*plVar1 == (long *)0x0) break;\n            *plVar8 = *(long *)*plVar1;\n            *(long **)*plVar1 = plVar8;\n            uVar16 = uVar10;\nLAB_0024831c:\n            plVar8 = plVar3;\n            uVar10 = uVar16;\n            if (plVar3 == (long *)0x0) goto LAB_00248370;\n          }" ({ "{") (expression_statement "plVar3 = (long *)*plVar8;" (assignment_expression "plVar3 = (long *)*plVar8" (identifier "plVar3") (= "=") (cast_expression "(long *)*plVar8" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar8" (* "*") (identifier "plVar8")))) (; ";")) (expression_statement "uVar16 = (ulong)plVar8[4] % extraout_RDX;" (assignment_expression "uVar16 = (ulong)plVar8[4] % extraout_RDX" (identifier "uVar16") (= "=") (binary_expression "(ulong)plVar8[4] % extraout_RDX" (cast_expression "(ulong)plVar8[4]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (subscript_expression "plVar8[4]" (identifier "plVar8") ([ "[") (number_literal "4") (] "]"))) (% "%") (identifier "extraout_RDX"))) (; ";")) (expression_statement "plVar1 = (long *)(lVar12 + uVar16 * 8);" (assignment_expression "plVar1 = (long *)(lVar12 + uVar16 * 8)" (identifier "plVar1") (= "=") (cast_expression "(long *)(lVar12 + uVar16 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar12 + uVar16 * 8)" (( "(") (binary_expression "lVar12 + uVar16 * 8" (identifier "lVar12") (+ "+") (binary_expression "uVar16 * 8" (identifier "uVar16") (* "*") (number_literal "8"))) () ")")))) (; ";")) (if_statement "if ((long *)*plVar1 == (long *)0x0) break;" (if "if") (parenthesized_expression "((long *)*plVar1 == (long *)0x0)" (( "(") (binary_expression "(long *)*plVar1 == (long *)0x0" (cast_expression "(long *)*plVar1" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar1" (* "*") (identifier "plVar1"))) (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "*plVar8 = *(long *)*plVar1;" (assignment_expression "*plVar8 = *(long *)*plVar1" (pointer_expression "*plVar8" (* "*") (identifier "plVar8")) (= "=") (pointer_expression "*(long *)*plVar1" (* "*") (cast_expression "(long *)*plVar1" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar1" (* "*") (identifier "plVar1"))))) (; ";")) (expression_statement "*(long **)*plVar1 = plVar8;" (assignment_expression "*(long **)*plVar1 = plVar8" (pointer_expression "*(long **)*plVar1" (* "*") (cast_expression "(long **)*plVar1" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*plVar1" (* "*") (identifier "plVar1")))) (= "=") (identifier "plVar8")) (; ";")) (expression_statement "uVar16 = uVar10;" (assignment_expression "uVar16 = uVar10" (identifier "uVar16") (= "=") (identifier "uVar10")) (; ";")) (labeled_statement "LAB_0024831c:\n            plVar8 = plVar3;" (statement_identifier "LAB_0024831c") (: ":") (expression_statement "plVar8 = plVar3;" (assignment_expression "plVar8 = plVar3" (identifier "plVar8") (= "=") (identifier "plVar3")) (; ";"))) (expression_statement "uVar10 = uVar16;" (assignment_expression "uVar10 = uVar16" (identifier "uVar10") (= "=") (identifier "uVar16")) (; ";")) (if_statement "if (plVar3 == (long *)0x0) goto LAB_00248370;" (if "if") (parenthesized_expression "(plVar3 == (long *)0x0)" (( "(") (binary_expression "plVar3 == (long *)0x0" (identifier "plVar3") (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00248370;" (goto "goto") (statement_identifier "LAB_00248370") (; ";"))) (} "}"))) (expression_statement "*plVar8 = *(long *)(param_5 + 0xc0);" (assignment_expression "*plVar8 = *(long *)(param_5 + 0xc0)" (pointer_expression "*plVar8" (* "*") (identifier "plVar8")) (= "=") (pointer_expression "*(long *)(param_5 + 0xc0)" (* "*") (cast_expression "(long *)(param_5 + 0xc0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xc0)" (( "(") (binary_expression "param_5 + 0xc0" (identifier "param_5") (+ "+") (number_literal "0xc0")) () ")"))))) (; ";")) (expression_statement "*(long **)(param_5 + 0xc0) = plVar8;" (assignment_expression "*(long **)(param_5 + 0xc0) = plVar8" (pointer_expression "*(long **)(param_5 + 0xc0)" (* "*") (cast_expression "(long **)(param_5 + 0xc0)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_5 + 0xc0)" (( "(") (binary_expression "param_5 + 0xc0" (identifier "param_5") (+ "+") (number_literal "0xc0")) () ")")))) (= "=") (identifier "plVar8")) (; ";")) (expression_statement "*plVar1 = param_5 + 0xc0;" (assignment_expression "*plVar1 = param_5 + 0xc0" (pointer_expression "*plVar1" (* "*") (identifier "plVar1")) (= "=") (binary_expression "param_5 + 0xc0" (identifier "param_5") (+ "+") (number_literal "0xc0"))) (; ";")) (if_statement "if (*plVar8 == 0) goto LAB_0024831c;" (if "if") (parenthesized_expression "(*plVar8 == 0)" (( "(") (binary_expression "*plVar8 == 0" (pointer_expression "*plVar8" (* "*") (identifier "plVar8")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0024831c;" (goto "goto") (statement_identifier "LAB_0024831c") (; ";"))) (expression_statement "*(long **)(lVar12 + uVar10 * 8) = plVar8;" (assignment_expression "*(long **)(lVar12 + uVar10 * 8) = plVar8" (pointer_expression "*(long **)(lVar12 + uVar10 * 8)" (* "*") (cast_expression "(long **)(lVar12 + uVar10 * 8)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar12 + uVar10 * 8)" (( "(") (binary_expression "lVar12 + uVar10 * 8" (identifier "lVar12") (+ "+") (binary_expression "uVar10 * 8" (identifier "uVar10") (* "*") (number_literal "8"))) () ")")))) (= "=") (identifier "plVar8")) (; ";")) (expression_statement "plVar8 = plVar3;" (assignment_expression "plVar8 = plVar3" (identifier "plVar8") (= "=") (identifier "plVar3")) (; ";")) (expression_statement "uVar10 = uVar16;" (assignment_expression "uVar10 = uVar16" (identifier "uVar10") (= "=") (identifier "uVar16")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(plVar3 != (long *)0x0)" (( "(") (binary_expression "plVar3 != (long *)0x0" (identifier "plVar3") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (labeled_statement "LAB_00248370:\n      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }" (statement_identifier "LAB_00248370") (: ":") (if_statement "if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {\n        FUN_0049e340();\n      }" (if "if") (parenthesized_expression "(*(long *)(param_5 + 0xb0) != param_5 + 0xe0)" (( "(") (binary_expression "*(long *)(param_5 + 0xb0) != param_5 + 0xe0" (pointer_expression "*(long *)(param_5 + 0xb0)" (* "*") (cast_expression "(long *)(param_5 + 0xb0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xb0)" (( "(") (binary_expression "param_5 + 0xb0" (identifier "param_5") (+ "+") (number_literal "0xb0")) () ")")))) (!= "!=") (binary_expression "param_5 + 0xe0" (identifier "param_5") (+ "+") (number_literal "0xe0"))) () ")")) (compound_statement "{\n        FUN_0049e340();\n      }" ({ "{") (expression_statement "FUN_0049e340();" (call_expression "FUN_0049e340()" (identifier "FUN_0049e340") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "*(ulong *)(param_5 + 0xb8) = extraout_RDX;" (assignment_expression "*(ulong *)(param_5 + 0xb8) = extraout_RDX" (pointer_expression "*(ulong *)(param_5 + 0xb8)" (* "*") (cast_expression "(ulong *)(param_5 + 0xb8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xb8)" (( "(") (binary_expression "param_5 + 0xb8" (identifier "param_5") (+ "+") (number_literal "0xb8")) () ")")))) (= "=") (identifier "extraout_RDX")) (; ";")) (expression_statement "local_78 = uVar17 % extraout_RDX;" (assignment_expression "local_78 = uVar17 % extraout_RDX" (identifier "local_78") (= "=") (binary_expression "uVar17 % extraout_RDX" (identifier "uVar17") (% "%") (identifier "extraout_RDX"))) (; ";")) (expression_statement "*(long *)(param_5 + 0xb0) = lVar12;" (assignment_expression "*(long *)(param_5 + 0xb0) = lVar12" (pointer_expression "*(long *)(param_5 + 0xb0)" (* "*") (cast_expression "(long *)(param_5 + 0xb0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xb0)" (( "(") (binary_expression "param_5 + 0xb0" (identifier "param_5") (+ "+") (number_literal "0xb0")) () ")")))) (= "=") (identifier "lVar12")) (; ";")) (} "}")))) (expression_statement "plVar13[4] = uVar17;" (assignment_expression "plVar13[4] = uVar17" (subscript_expression "plVar13[4]" (identifier "plVar13") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "uVar17")) (; ";")) (expression_statement "plVar8 = (long *)(lVar12 + local_78 * 8);" (assignment_expression "plVar8 = (long *)(lVar12 + local_78 * 8)" (identifier "plVar8") (= "=") (cast_expression "(long *)(lVar12 + local_78 * 8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar12 + local_78 * 8)" (( "(") (binary_expression "lVar12 + local_78 * 8" (identifier "lVar12") (+ "+") (binary_expression "local_78 * 8" (identifier "local_78") (* "*") (number_literal "8"))) () ")")))) (; ";")) (if_statement "if ((long *)*plVar8 == (long *)0x0) {\n      lVar15 = *(long *)(param_5 + 0xc0);\n      *(long **)(param_5 + 0xc0) = plVar13;\n      *plVar13 = lVar15;\n      if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }\n      *plVar8 = param_5 + 0xc0;\n    }\n    else {\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }" (if "if") (parenthesized_expression "((long *)*plVar8 == (long *)0x0)" (( "(") (binary_expression "(long *)*plVar8 == (long *)0x0" (cast_expression "(long *)*plVar8" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar8" (* "*") (identifier "plVar8"))) (== "==") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      lVar15 = *(long *)(param_5 + 0xc0);\n      *(long **)(param_5 + 0xc0) = plVar13;\n      *plVar13 = lVar15;\n      if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }\n      *plVar8 = param_5 + 0xc0;\n    }" ({ "{") (expression_statement "lVar15 = *(long *)(param_5 + 0xc0);" (assignment_expression "lVar15 = *(long *)(param_5 + 0xc0)" (identifier "lVar15") (= "=") (pointer_expression "*(long *)(param_5 + 0xc0)" (* "*") (cast_expression "(long *)(param_5 + 0xc0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xc0)" (( "(") (binary_expression "param_5 + 0xc0" (identifier "param_5") (+ "+") (number_literal "0xc0")) () ")"))))) (; ";")) (expression_statement "*(long **)(param_5 + 0xc0) = plVar13;" (assignment_expression "*(long **)(param_5 + 0xc0) = plVar13" (pointer_expression "*(long **)(param_5 + 0xc0)" (* "*") (cast_expression "(long **)(param_5 + 0xc0)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_5 + 0xc0)" (( "(") (binary_expression "param_5 + 0xc0" (identifier "param_5") (+ "+") (number_literal "0xc0")) () ")")))) (= "=") (identifier "plVar13")) (; ";")) (expression_statement "*plVar13 = lVar15;" (assignment_expression "*plVar13 = lVar15" (pointer_expression "*plVar13" (* "*") (identifier "plVar13")) (= "=") (identifier "lVar15")) (; ";")) (if_statement "if (lVar15 != 0) {\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }" (if "if") (parenthesized_expression "(lVar15 != 0)" (( "(") (binary_expression "lVar15 != 0" (identifier "lVar15") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;\n      }" ({ "{") (expression_statement "*(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;" (assignment_expression "*(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13" (pointer_expression "*(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8)" (* "*") (cast_expression "(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8)" (( "(") (binary_expression "lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8" (identifier "lVar12") (+ "+") (binary_expression "(*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8" (parenthesized_expression "(*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8))" (( "(") (binary_expression "*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)" (pointer_expression "*(ulong *)(lVar15 + 0x20)" (* "*") (cast_expression "(ulong *)(lVar15 + 0x20)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar15 + 0x20)" (( "(") (binary_expression "lVar15 + 0x20" (identifier "lVar15") (+ "+") (number_literal "0x20")) () ")")))) (% "%") (pointer_expression "*(ulong *)(param_5 + 0xb8)" (* "*") (cast_expression "(ulong *)(param_5 + 0xb8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0xb8)" (( "(") (binary_expression "param_5 + 0xb8" (identifier "param_5") (+ "+") (number_literal "0xb8")) () ")"))))) () ")")) (* "*") (number_literal "8"))) () ")")))) (= "=") (identifier "plVar13")) (; ";")) (} "}"))) (expression_statement "*plVar8 = param_5 + 0xc0;" (assignment_expression "*plVar8 = param_5 + 0xc0" (pointer_expression "*plVar8" (* "*") (identifier "plVar8")) (= "=") (binary_expression "param_5 + 0xc0" (identifier "param_5") (+ "+") (number_literal "0xc0"))) (; ";")) (} "}")) (else_clause "else {\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }" (else "else") (compound_statement "{\n      *plVar13 = *(long *)*plVar8;\n      *(long **)*plVar8 = plVar13;\n    }" ({ "{") (expression_statement "*plVar13 = *(long *)*plVar8;" (assignment_expression "*plVar13 = *(long *)*plVar8" (pointer_expression "*plVar13" (* "*") (identifier "plVar13")) (= "=") (pointer_expression "*(long *)*plVar8" (* "*") (cast_expression "(long *)*plVar8" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*plVar8" (* "*") (identifier "plVar8"))))) (; ";")) (expression_statement "*(long **)*plVar8 = plVar13;" (assignment_expression "*(long **)*plVar8 = plVar13" (pointer_expression "*(long **)*plVar8" (* "*") (cast_expression "(long **)*plVar8" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "*plVar8" (* "*") (identifier "plVar8")))) (= "=") (identifier "plVar13")) (; ";")) (} "}")))) (expression_statement "*(long *)(param_5 + 200) = *(long *)(param_5 + 200) + 1;" (assignment_expression "*(long *)(param_5 + 200) = *(long *)(param_5 + 200) + 1" (pointer_expression "*(long *)(param_5 + 200)" (* "*") (cast_expression "(long *)(param_5 + 200)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 200)" (( "(") (binary_expression "param_5 + 200" (identifier "param_5") (+ "+") (number_literal "200")) () ")")))) (= "=") (binary_expression "*(long *)(param_5 + 200) + 1" (pointer_expression "*(long *)(param_5 + 200)" (* "*") (cast_expression "(long *)(param_5 + 200)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 200)" (( "(") (binary_expression "param_5 + 200" (identifier "param_5") (+ "+") (number_literal "200")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_58 = plVar9;" (assignment_expression "local_58 = plVar9" (identifier "local_58") (= "=") (identifier "plVar9")) (; ";")) (expression_statement "FUN_0022a4f0(param_6,&local_58);" (call_expression "FUN_0022a4f0(param_6,&local_58)" (identifier "FUN_0022a4f0") (argument_list "(param_6,&local_58)" (( "(") (identifier "param_6") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (if_statement "if (*(long *)(lVar7 + 0x28) != 0) {\n      FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }" (if "if") (parenthesized_expression "(*(long *)(lVar7 + 0x28) != 0)" (( "(") (binary_expression "*(long *)(lVar7 + 0x28) != 0" (pointer_expression "*(long *)(lVar7 + 0x28)" (* "*") (cast_expression "(long *)(lVar7 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar7 + 0x28)" (( "(") (binary_expression "lVar7 + 0x28" (identifier "lVar7") (+ "+") (number_literal "0x28")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);\n    }" ({ "{") (expression_statement "FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);" (call_expression "FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7)" (identifier "FUN_0034cac0") (argument_list "(*(long *)(lVar7 + 0x28) + 0x28,param_7)" (( "(") (binary_expression "*(long *)(lVar7 + 0x28) + 0x28" (pointer_expression "*(long *)(lVar7 + 0x28)" (* "*") (cast_expression "(long *)(lVar7 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar7 + 0x28)" (( "(") (binary_expression "lVar7 + 0x28" (identifier "lVar7") (+ "+") (number_literal "0x28")) () ")")))) (+ "+") (number_literal "0x28")) (, ",") (identifier "param_7") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "plVar8 = (long *)FUN_0049cb70(0xd0);" (assignment_expression "plVar8 = (long *)FUN_0049cb70(0xd0)" (identifier "plVar8") (= "=") (cast_expression "(long *)FUN_0049cb70(0xd0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0049cb70(0xd0)" (identifier "FUN_0049cb70") (argument_list "(0xd0)" (( "(") (number_literal "0xd0") () ")"))))) (; ";")) (expression_statement "plVar8[1] = 0;" (assignment_expression "plVar8[1] = 0" (subscript_expression "plVar8[1]" (identifier "plVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar8[2] = 0;" (assignment_expression "plVar8[2] = 0" (subscript_expression "plVar8[2]" (identifier "plVar8") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar8[3] = -1;" (assignment_expression "plVar8[3] = -1" (subscript_expression "plVar8[3]" (identifier "plVar8") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "*(byte *)(plVar8 + 4) = *(byte *)(plVar8 + 4) & 0xe0;" (assignment_expression "*(byte *)(plVar8 + 4) = *(byte *)(plVar8 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar8 + 4)" (* "*") (cast_expression "(byte *)(plVar8 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar8 + 4)" (( "(") (binary_expression "plVar8 + 4" (identifier "plVar8") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(byte *)(plVar8 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar8 + 4)" (* "*") (cast_expression "(byte *)(plVar8 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar8 + 4)" (( "(") (binary_expression "plVar8 + 4" (identifier "plVar8") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "0xe0"))) (; ";")) (expression_statement "*plVar8 = (long)&PTR_FUN_00653e00;" (assignment_expression "*plVar8 = (long)&PTR_FUN_00653e00" (pointer_expression "*plVar8" (* "*") (identifier "plVar8")) (= "=") (cast_expression "(long)&PTR_FUN_00653e00" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&PTR_FUN_00653e00" (& "&") (identifier "PTR_FUN_00653e00")))) (; ";")) (expression_statement "plVar8[6] = (long)(plVar8 + 0xc);" (assignment_expression "plVar8[6] = (long)(plVar8 + 0xc)" (subscript_expression "plVar8[6]" (identifier "plVar8") ([ "[") (number_literal "6") (] "]")) (= "=") (cast_expression "(long)(plVar8 + 0xc)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "(plVar8 + 0xc)" (( "(") (binary_expression "plVar8 + 0xc" (identifier "plVar8") (+ "+") (number_literal "0xc")) () ")")))) (; ";")) (expression_statement "*(undefined1 (*) [16])(plVar8 + 10) = (undefined1  [16])0x0;" (assignment_expression "*(undefined1 (*) [16])(plVar8 + 10) = (undefined1  [16])0x0" (pointer_expression "*(undefined1 (*) [16])(plVar8 + 10)" (* "*") (cast_expression "(undefined1 (*) [16])(plVar8 + 10)" (( "(") (type_descriptor "undefined1 (*) [16]" (type_identifier "undefined1") (abstract_array_declarator "(*) [16]" (abstract_parenthesized_declarator "(*)" (( "(") (abstract_pointer_declarator "*" (* "*")) () ")")) ([ "[") (number_literal "16") (] "]"))) () ")") (parenthesized_expression "(plVar8 + 10)" (( "(") (binary_expression "plVar8 + 10" (identifier "plVar8") (+ "+") (number_literal "10")) () ")")))) (= "=") (cast_expression "(undefined1  [16])0x0" (( "(") (type_descriptor "undefined1  [16]" (type_identifier "undefined1") (abstract_array_declarator "[16]" ([ "[") (number_literal "16") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "plVar8[5] = (long)plVar9;" (assignment_expression "plVar8[5] = (long)plVar9" (subscript_expression "plVar8[5]" (identifier "plVar8") ([ "[") (number_literal "5") (] "]")) (= "=") (cast_expression "(long)plVar9" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar9"))) (; ";")) (expression_statement "plVar8[0xc] = 0;" (assignment_expression "plVar8[0xc] = 0" (subscript_expression "plVar8[0xc]" (identifier "plVar8") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar8[7] = 1;" (assignment_expression "plVar8[7] = 1" (subscript_expression "plVar8[7]" (identifier "plVar8") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "plVar8[8] = 0;" (assignment_expression "plVar8[8] = 0" (subscript_expression "plVar8[8]" (identifier "plVar8") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar8[9] = 0;" (assignment_expression "plVar8[9] = 0" (subscript_expression "plVar8[9]" (identifier "plVar8") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(plVar8 + 10) = 0x3f800000;" (assignment_expression "*(undefined4 *)(plVar8 + 10) = 0x3f800000" (pointer_expression "*(undefined4 *)(plVar8 + 10)" (* "*") (cast_expression "(undefined4 *)(plVar8 + 10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar8 + 10)" (( "(") (binary_expression "plVar8 + 10" (identifier "plVar8") (+ "+") (number_literal "10")) () ")")))) (= "=") (number_literal "0x3f800000")) (; ";")) (expression_statement "plVar8[0xb] = 0;" (assignment_expression "plVar8[0xb] = 0" (subscript_expression "plVar8[0xb]" (identifier "plVar8") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar8[0xd] = 0;" (assignment_expression "plVar8[0xd] = 0" (subscript_expression "plVar8[0xd]" (identifier "plVar8") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar8[0xe] = 1;" (assignment_expression "plVar8[0xe] = 1" (subscript_expression "plVar8[0xe]" (identifier "plVar8") ([ "[") (number_literal "0xe") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(plVar8 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(plVar8 + 0x10) = 0" (pointer_expression "*(undefined4 *)(plVar8 + 0x10)" (* "*") (cast_expression "(undefined4 *)(plVar8 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar8 + 0x10)" (( "(") (binary_expression "plVar8 + 0x10" (identifier "plVar8") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar8[0x11] = 0;" (assignment_expression "plVar8[0x11] = 0" (subscript_expression "plVar8[0x11]" (identifier "plVar8") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar8[0x12] = (long)(plVar8 + 0x10);" (assignment_expression "plVar8[0x12] = (long)(plVar8 + 0x10)" (subscript_expression "plVar8[0x12]" (identifier "plVar8") ([ "[") (number_literal "0x12") (] "]")) (= "=") (cast_expression "(long)(plVar8 + 0x10)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "(plVar8 + 0x10)" (( "(") (binary_expression "plVar8 + 0x10" (identifier "plVar8") (+ "+") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "plVar8[0x13] = (long)(plVar8 + 0x10);" (assignment_expression "plVar8[0x13] = (long)(plVar8 + 0x10)" (subscript_expression "plVar8[0x13]" (identifier "plVar8") ([ "[") (number_literal "0x13") (] "]")) (= "=") (cast_expression "(long)(plVar8 + 0x10)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "(plVar8 + 0x10)" (( "(") (binary_expression "plVar8 + 0x10" (identifier "plVar8") (+ "+") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "plVar8[0x14] = 0;" (assignment_expression "plVar8[0x14] = 0" (subscript_expression "plVar8[0x14]" (identifier "plVar8") ([ "[") (number_literal "0x14") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar8[0x15] = 0;" (assignment_expression "plVar8[0x15] = 0" (subscript_expression "plVar8[0x15]" (identifier "plVar8") ([ "[") (number_literal "0x15") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar8[0x16] = 0;" (assignment_expression "plVar8[0x16] = 0" (subscript_expression "plVar8[0x16]" (identifier "plVar8") ([ "[") (number_literal "0x16") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar8[0x17] = 0;" (assignment_expression "plVar8[0x17] = 0" (subscript_expression "plVar8[0x17]" (identifier "plVar8") ([ "[") (number_literal "0x17") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar14 = (undefined8 *)FUN_0049cb70(0x78);" (assignment_expression "puVar14 = (undefined8 *)FUN_0049cb70(0x78)" (identifier "puVar14") (= "=") (cast_expression "(undefined8 *)FUN_0049cb70(0x78)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0049cb70(0x78)" (identifier "FUN_0049cb70") (argument_list "(0x78)" (( "(") (number_literal "0x78") () ")"))))) (; ";")) (expression_statement "puVar4 = puVar14 + 0xf;" (assignment_expression "puVar4 = puVar14 + 0xf" (identifier "puVar4") (= "=") (binary_expression "puVar14 + 0xf" (identifier "puVar14") (+ "+") (number_literal "0xf"))) (; ";")) (expression_statement "plVar8[0x15] = (long)puVar14;" (assignment_expression "plVar8[0x15] = (long)puVar14" (subscript_expression "plVar8[0x15]" (identifier "plVar8") ([ "[") (number_literal "0x15") (] "]")) (= "=") (cast_expression "(long)puVar14" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar14"))) (; ";")) (expression_statement "plVar8[0x17] = (long)puVar4;" (assignment_expression "plVar8[0x17] = (long)puVar4" (subscript_expression "plVar8[0x17]" (identifier "plVar8") ([ "[") (number_literal "0x17") (] "]")) (= "=") (cast_expression "(long)puVar4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar4"))) (; ";")) (do_statement "do {\n    *puVar14 = 0;\n    puVar14 = puVar14 + 1;\n  } while (puVar4 != puVar14);" (do "do") (compound_statement "{\n    *puVar14 = 0;\n    puVar14 = puVar14 + 1;\n  }" ({ "{") (expression_statement "*puVar14 = 0;" (assignment_expression "*puVar14 = 0" (pointer_expression "*puVar14" (* "*") (identifier "puVar14")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar14 = puVar14 + 1;" (assignment_expression "puVar14 = puVar14 + 1" (identifier "puVar14") (= "=") (binary_expression "puVar14 + 1" (identifier "puVar14") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar4 != puVar14)" (( "(") (binary_expression "puVar4 != puVar14" (identifier "puVar4") (!= "!=") (identifier "puVar14")) () ")")) (; ";")) (expression_statement "plVar8[0x16] = (long)puVar4;" (assignment_expression "plVar8[0x16] = (long)puVar4" (subscript_expression "plVar8[0x16]" (identifier "plVar8") ([ "[") (number_literal "0x16") (] "]")) (= "=") (cast_expression "(long)puVar4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar4"))) (; ";")) (expression_statement "puVar4 = *(undefined8 **)(param_5 + 0x90);" (assignment_expression "puVar4 = *(undefined8 **)(param_5 + 0x90)" (identifier "puVar4") (= "=") (pointer_expression "*(undefined8 **)(param_5 + 0x90)" (* "*") (cast_expression "(undefined8 **)(param_5 + 0x90)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_5 + 0x90)" (( "(") (binary_expression "param_5 + 0x90" (identifier "param_5") (+ "+") (number_literal "0x90")) () ")"))))) (; ";")) (expression_statement "plVar8[0x18] = 0;" (assignment_expression "plVar8[0x18] = 0" (subscript_expression "plVar8[0x18]" (identifier "plVar8") ([ "[") (number_literal "0x18") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar8[0x19] = 1;" (assignment_expression "plVar8[0x19] = 1" (subscript_expression "plVar8[0x19]" (identifier "plVar8") ([ "[") (number_literal "0x19") (] "]")) (= "=") (number_literal "1")) (; ";")) (if_statement "if (puVar4 != *(undefined8 **)(param_5 + 0x98)) {\n    *puVar4 = plVar8;\n    *(undefined8 **)(param_5 + 0x90) = puVar4 + 1;\n    goto LAB_00248512;\n  }" (if "if") (parenthesized_expression "(puVar4 != *(undefined8 **)(param_5 + 0x98))" (( "(") (binary_expression "puVar4 != *(undefined8 **)(param_5 + 0x98)" (identifier "puVar4") (!= "!=") (pointer_expression "*(undefined8 **)(param_5 + 0x98)" (* "*") (cast_expression "(undefined8 **)(param_5 + 0x98)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_5 + 0x98)" (( "(") (binary_expression "param_5 + 0x98" (identifier "param_5") (+ "+") (number_literal "0x98")) () ")"))))) () ")")) (compound_statement "{\n    *puVar4 = plVar8;\n    *(undefined8 **)(param_5 + 0x90) = puVar4 + 1;\n    goto LAB_00248512;\n  }" ({ "{") (expression_statement "*puVar4 = plVar8;" (assignment_expression "*puVar4 = plVar8" (pointer_expression "*puVar4" (* "*") (identifier "puVar4")) (= "=") (identifier "plVar8")) (; ";")) (expression_statement "*(undefined8 **)(param_5 + 0x90) = puVar4 + 1;" (assignment_expression "*(undefined8 **)(param_5 + 0x90) = puVar4 + 1" (pointer_expression "*(undefined8 **)(param_5 + 0x90)" (* "*") (cast_expression "(undefined8 **)(param_5 + 0x90)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_5 + 0x90)" (( "(") (binary_expression "param_5 + 0x90" (identifier "param_5") (+ "+") (number_literal "0x90")) () ")")))) (= "=") (binary_expression "puVar4 + 1" (identifier "puVar4") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_00248512;" (goto "goto") (statement_identifier "LAB_00248512") (; ";")) (} "}"))) (expression_statement "puVar14 = *(undefined8 **)(param_5 + 0x88);" (assignment_expression "puVar14 = *(undefined8 **)(param_5 + 0x88)" (identifier "puVar14") (= "=") (pointer_expression "*(undefined8 **)(param_5 + 0x88)" (* "*") (cast_expression "(undefined8 **)(param_5 + 0x88)" (( "(") (type_descriptor "undefined8 **" (type_identifier "undefined8") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_5 + 0x88)" (( "(") (binary_expression "param_5 + 0x88" (identifier "param_5") (+ "+") (number_literal "0x88")) () ")"))))) (; ";")) (expression_statement "__n = (long)puVar4 - (long)puVar14;" (assignment_expression "__n = (long)puVar4 - (long)puVar14" (identifier "__n") (= "=") (binary_expression "(long)puVar4 - (long)puVar14" (cast_expression "(long)puVar4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar4")) (- "-") (cast_expression "(long)puVar14" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "puVar14")))) (; ";")) (expression_statement "uVar10 = (long)__n >> 3;" (assignment_expression "uVar10 = (long)__n >> 3" (identifier "uVar10") (= "=") (binary_expression "(long)__n >> 3" (cast_expression "(long)__n" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "__n")) (>> ">>") (number_literal "3"))) (; ";")) (if_statement "if (uVar10 == 0) {\n    lVar7 = 8;\nLAB_002486a6:\n    pvVar11 = (void *)FUN_0049cb70(lVar7);\n    lVar7 = lVar7 + (long)pvVar11;\n  }\n  else {\n    uVar17 = uVar10 * 2;\n    lVar7 = -8;\n    if ((uVar17 < uVar10) || (0x1fffffffffffffff < uVar17)) goto LAB_002486a6;\n    if (uVar17 != 0) {\n      lVar7 = uVar10 << 4;\n      goto LAB_002486a6;\n    }\n    lVar7 = 0;\n    pvVar11 = (void *)0x0;\n  }" (if "if") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    lVar7 = 8;\nLAB_002486a6:\n    pvVar11 = (void *)FUN_0049cb70(lVar7);\n    lVar7 = lVar7 + (long)pvVar11;\n  }" ({ "{") (expression_statement "lVar7 = 8;" (assignment_expression "lVar7 = 8" (identifier "lVar7") (= "=") (number_literal "8")) (; ";")) (labeled_statement "LAB_002486a6:\n    pvVar11 = (void *)FUN_0049cb70(lVar7);" (statement_identifier "LAB_002486a6") (: ":") (expression_statement "pvVar11 = (void *)FUN_0049cb70(lVar7);" (assignment_expression "pvVar11 = (void *)FUN_0049cb70(lVar7)" (identifier "pvVar11") (= "=") (cast_expression "(void *)FUN_0049cb70(lVar7)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0049cb70(lVar7)" (identifier "FUN_0049cb70") (argument_list "(lVar7)" (( "(") (identifier "lVar7") () ")"))))) (; ";"))) (expression_statement "lVar7 = lVar7 + (long)pvVar11;" (assignment_expression "lVar7 = lVar7 + (long)pvVar11" (identifier "lVar7") (= "=") (binary_expression "lVar7 + (long)pvVar11" (identifier "lVar7") (+ "+") (cast_expression "(long)pvVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pvVar11")))) (; ";")) (} "}")) (else_clause "else {\n    uVar17 = uVar10 * 2;\n    lVar7 = -8;\n    if ((uVar17 < uVar10) || (0x1fffffffffffffff < uVar17)) goto LAB_002486a6;\n    if (uVar17 != 0) {\n      lVar7 = uVar10 << 4;\n      goto LAB_002486a6;\n    }\n    lVar7 = 0;\n    pvVar11 = (void *)0x0;\n  }" (else "else") (compound_statement "{\n    uVar17 = uVar10 * 2;\n    lVar7 = -8;\n    if ((uVar17 < uVar10) || (0x1fffffffffffffff < uVar17)) goto LAB_002486a6;\n    if (uVar17 != 0) {\n      lVar7 = uVar10 << 4;\n      goto LAB_002486a6;\n    }\n    lVar7 = 0;\n    pvVar11 = (void *)0x0;\n  }" ({ "{") (expression_statement "uVar17 = uVar10 * 2;" (assignment_expression "uVar17 = uVar10 * 2" (identifier "uVar17") (= "=") (binary_expression "uVar10 * 2" (identifier "uVar10") (* "*") (number_literal "2"))) (; ";")) (expression_statement "lVar7 = -8;" (assignment_expression "lVar7 = -8" (identifier "lVar7") (= "=") (number_literal "-8")) (; ";")) (if_statement "if ((uVar17 < uVar10) || (0x1fffffffffffffff < uVar17)) goto LAB_002486a6;" (if "if") (parenthesized_expression "((uVar17 < uVar10) || (0x1fffffffffffffff < uVar17))" (( "(") (binary_expression "(uVar17 < uVar10) || (0x1fffffffffffffff < uVar17)" (parenthesized_expression "(uVar17 < uVar10)" (( "(") (binary_expression "uVar17 < uVar10" (identifier "uVar17") (< "<") (identifier "uVar10")) () ")")) (|| "||") (parenthesized_expression "(0x1fffffffffffffff < uVar17)" (( "(") (binary_expression "0x1fffffffffffffff < uVar17" (number_literal "0x1fffffffffffffff") (< "<") (identifier "uVar17")) () ")"))) () ")")) (goto_statement "goto LAB_002486a6;" (goto "goto") (statement_identifier "LAB_002486a6") (; ";"))) (if_statement "if (uVar17 != 0) {\n      lVar7 = uVar10 << 4;\n      goto LAB_002486a6;\n    }" (if "if") (parenthesized_expression "(uVar17 != 0)" (( "(") (binary_expression "uVar17 != 0" (identifier "uVar17") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      lVar7 = uVar10 << 4;\n      goto LAB_002486a6;\n    }" ({ "{") (expression_statement "lVar7 = uVar10 << 4;" (assignment_expression "lVar7 = uVar10 << 4" (identifier "lVar7") (= "=") (binary_expression "uVar10 << 4" (identifier "uVar10") (<< "<<") (number_literal "4"))) (; ";")) (goto_statement "goto LAB_002486a6;" (goto "goto") (statement_identifier "LAB_002486a6") (; ";")) (} "}"))) (expression_statement "lVar7 = 0;" (assignment_expression "lVar7 = 0" (identifier "lVar7") (= "=") (number_literal "0")) (; ";")) (expression_statement "pvVar11 = (void *)0x0;" (assignment_expression "pvVar11 = (void *)0x0" (identifier "pvVar11") (= "=") (cast_expression "(void *)0x0" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (expression_statement "*(long **)((long)pvVar11 + __n) = plVar8;" (assignment_expression "*(long **)((long)pvVar11 + __n) = plVar8" (pointer_expression "*(long **)((long)pvVar11 + __n)" (* "*") (cast_expression "(long **)((long)pvVar11 + __n)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((long)pvVar11 + __n)" (( "(") (binary_expression "(long)pvVar11 + __n" (cast_expression "(long)pvVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pvVar11")) (+ "+") (identifier "__n")) () ")")))) (= "=") (identifier "plVar8")) (; ";")) (if_statement "if (puVar4 == puVar14) {\n    if (puVar14 != (undefined8 *)0x0) goto LAB_002486f4;\n  }\n  else {\n    memmove(pvVar11,puVar14,__n);\nLAB_002486f4:\n    FUN_0049e340(puVar14);\n  }" (if "if") (parenthesized_expression "(puVar4 == puVar14)" (( "(") (binary_expression "puVar4 == puVar14" (identifier "puVar4") (== "==") (identifier "puVar14")) () ")")) (compound_statement "{\n    if (puVar14 != (undefined8 *)0x0) goto LAB_002486f4;\n  }" ({ "{") (if_statement "if (puVar14 != (undefined8 *)0x0) goto LAB_002486f4;" (if "if") (parenthesized_expression "(puVar14 != (undefined8 *)0x0)" (( "(") (binary_expression "puVar14 != (undefined8 *)0x0" (identifier "puVar14") (!= "!=") (cast_expression "(undefined8 *)0x0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_002486f4;" (goto "goto") (statement_identifier "LAB_002486f4") (; ";"))) (} "}")) (else_clause "else {\n    memmove(pvVar11,puVar14,__n);\nLAB_002486f4:\n    FUN_0049e340(puVar14);\n  }" (else "else") (compound_statement "{\n    memmove(pvVar11,puVar14,__n);\nLAB_002486f4:\n    FUN_0049e340(puVar14);\n  }" ({ "{") (expression_statement "memmove(pvVar11,puVar14,__n);" (call_expression "memmove(pvVar11,puVar14,__n)" (identifier "memmove") (argument_list "(pvVar11,puVar14,__n)" (( "(") (identifier "pvVar11") (, ",") (identifier "puVar14") (, ",") (identifier "__n") () ")"))) (; ";")) (labeled_statement "LAB_002486f4:\n    FUN_0049e340(puVar14);" (statement_identifier "LAB_002486f4") (: ":") (expression_statement "FUN_0049e340(puVar14);" (call_expression "FUN_0049e340(puVar14)" (identifier "FUN_0049e340") (argument_list "(puVar14)" (( "(") (identifier "puVar14") () ")"))) (; ";"))) (} "}")))) (expression_statement "*(void **)(param_5 + 0x88) = pvVar11;" (assignment_expression "*(void **)(param_5 + 0x88) = pvVar11" (pointer_expression "*(void **)(param_5 + 0x88)" (* "*") (cast_expression "(void **)(param_5 + 0x88)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_5 + 0x88)" (( "(") (binary_expression "param_5 + 0x88" (identifier "param_5") (+ "+") (number_literal "0x88")) () ")")))) (= "=") (identifier "pvVar11")) (; ";")) (expression_statement "*(long *)(param_5 + 0x98) = lVar7;" (assignment_expression "*(long *)(param_5 + 0x98) = lVar7" (pointer_expression "*(long *)(param_5 + 0x98)" (* "*") (cast_expression "(long *)(param_5 + 0x98)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0x98)" (( "(") (binary_expression "param_5 + 0x98" (identifier "param_5") (+ "+") (number_literal "0x98")) () ")")))) (= "=") (identifier "lVar7")) (; ";")) (expression_statement "*(size_t *)(param_5 + 0x90) = (long)pvVar11 + __n + 8;" (assignment_expression "*(size_t *)(param_5 + 0x90) = (long)pvVar11 + __n + 8" (pointer_expression "*(size_t *)(param_5 + 0x90)" (* "*") (cast_expression "(size_t *)(param_5 + 0x90)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0x90)" (( "(") (binary_expression "param_5 + 0x90" (identifier "param_5") (+ "+") (number_literal "0x90")) () ")")))) (= "=") (binary_expression "(long)pvVar11 + __n + 8" (binary_expression "(long)pvVar11 + __n" (cast_expression "(long)pvVar11" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "pvVar11")) (+ "+") (identifier "__n")) (+ "+") (number_literal "8"))) (; ";")) (labeled_statement "LAB_00248512:\n  if ((*(byte *)(plVar9 + 4) & 1) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xc5,"address");\n  }" (statement_identifier "LAB_00248512") (: ":") (if_statement "if ((*(byte *)(plVar9 + 4) & 1) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xc5,"address");\n  }" (if "if") (parenthesized_expression "((*(byte *)(plVar9 + 4) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(plVar9 + 4) & 1) == 0" (parenthesized_expression "(*(byte *)(plVar9 + 4) & 1)" (( "(") (binary_expression "*(byte *)(plVar9 + 4) & 1" (pointer_expression "*(byte *)(plVar9 + 4)" (* "*") (cast_expression "(byte *)(plVar9 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar9 + 4)" (( "(") (binary_expression "plVar9 + 4" (identifier "plVar9") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_00352af0("../../gold/output.h",0xc5,"address");\n  }" ({ "{") (expression_statement "FUN_00352af0("../../gold/output.h",0xc5,"address");" (call_expression "FUN_00352af0("../../gold/output.h",0xc5,"address")" (identifier "FUN_00352af0") (argument_list "("../../gold/output.h",0xc5,"address")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xc5") (, ",") (string_literal ""address"" (" """) (string_content "address") (" """)) () ")"))) (; ";")) (} "}")))) (if_statement "if ((*(byte *)(plVar9 + 4) & 2) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n  }" (if "if") (parenthesized_expression "((*(byte *)(plVar9 + 4) & 2) == 0)" (( "(") (binary_expression "(*(byte *)(plVar9 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar9 + 4) & 2)" (( "(") (binary_expression "*(byte *)(plVar9 + 4) & 2" (pointer_expression "*(byte *)(plVar9 + 4)" (* "*") (cast_expression "(byte *)(plVar9 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar9 + 4)" (( "(") (binary_expression "plVar9 + 4" (identifier "plVar9") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_00352af0("../../gold/output.h",0xcf,"data_size");\n  }" ({ "{") (expression_statement "FUN_00352af0("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_00352af0("../../gold/output.h",0xcf,"data_size")" (identifier "FUN_00352af0") (argument_list "("../../gold/output.h",0xcf,"data_size")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xcf") (, ",") (string_literal ""data_size"" (" """) (string_content "data_size") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "lVar7 = plVar9[2];" (assignment_expression "lVar7 = plVar9[2]" (identifier "lVar7") (= "=") (subscript_expression "plVar9[2]" (identifier "plVar9") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "bVar2 = *(byte *)(plVar8 + 4);" (assignment_expression "bVar2 = *(byte *)(plVar8 + 4)" (identifier "bVar2") (= "=") (pointer_expression "*(byte *)(plVar8 + 4)" (* "*") (cast_expression "(byte *)(plVar8 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar8 + 4)" (( "(") (binary_expression "plVar8 + 4" (identifier "plVar8") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (if_statement "if ((bVar2 & 1) != 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0x142,"set_address");\n  }" (if "if") (parenthesized_expression "((bVar2 & 1) != 0)" (( "(") (binary_expression "(bVar2 & 1) != 0" (parenthesized_expression "(bVar2 & 1)" (( "(") (binary_expression "bVar2 & 1" (identifier "bVar2") (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_00352af0("../../gold/output.h",0x142,"set_address");\n  }" ({ "{") (expression_statement "FUN_00352af0("../../gold/output.h",0x142,"set_address");" (call_expression "FUN_00352af0("../../gold/output.h",0x142,"set_address")" (identifier "FUN_00352af0") (argument_list "("../../gold/output.h",0x142,"set_address")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0x142") (, ",") (string_literal ""set_address"" (" """) (string_content "set_address") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "plVar8[1] = plVar9[1] + lVar7;" (assignment_expression "plVar8[1] = plVar9[1] + lVar7" (subscript_expression "plVar8[1]" (identifier "plVar8") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "plVar9[1] + lVar7" (subscript_expression "plVar9[1]" (identifier "plVar9") ([ "[") (number_literal "1") (] "]")) (+ "+") (identifier "lVar7"))) (; ";")) (expression_statement "*(byte *)(plVar8 + 4) = bVar2 | 1;" (assignment_expression "*(byte *)(plVar8 + 4) = bVar2 | 1" (pointer_expression "*(byte *)(plVar8 + 4)" (* "*") (cast_expression "(byte *)(plVar8 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar8 + 4)" (( "(") (binary_expression "plVar8 + 4" (identifier "plVar8") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "bVar2 | 1" (identifier "bVar2") (| "|") (number_literal "1"))) (; ";")) (if_statement "if ((*(byte *)(plVar9 + 4) & 4) == 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\n  }" (if "if") (parenthesized_expression "((*(byte *)(plVar9 + 4) & 4) == 0)" (( "(") (binary_expression "(*(byte *)(plVar9 + 4) & 4) == 0" (parenthesized_expression "(*(byte *)(plVar9 + 4) & 4)" (( "(") (binary_expression "*(byte *)(plVar9 + 4) & 4" (pointer_expression "*(byte *)(plVar9 + 4)" (* "*") (cast_expression "(byte *)(plVar9 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar9 + 4)" (( "(") (binary_expression "plVar9 + 4" (identifier "plVar9") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_00352af0("../../gold/output.h",0xe3,"offset");\n  }" ({ "{") (expression_statement "FUN_00352af0("../../gold/output.h",0xe3,"offset");" (call_expression "FUN_00352af0("../../gold/output.h",0xe3,"offset")" (identifier "FUN_00352af0") (argument_list "("../../gold/output.h",0xe3,"offset")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xe3") (, ",") (string_literal ""offset"" (" """) (string_content "offset") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if ((bVar2 & 4) != 0) {\n                    \n    FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n  }" (if "if") (parenthesized_expression "((bVar2 & 4) != 0)" (( "(") (binary_expression "(bVar2 & 4) != 0" (parenthesized_expression "(bVar2 & 4)" (( "(") (binary_expression "bVar2 & 4" (identifier "bVar2") (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");\n  }" ({ "{") (expression_statement "FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");" (call_expression "FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset")" (identifier "FUN_00352af0") (argument_list "("../../gold/output.h",0x14b,"set_file_offset")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0x14b") (, ",") (string_literal ""set_file_offset"" (" """) (string_content "set_file_offset") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "plVar8[3] = lVar7 + plVar9[3];" (assignment_expression "plVar8[3] = lVar7 + plVar9[3]" (subscript_expression "plVar8[3]" (identifier "plVar8") ([ "[") (number_literal "3") (] "]")) (= "=") (binary_expression "lVar7 + plVar9[3]" (identifier "lVar7") (+ "+") (subscript_expression "plVar9[3]" (identifier "plVar9") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "*(byte *)(plVar8 + 4) = bVar2 | 5;" (assignment_expression "*(byte *)(plVar8 + 4) = bVar2 | 5" (pointer_expression "*(byte *)(plVar8 + 4)" (* "*") (cast_expression "(byte *)(plVar8 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar8 + 4)" (( "(") (binary_expression "plVar8 + 4" (identifier "plVar8") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "bVar2 | 5" (identifier "bVar2") (| "|") (number_literal "5"))) (; ";")) (if_statement "if (((bVar2 & 2) == 0) &&\n     ((**(code **)(*plVar8 + 0x70))(plVar8), (*(byte *)(plVar8 + 4) & 2) == 0)) {\n                    \n    FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n  }" (if "if") (parenthesized_expression "(((bVar2 & 2) == 0) &&\n     ((**(code **)(*plVar8 + 0x70))(plVar8), (*(byte *)(plVar8 + 4) & 2) == 0))" (( "(") (binary_expression "((bVar2 & 2) == 0) &&\n     ((**(code **)(*plVar8 + 0x70))(plVar8), (*(byte *)(plVar8 + 4) & 2) == 0)" (parenthesized_expression "((bVar2 & 2) == 0)" (( "(") (binary_expression "(bVar2 & 2) == 0" (parenthesized_expression "(bVar2 & 2)" (( "(") (binary_expression "bVar2 & 2" (identifier "bVar2") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((**(code **)(*plVar8 + 0x70))(plVar8), (*(byte *)(plVar8 + 4) & 2) == 0)" (( "(") (comma_expression "(**(code **)(*plVar8 + 0x70))(plVar8), (*(byte *)(plVar8 + 4) & 2) == 0" (call_expression "(**(code **)(*plVar8 + 0x70))(plVar8)" (parenthesized_expression "(**(code **)(*plVar8 + 0x70))" (( "(") (pointer_expression "**(code **)(*plVar8 + 0x70)" (* "*") (pointer_expression "*(code **)(*plVar8 + 0x70)" (* "*") (cast_expression "(code **)(*plVar8 + 0x70)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar8 + 0x70)" (( "(") (binary_expression "*plVar8 + 0x70" (pointer_expression "*plVar8" (* "*") (identifier "plVar8")) (+ "+") (number_literal "0x70")) () ")"))))) () ")")) (argument_list "(plVar8)" (( "(") (identifier "plVar8") () ")"))) (, ",") (binary_expression "(*(byte *)(plVar8 + 4) & 2) == 0" (parenthesized_expression "(*(byte *)(plVar8 + 4) & 2)" (( "(") (binary_expression "*(byte *)(plVar8 + 4) & 2" (pointer_expression "*(byte *)(plVar8 + 4)" (* "*") (cast_expression "(byte *)(plVar8 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar8 + 4)" (( "(") (binary_expression "plVar8 + 4" (identifier "plVar8") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                    \n    FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");\n  }" ({ "{") (expression_statement "FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");" (call_expression "FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size")" (identifier "FUN_00352af0") (argument_list "("../../gold/output.h",0x163,"finalize_data_size")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0x163") (, ",") (string_literal ""finalize_data_size"" (" """) (string_content "finalize_data_size") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "plVar9[10] = (long)plVar8;" (assignment_expression "plVar9[10] = (long)plVar8" (subscript_expression "plVar9[10]" (identifier "plVar9") ([ "[") (number_literal "10") (] "]")) (= "=") (cast_expression "(long)plVar8" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar8"))) (; ";")) (do_statement "do {\n    if (2 < *param_2 + 3U) {\n      lVar7 = FUN_003c9a60(param_2);\n      uVar6 = FUN_003c9ae0(param_2);\n      if ((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6) {\n                    \n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      *(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8;\n    }\n    bVar18 = param_3 != param_2;\n    param_2 = param_2 + 8;\n  } while (bVar18);" (do "do") (compound_statement "{\n    if (2 < *param_2 + 3U) {\n      lVar7 = FUN_003c9a60(param_2);\n      uVar6 = FUN_003c9ae0(param_2);\n      if ((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6) {\n                    \n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      *(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8;\n    }\n    bVar18 = param_3 != param_2;\n    param_2 = param_2 + 8;\n  }" ({ "{") (if_statement "if (2 < *param_2 + 3U) {\n      lVar7 = FUN_003c9a60(param_2);\n      uVar6 = FUN_003c9ae0(param_2);\n      if ((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6) {\n                    \n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      *(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8;\n    }" (if "if") (parenthesized_expression "(2 < *param_2 + 3U)" (( "(") (binary_expression "2 < *param_2 + 3U" (number_literal "2") (< "<") (binary_expression "*param_2 + 3U" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (+ "+") (number_literal "3U"))) () ")")) (compound_statement "{\n      lVar7 = FUN_003c9a60(param_2);\n      uVar6 = FUN_003c9ae0(param_2);\n      if ((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6) {\n                    \n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }\n      *(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8;\n    }" ({ "{") (expression_statement "lVar7 = FUN_003c9a60(param_2);" (assignment_expression "lVar7 = FUN_003c9a60(param_2)" (identifier "lVar7") (= "=") (call_expression "FUN_003c9a60(param_2)" (identifier "FUN_003c9a60") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "uVar6 = FUN_003c9ae0(param_2);" (assignment_expression "uVar6 = FUN_003c9ae0(param_2)" (identifier "uVar6") (= "=") (call_expression "FUN_003c9ae0(param_2)" (identifier "FUN_003c9ae0") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (if_statement "if ((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6) {\n                    \n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }" (if "if") (parenthesized_expression "((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6)" (( "(") (binary_expression "(ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6" (call_expression "(ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3)" (( "(") (binary_expression "*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3" (binary_expression "*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220)" (pointer_expression "*(long *)(lVar7 + 0x228)" (* "*") (cast_expression "(long *)(lVar7 + 0x228)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar7 + 0x228)" (( "(") (binary_expression "lVar7 + 0x228" (identifier "lVar7") (+ "+") (number_literal "0x228")) () ")")))) (- "-") (pointer_expression "*(long *)(lVar7 + 0x220)" (* "*") (cast_expression "(long *)(lVar7 + 0x220)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar7 + 0x220)" (( "(") (binary_expression "lVar7 + 0x220" (identifier "lVar7") (+ "+") (number_literal "0x220")) () ")"))))) (>> ">>") (number_literal "3")) () ")"))) (<= "<=") (cast_expression "(ulong)uVar6" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar6"))) () ")")) (compound_statement "{\n                    \n        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");\n      }" ({ "{") (expression_statement "FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");" (call_expression "FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table")" (identifier "FUN_00352af0") (argument_list "("../../gold/arm.cc",0x5ef,"set_stub_table")" (( "(") (string_literal ""../../gold/arm.cc"" (" """) (string_content "../../gold/arm.cc") (" """)) (, ",") (number_literal "0x5ef") (, ",") (string_literal ""set_stub_table"" (" """) (string_content "set_stub_table") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "*(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8;" (assignment_expression "*(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8" (pointer_expression "*(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8)" (* "*") (cast_expression "(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8)" (( "(") (binary_expression "*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8" (pointer_expression "*(long *)(lVar7 + 0x220)" (* "*") (cast_expression "(long *)(lVar7 + 0x220)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar7 + 0x220)" (( "(") (binary_expression "lVar7 + 0x220" (identifier "lVar7") (+ "+") (number_literal "0x220")) () ")")))) (+ "+") (binary_expression "(ulong)uVar6 * 8" (cast_expression "(ulong)uVar6" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar6")) (* "*") (number_literal "8"))) () ")")))) (= "=") (identifier "plVar8")) (; ";")) (} "}"))) (expression_statement "bVar18 = param_3 != param_2;" (assignment_expression "bVar18 = param_3 != param_2" (identifier "bVar18") (= "=") (binary_expression "param_3 != param_2" (identifier "param_3") (!= "!=") (identifier "param_2"))) (; ";")) (expression_statement "param_2 = param_2 + 8;" (assignment_expression "param_2 = param_2 + 8" (identifier "param_2") (= "=") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar18)" (( "(") (identifier "bVar18") () ")")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Struct "Arm_input_section<false>": ignoring overlapping field "original_addralign_" */
/* WARNING: Enum "<anon>": Some values do not have unique names */
/* DWARF original prototype: void create_stub_group(Arm_output_section<false> * this, const_iterator
   begin, const_iterator end, const_iterator owner, Target_arm<false> * target,
   vector<gold::Output_relaxed_input_section*,_std::allocator<gold::Output_relaxed_input_section*>_>
   * new_relaxed_sections, Task * task) */

void __thiscall
anon_unknown.dwarf_9b9b16::type_1<false>::function_1
          (type_1<false> *this,type_2 begin,type_2 end,
          type_2 owner,type_3<false> *target,
          type_4<var_10::var_41*,type_5::allocator<var_10::var_41*>var_3>
          *new_relaxed_sections,type_6 *task)

{
  type_7 *pbVar1;
  type_8 *puVar2;
  type_9 var_44;
  type_10 *psVar4;
  type_11 *p_Var5;
  type_7 var_17;
  type_12 *var_6;
  type_13 *var_37;
  type_14 *var_38;
  type_9 var_45;
  type_10 var_50;
  type_9 var_48;
  type_15 var_46;
  char var_27;
  type_16 uVar14;
  type_16 uVar15;
  int iVar16;
  int iVar17;
  type_17 *pRVar18;
  type_17 *this_00;
  type_17 *pRVar19;
  type_18 extraout_var;
  type_19 *__src_00;
  type_18 extraout_var_00;
  type_9 var_13;
  type_18 extraout_var_01;
  type_13 *var_23;
  type_20 *var_24;
  type_14 *var_35;
  var_1<false> *pSVar24;
  type_9 var_43;
  type_15 var_19;
  type_9 __dest;
  type_21 *var_16;
  type_13 *var_34;
  type_22 **pp_Var29;
  var_29<var_30::allocator<var_30::__detail::_Hash_node<var_30::pair<var_31::pair<var_10::type_17*,var_32>,var_3(anonymous_namespace)::var_2<true>*>,var_21>var_3>var_3>
  *var_28;
  type_15 var_36;
  size_t var_47;
  type_13 *var_40;
  type_9 ppSVar32;
  bool bVar33;
  type_15 var_39;
  type_23 section_size;
  type_17 *local_58;
  type_16 uStack_50;
  type_18 uStack_4c;
  type_18 extraout_var_02;
  
  if ((this->super_Output_section).type_ == 0x70000001) {
                    /* WARNING: Subroutine does not return */
    gold::var_4("../../gold/arm.cc",0x1680,"create_stub_group");
  }
  if ((owner._M_current)->shndx_ == 0xfffffffc) {
    pRVar19 = ((owner._M_current)->u2_).object;
  }
  else {
    if (0xfffffffb < (owner._M_current)->shndx_) {
                    /* WARNING: Subroutine does not return */
      gold::var_4("../../gold/arm.cc",0x1690,"create_stub_group");
    }
    pRVar18 = var_10::Output_section::Input_section::var_5(owner._M_current);
    var_6 = (pRVar18->super_Object).input_file_;
    if (var_6 != (type_12 *)0x0) {
      gold::File_read::var_7(&var_6->file_,task);
    }
                    /* try { // try from 0024804a to 002482c6 has its CatchHandler @ 002489ce */
    uVar14 = var_10::Output_section::Input_section::var_8(owner._M_current);
    this_00 = var_10::Output_section::Input_section::var_5(owner._M_current);
    pRVar19 = (type_17 *)var_9(0x60);
    pbVar1 = (type_7 *)((pRVar19->super_Object).name_.field_2._M_local_buf + 8);
    *pbVar1 = *pbVar1 & 0xe0;
    (pRVar19->super_Object).name_._M_dataplus._M_p = (type_9)0x0;
    (pRVar19->super_Object).name_._M_string_length = 0;
    (pRVar19->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;
    (pRVar19->super_Object).input_file_ = (type_12 *)0x0;
    (pRVar19->super_Object).offset_ = 1;
    *(type_17 **)&(pRVar19->super_Object).shnum_ = this_00;
    *(type_16 *)&(pRVar19->super_Object).xindex_ = uVar14;
    (((type_24 *)&(pRVar19->super_Object)._vptr_Object)->super_Output_section_data
    ).super_Output_data._vptr_Output_data = (type_22 **)&PTR__Arm_input_section_006670c0;
    pp_Var29 = (this_00->super_Object)._vptr_Object;
    *(type_25 *)((long)&(pRVar19->super_Object).xindex_ + 4) = 1;
    (pRVar19->output_sections_).
    super__Vector_base<var_10::type_21*,type_5::allocator<var_10::type_21*>var_3>._M_impl.
    _M_start = (type_9)0x0;
    (pRVar19->output_sections_).
    super__Vector_base<var_10::type_21*,type_5::allocator<var_10::type_21*>var_3>._M_impl.
    _M_finish = (type_9)0x0;
    uVar15 = (*pp_Var29[0x17])(this_00,(type_15)uVar14);
    if (var_11(extraout_var,uVar15) != (type_15)uVar15) {
                    /* WARNING: Subroutine does not return */
      gold::var_4("../../gold/gold.h",0xc0,"convert_types");
    }
    *(type_16 *)((long)&(pRVar19->super_Object).xindex_ + 4) = uVar15;
    __src_00 = var_10::Object::var_12(&this_00->super_Object,uVar14,&section_size,false);
    uVar15 = (*(this_00->super_Object)._vptr_Object[0xf])(this_00,(type_15)uVar14);
    if (var_11(extraout_var_00,uVar15) != (type_15)uVar15) {
                    /* WARNING: Subroutine does not return */
      gold::var_4("../../gold/gold.h",0xc0,"convert_types");
    }
    var_13 = (pRVar19->output_sections_).
               super__Vector_base<var_10::type_21*,type_5::allocator<var_10::type_21*>var_3>.
               _M_impl._M_finish;
    *(type_16 *)&(pRVar19->super_Object).compressed_sections_ = uVar15;
    if (var_13 != (type_9)0x0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002488e0 to 002489b0 has its CatchHandler @ 002489ce */
      gold::var_4("../../gold/arm.cc",0x14bf,"init");
    }
    var_13 = (type_9)var_14(section_size);
    (pRVar19->output_sections_).
    super__Vector_base<var_10::type_21*,type_5::allocator<var_10::type_21*>var_3>._M_impl.
    _M_finish = var_13;
    var_15(var_13,__src_00,section_size);
    pp_Var29 = (this_00->super_Object)._vptr_Object;
    if (pp_Var29[0x18] == var_10::type_17::do_output_section) {
      var_13 = (this_00->output_sections_).
                 super__Vector_base<var_10::type_21*,type_5::allocator<var_10::type_21*>var_3>.
                 _M_impl._M_start;
      if ((type_15)((long)(this_00->output_sections_).
                        super__Vector_base<var_10::type_21*,type_5::allocator<var_10::type_21*>var_3>
                        ._M_impl._M_finish - (long)var_13 >> 3) <= (type_15)uVar14) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00248868 to 0024886c has its CatchHandler @ 002489ce */
        gold::var_4("../../gold/object.h",0x5c8,"do_output_section");
      }
      var_16 = var_13[uVar14];
    }
    else {
                    /* try { // try from 00248736 to 00248737 has its CatchHandler @ 002489ce */
      iVar16 = (*pp_Var29[0x18])(this_00,(type_15)uVar14);
      var_16 = (type_21 *)var_11(extraout_var_02,iVar16);
      pp_Var29 = (this_00->super_Object)._vptr_Object;
    }
    iVar16 = (*pp_Var29[0x1a])(this_00,(type_15)uVar14);
    if ((var_16 == (type_21 *)0x0) ||
       (iVar17 = (*(this_00->super_Object)._vptr_Object[0x22])(this_00,(type_15)uVar14),
       (char)iVar17 != '\0')) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00248808 to 0024880c has its CatchHandler @ 002489ce */
      gold::var_4("../../gold/arm.cc",0x14c7,"init");
    }
    if (((var_16->super_Output_data).field_0x20 & 1) == 0) {
                    /* WARNING: Subroutine does not return */
      gold::var_4("../../gold/output.h",0xc5,"address");
    }
    var_17 = (pRVar19->super_Object).name_.field_2._M_local_buf[8];
    if ((var_17 & 1) != 0) {
                    /* WARNING: Subroutine does not return */
      gold::var_4("../../gold/output.h",0x142,"set_address");
    }
    (pRVar19->super_Object).name_._M_dataplus._M_p =
         (type_9)((var_16->super_Output_data).address_ + var_11(extraout_var_01,iVar16));
    (pRVar19->super_Object).name_.field_2._M_local_buf[8] = var_17 | 1;
    if (((var_16->super_Output_data).field_0x20 & 4) == 0) {
                    /* WARNING: Subroutine does not return */
      gold::var_4("../../gold/output.h",0xe3,"offset");
    }
    if ((var_17 & 4) != 0) {
                    /* WARNING: Subroutine does not return */
      gold::var_4("../../gold/output.h",0x14b,"set_file_offset");
    }
    (pRVar19->super_Object).name_.field_2._M_allocated_capacity =
         var_11(extraout_var_01,iVar16) + (var_16->super_Output_data).offset_;
    uVar15 = *(type_16 *)&(pRVar19->super_Object).compressed_sections_;
    (pRVar19->super_Object).name_.field_2._M_local_buf[8] = var_17 | 5;
    if ((var_17 & 2) != 0) {
                    /* WARNING: Subroutine does not return */
      gold::var_4("../../gold/output.h",0x231,"set_current_data_size_for_child");
    }
    (pRVar19->super_Object).name_._M_string_length = (type_15)uVar15;
    var_2<false>::var_18((var_2<false> *)pRVar19);
    if (((pRVar19->super_Object).name_.field_2._M_local_buf[8] & 2U) == 0) {
                    /* WARNING: Subroutine does not return */
      gold::var_4("../../gold/output.h",0x163,"finalize_data_size");
    }
    var_23 = (type_13 *)var_9(0x28);
    var_23->_M_nxt = (type_13 *)0x0;
    var_19 = (target->arm_input_section_map_)._M_h._M_bucket_count;
    var_23[1]._M_nxt = (type_13 *)this_00;
    var_23[2]._M_nxt = (type_13 *)var_11(uStack_4c,uVar14);
    var_23[3]._M_nxt = (type_13 *)pRVar19;
    var_40 = (type_13 *)((type_15)this_00 ^ (type_15)*(type_16 *)&var_23[2]._M_nxt);
    var_39 = (type_15)var_40 % var_19;
    local_58 = this_00;
    uStack_50 = uVar14;
    var_24 = var_30::
              _Hashtable<var_30::pair<var_10::type_17*,var_32>,type_5::pair<var_31::pair<var_10::type_17*,var_32>,var_3(anonymous_namespace)::var_2<false>*>,type_5::allocator<var_30::pair<var_31::pair<var_10::type_17*,var_32>,var_3(anonymous_namespace)::var_2<false>*>var_3>,type_5::__detail::_Select1st,type_5::equal_to<var_30::pair<var_10::type_17*,var_32>var_3>,_gold::Section_id_hash,type_5::__detail::_Mod_range_hashing,type_5::__detail::_Default_ranged_hash,type_5::__detail::_Prime_rehash_policy,type_5::__detail::var_20<true,_false,var_21>var_3>
              ::var_22
                        ((_Hashtable<var_30::pair<var_10::type_17*,var_32>,type_5::pair<var_31::pair<var_10::type_17*,var_32>,var_3(anonymous_namespace)::var_2<false>*>,type_5::allocator<var_30::pair<var_31::pair<var_10::type_17*,var_32>,var_3(anonymous_namespace)::var_2<false>*>var_3>,type_5::__detail::_Select1st,type_5::equal_to<var_30::pair<var_10::type_17*,var_32>var_3>,_gold::Section_id_hash,type_5::__detail::_Mod_range_hashing,type_5::__detail::_Default_ranged_hash,type_5::__detail::_Prime_rehash_policy,type_5::__detail::var_20<true,_false,var_21>var_3>
                          *)&target->arm_input_section_map_,var_39,(type_26 *)(var_23 + 1),
                         (type_27)var_40);
    if ((var_24 != (type_20 *)0x0) && (var_24->_M_nxt != (type_13 *)0x0)) {
      var_25(var_23);
                    /* WARNING: Subroutine does not return */
      gold::var_4("../../gold/arm.cc",0x2e50,"new_arm_input_section");
    }
    var_27 = var_30::__detail::_Prime_rehash_policy::var_26
                       (&(target->arm_input_section_map_)._M_h._M_rehash_policy,var_19,
                        (target->arm_input_section_map_)._M_h._M_element_count,1);
    if (var_27 == '\0') {
      var_35 = (target->arm_input_section_map_)._M_h._M_buckets;
    }
    else {
      if (var_28 ==
          (var_29<var_30::allocator<var_30::__detail::_Hash_node<var_30::pair<var_31::pair<var_10::type_17*,var_32>,var_3(anonymous_namespace)::var_2<true>*>,var_21>var_3>var_3>
           *)0x1) {
        var_35 = &(target->arm_input_section_map_)._M_h._M_single_bucket;
        (target->arm_input_section_map_)._M_h._M_single_bucket = (type_14)0x0;
      }
      else {
                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */
        var_35 = var_30::__detail::
                   var_29<var_30::allocator<var_30::__detail::_Hash_node<var_30::pair<var_31::pair<var_10::type_17*,var_32>,var_3(anonymous_namespace)::var_2<true>*>,var_21>var_3>var_3>
                   ::var_33(var_28,var_19);
      }
      var_34 = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;
      (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = (type_13 *)0x0;
      if (var_34 != (type_13 *)0x0) {
        var_19 = 0;
        do {
          while( true ) {
            var_37 = var_34->_M_nxt;
            var_36 = (type_15)var_34[4]._M_nxt % (type_15)var_28;
            var_38 = var_35 + var_36;
            if (*var_38 == (type_14)0x0) break;
            var_34->_M_nxt = (*var_38)->_M_nxt;
            (*var_38)->_M_nxt = var_34;
            var_36 = var_19;
LAB_0024831c:
            var_34 = var_37;
            var_19 = var_36;
            if (var_37 == (type_13 *)0x0) goto LAB_00248370;
          }
          var_34->_M_nxt = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;
          (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = var_34;
          *var_38 = &(target->arm_input_section_map_)._M_h._M_before_begin;
          if (var_34->_M_nxt == (type_13 *)0x0) goto LAB_0024831c;
          var_35[var_19] = var_34;
          var_34 = var_37;
          var_19 = var_36;
        } while (var_37 != (type_13 *)0x0);
      }
LAB_00248370:
      var_38 = (target->arm_input_section_map_)._M_h._M_buckets;
      if (var_38 != &(target->arm_input_section_map_)._M_h._M_single_bucket) {
        var_25(var_38);
      }
      (target->arm_input_section_map_)._M_h._M_bucket_count = (type_10)var_28;
      var_39 = (type_15)var_40 % (type_15)var_28;
      (target->arm_input_section_map_)._M_h._M_buckets = var_35;
    }
    var_23[4]._M_nxt = var_40;
    var_38 = var_35 + var_39;
    if (*var_38 == (type_14)0x0) {
      var_40 = (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt;
      (target->arm_input_section_map_)._M_h._M_before_begin._M_nxt = var_23;
      var_23->_M_nxt = var_40;
      if (var_40 != (type_13 *)0x0) {
        var_35[(type_15)var_40[4]._M_nxt % (target->arm_input_section_map_)._M_h._M_bucket_count] =
             var_23;
      }
      *var_38 = &(target->arm_input_section_map_)._M_h._M_before_begin;
    }
    else {
      var_23->_M_nxt = (*var_38)->_M_nxt;
      (*var_38)->_M_nxt = var_23;
    }
    psVar4 = &(target->arm_input_section_map_)._M_h._M_element_count;
    *psVar4 = *psVar4 + 1;
    local_58 = pRVar19;
                    /* try { // try from 00248644 to 00248648 has its CatchHandler @ 002489ce */
    var_30::
    type_4<var_10::var_41*,type_5::allocator<var_10::var_41*>var_3>
    ::emplace_back<var_10::var_41*>
              (new_relaxed_sections,(var_41 **)&local_58);
    var_6 = (pRVar18->super_Object).input_file_;
    if (var_6 != (type_12 *)0x0) {
      gold::File_read::var_42(&var_6->file_,task);
    }
  }
  pSVar24 = (var_1<false> *)var_9(0xd0);
  (pSVar24->super_Output_data).address_ = 0;
  (pSVar24->super_Output_data).data_size_ = 0;
  (pSVar24->super_Output_data).offset_ = -1;
  puVar2 = &(pSVar24->super_Output_data).field_0x20;
  *puVar2 = *puVar2 & 0xe0;
  (pSVar24->super_Output_data)._vptr_Output_data = (type_22 **)&PTR__Stub_table_00653e00;
  (pSVar24->reloc_stubs_)._M_h._M_buckets = &(pSVar24->reloc_stubs_)._M_h._M_single_bucket;
  p_Var5 = &(pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header;
  (pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_max_load_factor = 0.0;
  *(type_18 *)&(pSVar24->reloc_stubs_)._M_h._M_rehash_policy.field_0x4 = 0;
  (pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_next_resize = 0;
  pSVar24->owner_ = (var_2<false> *)pRVar19;
  (pSVar24->reloc_stubs_)._M_h._M_single_bucket = (type_14)0x0;
  (pSVar24->reloc_stubs_)._M_h._M_bucket_count = 1;
  (pSVar24->reloc_stubs_)._M_h._M_before_begin._M_nxt = (type_13 *)0x0;
  (pSVar24->reloc_stubs_)._M_h._M_element_count = 0;
  (pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_max_load_factor = 1.0;
  (pSVar24->reloc_stubs_)._M_h._M_rehash_policy._M_next_resize = 0;
  pSVar24->reloc_stubs_size_ = 0;
  pSVar24->reloc_stubs_addralign_ = 1;
  (pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_color = _S_red;
  (pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_parent =
       (type_28)0x0;
  (pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_left =
       &p_Var5->_M_header;
  (pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_header._M_right =
       &p_Var5->_M_header;
  (pSVar24->cortex_a8_stubs_)._M_t._M_impl.super__Rb_tree_header._M_node_count = 0;
  (pSVar24->arm_v4bx_stubs_).
  super__Vector_base<(anonymous_namespace)::type_29*,type_5::allocator<(anonymous_namespace)::type_29*>var_3>
  ._M_impl._M_start = (type_9)0x0;
  (pSVar24->arm_v4bx_stubs_).
  super__Vector_base<(anonymous_namespace)::type_29*,type_5::allocator<(anonymous_namespace)::type_29*>var_3>
  ._M_impl._M_finish = (type_9)0x0;
  (pSVar24->arm_v4bx_stubs_).
  super__Vector_base<(anonymous_namespace)::type_29*,type_5::allocator<(anonymous_namespace)::type_29*>var_3>
  ._M_impl._M_end_of_storage = (type_9)0x0;
                    /* try { // try from 002484a6 to 002484aa has its CatchHandler @ 002489d6 */
  var_43 = (type_9)var_9(0x78);
  var_44 = var_43 + 0xf;
  (pSVar24->arm_v4bx_stubs_).
  super__Vector_base<(anonymous_namespace)::type_29*,type_5::allocator<(anonymous_namespace)::type_29*>var_3>
  ._M_impl._M_start = var_43;
  (pSVar24->arm_v4bx_stubs_).
  super__Vector_base<(anonymous_namespace)::type_29*,type_5::allocator<(anonymous_namespace)::type_29*>var_3>
  ._M_impl._M_end_of_storage = var_44;
  do {
    *var_43 = (type_29 *)0x0;
    var_43 = var_43 + 1;
  } while (var_44 != var_43);
  (pSVar24->arm_v4bx_stubs_).
  super__Vector_base<(anonymous_namespace)::type_29*,type_5::allocator<(anonymous_namespace)::type_29*>var_3>
  ._M_impl._M_finish = var_44;
  var_45 = (target->stub_tables_).
             super__Vector_base<(anonymous_namespace)::var_1<false>*,type_5::allocator<(anonymous_namespace)::var_1<false>*>var_3>
             ._M_impl._M_finish;
  pSVar24->prev_data_size_ = 0;
  pSVar24->prev_addralign_ = 1;
  if (var_45 !=
      (target->stub_tables_).
      super__Vector_base<(anonymous_namespace)::var_1<false>*,type_5::allocator<(anonymous_namespace)::var_1<false>*>var_3>
      ._M_impl._M_end_of_storage) {
    *var_45 = pSVar24;
    (target->stub_tables_).
    super__Vector_base<(anonymous_namespace)::var_1<false>*,type_5::allocator<(anonymous_namespace)::var_1<false>*>var_3>
    ._M_impl._M_finish = var_45 + 1;
    goto LAB_00248512;
  }
  var_48 = (target->stub_tables_).
          super__Vector_base<(anonymous_namespace)::var_1<false>*,type_5::allocator<(anonymous_namespace)::var_1<false>*>var_3>
          ._M_impl._M_start;
  var_47 = (long)var_45 - (long)var_48;
  var_19 = (long)var_47 >> 3;
  if (var_19 == 0) {
    var_36 = 8;
LAB_002486a6:
    __dest = (type_9)var_9(var_36);
    ppSVar32 = (type_9)(var_36 + (long)__dest);
  }
  else {
    var_46 = var_19 * 2;
    var_36 = 0xfffffffffffffff8;
    if ((var_46 < var_19) || (0x1fffffffffffffff < var_46)) goto LAB_002486a6;
    if (var_46 != 0) {
      var_36 = var_19 << 4;
      goto LAB_002486a6;
    }
    ppSVar32 = (type_9)0x0;
    __dest = (type_9)0x0;
  }
  *(var_1<false> **)((long)__dest + var_47) = pSVar24;
  if (var_45 == var_48) {
    if (var_48 != (type_9)0x0) goto LAB_002486f4;
  }
  else {
    var_49(__dest,var_48,var_47);
LAB_002486f4:
    var_25(var_48);
  }
  (target->stub_tables_).
  super__Vector_base<(anonymous_namespace)::var_1<false>*,type_5::allocator<(anonymous_namespace)::var_1<false>*>var_3>
  ._M_impl._M_start = __dest;
  (target->stub_tables_).
  super__Vector_base<(anonymous_namespace)::var_1<false>*,type_5::allocator<(anonymous_namespace)::var_1<false>*>var_3>
  ._M_impl._M_end_of_storage = ppSVar32;
  (target->stub_tables_).
  super__Vector_base<(anonymous_namespace)::var_1<false>*,type_5::allocator<(anonymous_namespace)::var_1<false>*>var_3>
  ._M_impl._M_finish = (type_9)((long)__dest + var_47 + 8);
LAB_00248512:
  var_17 = (pRVar19->super_Object).name_.field_2._M_local_buf[8];
  if ((var_17 & 1) == 0) {
                    /* WARNING: Subroutine does not return */
    gold::var_4("../../gold/output.h",0xc5,"address");
  }
  if ((var_17 & 2) == 0) {
                    /* WARNING: Subroutine does not return */
    gold::var_4("../../gold/output.h",0xcf,"data_size");
  }
  var_50 = (pRVar19->super_Object).name_._M_string_length;
  var_17 = (pSVar24->super_Output_data).field_0x20;
  if ((var_17 & 1) != 0) {
                    /* WARNING: Subroutine does not return */
    gold::var_4("../../gold/output.h",0x142,"set_address");
  }
  (pSVar24->super_Output_data).address_ =
       (uint64_t)((pRVar19->super_Object).name_._M_dataplus._M_p + var_50);
  (pSVar24->super_Output_data).field_0x20 = var_17 | 1;
  if (((pRVar19->super_Object).name_.field_2._M_local_buf[8] & 4U) == 0) {
                    /* WARNING: Subroutine does not return */
    gold::var_4("../../gold/output.h",0xe3,"offset");
  }
  if ((var_17 & 4) != 0) {
                    /* WARNING: Subroutine does not return */
    gold::var_4("../../gold/output.h",0x14b,"set_file_offset");
  }
  (pSVar24->super_Output_data).offset_ =
       var_50 + (pRVar19->super_Object).name_.field_2._M_allocated_capacity;
  (pSVar24->super_Output_data).field_0x20 = var_17 | 5;
  if (((var_17 & 2) == 0) &&
     ((*(pSVar24->super_Output_data)._vptr_Output_data[0xe])(pSVar24),
     ((pSVar24->super_Output_data).field_0x20 & 2) == 0)) {
                    /* WARNING: Subroutine does not return */
    gold::var_4("../../gold/output.h",0x163,"finalize_data_size");
  }
  (pRVar19->output_sections_).
  super__Vector_base<var_10::type_21*,type_5::allocator<var_10::type_21*>var_3>._M_impl._M_start
       = (type_9)pSVar24;
  do {
    if (2 < (begin._M_current)->shndx_ + 3) {
      pRVar19 = var_10::Output_section::Input_section::var_5(begin._M_current);
      uVar14 = var_10::Output_section::Input_section::var_8(begin._M_current);
      var_6 = pRVar19[3].super_Object.input_file_;
      if ((type_15)(pRVar19[3].super_Object.offset_ - (long)var_6 >> 3) <= (type_15)uVar14) {
                    /* WARNING: Subroutine does not return */
        gold::var_4("../../gold/arm.cc",0x5ef,"set_stub_table");
      }
      (&var_6->input_argument_)[uVar14] = (type_30 *)pSVar24;
    }
    bVar33 = end._M_current != begin._M_current;
    begin._M_current = begin._M_current + 1;
  } while (bVar33);
  return;
}


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

void MASKED(long param_1,int *param_2,int *param_3,uint *param_4,long param_5,
                 undefined8 param_6,undefined8 param_7)

{
  long *plVar1;
  byte bVar2;
  long *plVar3;
  undefined8 *puVar4;
  char cVar5;
  uint uVar6;
  long lVar7;
  long *plVar8;
  long *plVar9;
  ulong uVar10;
  void *pvVar11;
  void *__dest;
  long lVar12;
  long *plVar13;
  undefined8 *puVar14;
  long lVar15;
  ulong extraout_RDX;
  ulong uVar16;
  size_t __n;
  ulong uVar17;
  bool bVar18;
  ulong local_78;
  size_t local_60;
  long *local_58;
  uint uStack_50;
  undefined4 uStack_4c;
  
  if (*(int *)(param_1 + 0x6c) == 0x70000001) {
                    /* WARNING: Subroutine does not return */
    FUN_00352af0("../../gold/arm.cc",0x1680,"create_stub_group");
  }
  if (*param_4 == 0xfffffffc) {
    plVar9 = *(long **)(param_4 + 4);
  }
  else {
    if (0xfffffffb < *param_4) {
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/arm.cc",0x1690,"create_stub_group");
    }
    lVar7 = FUN_003c9a60(param_4);
    if (*(long *)(lVar7 + 0x28) != 0) {
      FUN_0034bf00(*(long *)(lVar7 + 0x28) + 0x28,param_7);
    }
                    /* try { // try from 0024804a to 002482c6 has its CatchHandler @ 002489ce */
    uVar6 = FUN_003c9ae0(param_4);
    plVar8 = (long *)FUN_003c9a60(param_4);
    plVar9 = (long *)FUN_0049cb70(0x60);
    *(byte *)(plVar9 + 4) = *(byte *)(plVar9 + 4) & 0xe0;
    plVar9[1] = 0;
    plVar9[2] = 0;
    plVar9[3] = -1;
    plVar9[5] = 0;
    plVar9[6] = 1;
    plVar9[7] = (long)plVar8;
    *(uint *)(plVar9 + 8) = uVar6;
    *plVar9 = (long)&PTR_FUN_006670c0;
    lVar12 = *plVar8;
    *(undefined8 *)((long)plVar9 + 0x44) = 1;
    plVar9[10] = 0;
    plVar9[0xb] = 0;
    uVar10 = (**(code **)(lVar12 + 0xb8))(plVar8,uVar6);
    if (uVar10 != (uVar10 & 0xffffffff)) {
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");
    }
    *(int *)((long)plVar9 + 0x44) = (int)uVar10;
    pvVar11 = (void *)FUN_00392d50(plVar8,uVar6,&local_60,0);
    uVar10 = (**(code **)(*plVar8 + 0x78))(plVar8,uVar6);
    if (uVar10 != (uVar10 & 0xffffffff)) {
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/gold.h",0xc0,"convert_types");
    }
    *(int *)(plVar9 + 9) = (int)uVar10;
    if (plVar9[0xb] != 0) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 002488e0 to 002489b0 has its CatchHandler @ 002489ce */
      FUN_00352af0("../../gold/arm.cc",0x14bf,&DAT_0054f921);
    }
    __dest = (void *)thunk_FUN_0049cb70(local_60);
    plVar9[0xb] = (long)__dest;
    memcpy(__dest,pvVar11,local_60);
    lVar12 = *plVar8;
    if (*(code **)(lVar12 + 0xc0) == FUN_001a5070) {
      if ((ulong)(plVar8[0xb] - plVar8[10] >> 3) <= (ulong)uVar6) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00248868 to 0024886c has its CatchHandler @ 002489ce */
        FUN_00352af0("../../gold/object.h",0x5c8,"do_output_section");
      }
      lVar15 = *(long *)(plVar8[10] + (ulong)uVar6 * 8);
    }
    else {
                    /* try { // try from 00248736 to 00248737 has its CatchHandler @ 002489ce */
      lVar15 = (**(code **)(lVar12 + 0xc0))(plVar8,uVar6);
      lVar12 = *plVar8;
    }
    lVar12 = (**(code **)(lVar12 + 0xd0))(plVar8,uVar6);
    if ((lVar15 == 0) || (cVar5 = (**(code **)(*plVar8 + 0x110))(plVar8,uVar6), cVar5 != '\0')) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00248808 to 0024880c has its CatchHandler @ 002489ce */
      FUN_00352af0("../../gold/arm.cc",0x14c7,&DAT_0054f921);
    }
    if ((*(byte *)(lVar15 + 0x20) & 1) == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/output.h",0xc5,"address");
    }
    bVar2 = *(byte *)(plVar9 + 4);
    if ((bVar2 & 1) != 0) {
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/output.h",0x142,"set_address");
    }
    plVar9[1] = *(long *)(lVar15 + 8) + lVar12;
    *(byte *)(plVar9 + 4) = bVar2 | 1;
    if ((*(byte *)(lVar15 + 0x20) & 4) == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/output.h",0xe3,"offset");
    }
    if ((bVar2 & 4) != 0) {
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");
    }
    plVar9[3] = lVar12 + *(long *)(lVar15 + 0x18);
    *(byte *)(plVar9 + 4) = bVar2 | 5;
    if ((bVar2 & 2) != 0) {
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/output.h",0x231,"set_current_data_size_for_child");
    }
    plVar9[2] = (ulong)*(uint *)(plVar9 + 9);
    FUN_00236100(plVar9);
    if ((*(byte *)(plVar9 + 4) & 2) == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");
    }
    plVar13 = (long *)FUN_0049cb70(0x28);
    *plVar13 = 0;
    uVar10 = *(ulong *)(param_5 + 0xb8);
    plVar13[1] = (long)plVar8;
    plVar13[2] = CONCAT44(uStack_4c,uVar6);
    plVar13[3] = (long)plVar9;
    uVar17 = (ulong)plVar8 ^ (ulong)*(uint *)(plVar13 + 2);
    local_78 = uVar17 % uVar10;
    local_58 = plVar8;
    uStack_50 = uVar6;
    plVar8 = (long *)FUN_0022f560(param_5 + 0xb0,local_78,plVar13 + 1,uVar17);
    if ((plVar8 != (long *)0x0) && (*plVar8 != 0)) {
      FUN_0049e340(plVar13);
                    /* WARNING: Subroutine does not return */
      FUN_00352af0("../../gold/arm.cc",0x2e50,"new_arm_input_section");
    }
    cVar5 = FUN_004dc8d0(param_5 + 0xd0,uVar10,*(undefined8 *)(param_5 + 200),1);
    if (cVar5 == '\0') {
      lVar12 = *(long *)(param_5 + 0xb0);
    }
    else {
      if (extraout_RDX == 1) {
        lVar12 = param_5 + 0xe0;
        *(undefined8 *)(param_5 + 0xe0) = 0;
      }
      else {
                    /* try { // try from 002482df to 002482e3 has its CatchHandler @ 002489c9 */
        lVar12 = FUN_00232700();
      }
      plVar8 = *(long **)(param_5 + 0xc0);
      *(undefined8 *)(param_5 + 0xc0) = 0;
      if (plVar8 != (long *)0x0) {
        uVar10 = 0;
        do {
          while( true ) {
            plVar3 = (long *)*plVar8;
            uVar16 = (ulong)plVar8[4] % extraout_RDX;
            plVar1 = (long *)(lVar12 + uVar16 * 8);
            if ((long *)*plVar1 == (long *)0x0) break;
            *plVar8 = *(long *)*plVar1;
            *(long **)*plVar1 = plVar8;
            uVar16 = uVar10;
LAB_0024831c:
            plVar8 = plVar3;
            uVar10 = uVar16;
            if (plVar3 == (long *)0x0) goto LAB_00248370;
          }
          *plVar8 = *(long *)(param_5 + 0xc0);
          *(long **)(param_5 + 0xc0) = plVar8;
          *plVar1 = param_5 + 0xc0;
          if (*plVar8 == 0) goto LAB_0024831c;
          *(long **)(lVar12 + uVar10 * 8) = plVar8;
          plVar8 = plVar3;
          uVar10 = uVar16;
        } while (plVar3 != (long *)0x0);
      }
LAB_00248370:
      if (*(long *)(param_5 + 0xb0) != param_5 + 0xe0) {
        FUN_0049e340();
      }
      *(ulong *)(param_5 + 0xb8) = extraout_RDX;
      local_78 = uVar17 % extraout_RDX;
      *(long *)(param_5 + 0xb0) = lVar12;
    }
    plVar13[4] = uVar17;
    plVar8 = (long *)(lVar12 + local_78 * 8);
    if ((long *)*plVar8 == (long *)0x0) {
      lVar15 = *(long *)(param_5 + 0xc0);
      *(long **)(param_5 + 0xc0) = plVar13;
      *plVar13 = lVar15;
      if (lVar15 != 0) {
        *(long **)(lVar12 + (*(ulong *)(lVar15 + 0x20) % *(ulong *)(param_5 + 0xb8)) * 8) = plVar13;
      }
      *plVar8 = param_5 + 0xc0;
    }
    else {
      *plVar13 = *(long *)*plVar8;
      *(long **)*plVar8 = plVar13;
    }
    *(long *)(param_5 + 200) = *(long *)(param_5 + 200) + 1;
    local_58 = plVar9;
                    /* try { // try from 00248644 to 00248648 has its CatchHandler @ 002489ce */
    FUN_0022a4f0(param_6,&local_58);
    if (*(long *)(lVar7 + 0x28) != 0) {
      FUN_0034cac0(*(long *)(lVar7 + 0x28) + 0x28,param_7);
    }
  }
  plVar8 = (long *)FUN_0049cb70(0xd0);
  plVar8[1] = 0;
  plVar8[2] = 0;
  plVar8[3] = -1;
  *(byte *)(plVar8 + 4) = *(byte *)(plVar8 + 4) & 0xe0;
  *plVar8 = (long)&PTR_FUN_00653e00;
  plVar8[6] = (long)(plVar8 + 0xc);
  *(undefined1 (*) [16])(plVar8 + 10) = (undefined1  [16])0x0;
  plVar8[5] = (long)plVar9;
  plVar8[0xc] = 0;
  plVar8[7] = 1;
  plVar8[8] = 0;
  plVar8[9] = 0;
  *(undefined4 *)(plVar8 + 10) = 0x3f800000;
  plVar8[0xb] = 0;
  plVar8[0xd] = 0;
  plVar8[0xe] = 1;
  *(undefined4 *)(plVar8 + 0x10) = 0;
  plVar8[0x11] = 0;
  plVar8[0x12] = (long)(plVar8 + 0x10);
  plVar8[0x13] = (long)(plVar8 + 0x10);
  plVar8[0x14] = 0;
  plVar8[0x15] = 0;
  plVar8[0x16] = 0;
  plVar8[0x17] = 0;
                    /* try { // try from 002484a6 to 002484aa has its CatchHandler @ 002489d6 */
  puVar14 = (undefined8 *)FUN_0049cb70(0x78);
  puVar4 = puVar14 + 0xf;
  plVar8[0x15] = (long)puVar14;
  plVar8[0x17] = (long)puVar4;
  do {
    *puVar14 = 0;
    puVar14 = puVar14 + 1;
  } while (puVar4 != puVar14);
  plVar8[0x16] = (long)puVar4;
  puVar4 = *(undefined8 **)(param_5 + 0x90);
  plVar8[0x18] = 0;
  plVar8[0x19] = 1;
  if (puVar4 != *(undefined8 **)(param_5 + 0x98)) {
    *puVar4 = plVar8;
    *(undefined8 **)(param_5 + 0x90) = puVar4 + 1;
    goto LAB_00248512;
  }
  puVar14 = *(undefined8 **)(param_5 + 0x88);
  __n = (long)puVar4 - (long)puVar14;
  uVar10 = (long)__n >> 3;
  if (uVar10 == 0) {
    lVar7 = 8;
LAB_002486a6:
    pvVar11 = (void *)FUN_0049cb70(lVar7);
    lVar7 = lVar7 + (long)pvVar11;
  }
  else {
    uVar17 = uVar10 * 2;
    lVar7 = -8;
    if ((uVar17 < uVar10) || (0x1fffffffffffffff < uVar17)) goto LAB_002486a6;
    if (uVar17 != 0) {
      lVar7 = uVar10 << 4;
      goto LAB_002486a6;
    }
    lVar7 = 0;
    pvVar11 = (void *)0x0;
  }
  *(long **)((long)pvVar11 + __n) = plVar8;
  if (puVar4 == puVar14) {
    if (puVar14 != (undefined8 *)0x0) goto LAB_002486f4;
  }
  else {
    memmove(pvVar11,puVar14,__n);
LAB_002486f4:
    FUN_0049e340(puVar14);
  }
  *(void **)(param_5 + 0x88) = pvVar11;
  *(long *)(param_5 + 0x98) = lVar7;
  *(size_t *)(param_5 + 0x90) = (long)pvVar11 + __n + 8;
LAB_00248512:
  if ((*(byte *)(plVar9 + 4) & 1) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_00352af0("../../gold/output.h",0xc5,"address");
  }
  if ((*(byte *)(plVar9 + 4) & 2) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_00352af0("../../gold/output.h",0xcf,"data_size");
  }
  lVar7 = plVar9[2];
  bVar2 = *(byte *)(plVar8 + 4);
  if ((bVar2 & 1) != 0) {
                    /* WARNING: Subroutine does not return */
    FUN_00352af0("../../gold/output.h",0x142,"set_address");
  }
  plVar8[1] = plVar9[1] + lVar7;
  *(byte *)(plVar8 + 4) = bVar2 | 1;
  if ((*(byte *)(plVar9 + 4) & 4) == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_00352af0("../../gold/output.h",0xe3,"offset");
  }
  if ((bVar2 & 4) != 0) {
                    /* WARNING: Subroutine does not return */
    FUN_00352af0("../../gold/output.h",0x14b,"set_file_offset");
  }
  plVar8[3] = lVar7 + plVar9[3];
  *(byte *)(plVar8 + 4) = bVar2 | 5;
  if (((bVar2 & 2) == 0) &&
     ((**(code **)(*plVar8 + 0x70))(plVar8), (*(byte *)(plVar8 + 4) & 2) == 0)) {
                    /* WARNING: Subroutine does not return */
    FUN_00352af0("../../gold/output.h",0x163,"finalize_data_size");
  }
  plVar9[10] = (long)plVar8;
  do {
    if (2 < *param_2 + 3U) {
      lVar7 = FUN_003c9a60(param_2);
      uVar6 = FUN_003c9ae0(param_2);
      if ((ulong)(*(long *)(lVar7 + 0x228) - *(long *)(lVar7 + 0x220) >> 3) <= (ulong)uVar6) {
                    /* WARNING: Subroutine does not return */
        FUN_00352af0("../../gold/arm.cc",0x5ef,"set_stub_table");
      }
      *(long **)(*(long *)(lVar7 + 0x220) + (ulong)uVar6 * 8) = plVar8;
    }
    bVar18 = param_3 != param_2;
    param_2 = param_2 + 8;
  } while (bVar18);
  return;
}

