
/* DWARF original prototype: bool add_merge_input_section(Output_section * this, Relobj * object,
   uint shndx, uint64_t flags, uint64_t entsize, uint64_t addralign, bool keeps_input_sections) */

bool __thiscall
gold::Output_section::add_merge_input_section
          (Output_section *this,Relobj *object,uint shndx,uint64_t flags,uint64_t entsize,
          uint64_t addralign,bool keeps_input_sections)

{
  byte *pbVar1;
  Output_section_lookup_maps *pOVar2;
  _Hash_node_base *p_Var3;
  uint uVar4;
  char cVar5;
  undefined1 uVar6;
  int iVar7;
  __node_base *p_Var8;
  anon_union_8_4_139239c7_for_u2_ aVar9;
  _func_int_varargs **pp_Var10;
  _Hash_node_base *p_Var11;
  _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *this_00;
  Compressed_section_map **ppCVar12;
  __hash_code __code;
  size_t __n;
  bool bVar13;
  pair<std::__detail::_Node_iterator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_false,_true>,_bool>
  pVar14;
  Merge_section_properties msp;
  Input_section inp;
  
  if (entsize == 0) {
    return false;
  }
  bVar13 = (flags & 0x20) != 0;
  if (this->checkpoint_ != (Checkpoint_output_section *)0x0) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/output.cc",0xaa7,"add_merge_input_section");
  }
  pOVar2 = this->lookup_maps_;
  if (pOVar2->is_valid_ == false) {
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/output.cc",0xaad,"add_merge_input_section");
  }
  __code = ((((ulong)bVar13 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ entsize) * 0x100000001b3 ^
           addralign) * 0x100000001b3;
  msp.is_string_ = bVar13;
  msp.entsize_ = entsize;
  msp.addralign_ = addralign;
  p_Var8 = std::
           _Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::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<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                       *)&pOVar2->merge_sections_by_properties_,
                      __code % (pOVar2->merge_sections_by_properties_)._M_h._M_bucket_count,&msp,
                      __code);
  if (((p_Var8 != (__node_base *)0x0) && (p_Var8->_M_nxt != (_Hash_node_base *)0x0)) &&
     (p_Var3 = p_Var8->_M_nxt[4]._M_nxt, p_Var3 != (_Hash_node_base *)0x0)) {
    cVar5 = (*(code *)p_Var3->_M_nxt[0x19]._M_nxt)(p_Var3);
    if ((bVar13 == (bool)cVar5) && ((_Hash_node_base *)entsize == p_Var3[7]._M_nxt)) {
      p_Var11 = p_Var3->_M_nxt[3]._M_nxt;
      if (p_Var11 == (_Hash_node_base *)Output_section_data::do_addralign) {
        p_Var11 = p_Var3[6]._M_nxt;
      }
      else {
        p_Var11 = (_Hash_node_base *)(*(code *)p_Var11)(p_Var3);
      }
      if ((_Hash_node_base *)addralign == p_Var11) {
        uVar6 = (*(code *)p_Var3->_M_nxt[0x15]._M_nxt)(p_Var3,object,shndx);
        return (bool)uVar6;
      }
    }
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/output.cc",0xab5,"add_merge_input_section");
  }
  if ((flags & 0x20) == 0) {
    aVar9.object = (Relobj *)operator_new(0xf8);
    __n = 0x80;
    ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;
    ((aVar9.object)->super_Object).name_._M_string_length = 0;
    ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;
    (aVar9.pomb)->first_shndx_ = 0xffffffff;
    *(bool *)((long)aVar9 + 0x78) = false;
    uVar4 = DAT_00377cb4;
    *(undefined7 *)((long)aVar9 + 0x79) = 0;
    *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;
    ((aVar9.object)->output_sections_).
    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.
    _M_finish = (pointer)&(aVar9.object)->sd_;
    ((aVar9.object)->super_Object)._vptr_Object =
         (_func_int_varargs **)&PTR__Output_merge_data_00438220;
    ppCVar12 = &aVar9.object[1].super_Object.compressed_sections_;
    pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);
    *pbVar1 = *pbVar1 & 0xe0;
    ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;
    (aVar9.posd)->addralign_ = addralign;
    (aVar9.pomb)->entsize_ = entsize;
    (aVar9.pomb)->keeps_input_sections_ = false;
    ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;
    (aVar9.object)->sd_ = (Symbols_data *)0x0;
    ((aVar9.object)->output_sections_).
    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.
    _M_end_of_storage = (pointer)0x1;
    (aVar9.object)->map_to_relocatable_relocs_ =
         (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;
    (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;
    *(uint *)&(aVar9.object)->relocs_must_follow_section_writes_ = uVar4;
    (aVar9.object)->rd_ = (Read_relocs_data *)0x0;
    (aVar9.object)->reloc_counts_ = (uint *)0x0;
    (aVar9.object)->reloc_bases_ = (uint *)0x0;
    *(uint *)((long)aVar9 + 0xa0) = 0;
    *(uint *)((long)aVar9 + 0xa4) = 0;
    aVar9.object[1].super_Object._vptr_Object = (_func_int_varargs **)0x0;
    aVar9.object[1].super_Object.name_._M_dataplus._M_p = (pointer)aVar9;
    aVar9.object[1].super_Object.name_._M_string_length = (size_type)aVar9;
    aVar9.object[1].super_Object.name_.field_2._M_allocated_capacity = (size_type)ppCVar12;
    *(undefined8 *)((long)&aVar9.object[1].super_Object.name_.field_2 + 8) = 1;
    aVar9.object[1].super_Object.input_file_ = (Input_file *)0x0;
    aVar9.object[1].super_Object.offset_ = 0;
    aVar9.object[1].super_Object.shnum_ = uVar4;
    aVar9.object[1].super_Object.xindex_ = (Xindex *)0x0;
    aVar9.object[1].super_Object.compressed_sections_ = (Compressed_section_map *)0x0;
                    /* try { // try from 001fb58b to 001fb5b1 has its CatchHandler @ 001fb895 */
    this_00 = (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *)
              std::__detail::_Prime_rehash_policy::_M_next_bkt
                        ((_Prime_rehash_policy *)&aVar9.object[1].super_Object.shnum_,0x80);
    if (*(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **)
         ((long)&aVar9.object[1].super_Object.name_.field_2 + 8) < this_00) {
      if (this_00 ==
          (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *)0x1) {
        aVar9.object[1].super_Object.compressed_sections_ = (Compressed_section_map *)0x0;
      }
      else {
        ppCVar12 = (Compressed_section_map **)
                   std::__detail::
                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_>::
                   _M_allocate_buckets(this_00,__n);
      }
      aVar9.object[1].super_Object.name_.field_2._M_allocated_capacity = (size_type)ppCVar12;
      *(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **)
       ((long)&aVar9.object[1].super_Object.name_.field_2 + 8) = this_00;
    }
  }
  else {
    if (entsize == 2) {
      aVar9.object = (Relobj *)operator_new(0x148);
      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;
      ((aVar9.object)->super_Object).name_._M_string_length = 0;
      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;
      (aVar9.pomb)->first_shndx_ = 0xffffffff;
      ((aVar9.object)->output_sections_).
      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.
      _M_finish = (pointer)&(aVar9.object)->sd_;
      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);
      *pbVar1 = *pbVar1 & 0xe0;
      *(bool *)((long)aVar9 + 0x78) = false;
      *(undefined7 *)((long)aVar9 + 0x79) = 0;
      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;
      ((aVar9.object)->super_Object)._vptr_Object =
           (_func_int_varargs **)&PTR__Output_merge_string_00435d30;
      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;
      (aVar9.posd)->addralign_ = addralign;
      (aVar9.pomb)->entsize_ = 2;
      (aVar9.pomb)->keeps_input_sections_ = false;
      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;
      (aVar9.object)->sd_ = (Symbols_data *)0x0;
      ((aVar9.object)->output_sections_).
      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.
      _M_end_of_storage = (pointer)0x1;
      (aVar9.object)->map_to_relocatable_relocs_ =
           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;
      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;
      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;
      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;
                    /* try { // try from 001fb7b3 to 001fb7b7 has its CatchHandler @ 001fb8bd */
      Stringpool_template<short_unsigned_int>::Stringpool_template
                ((Stringpool_template<short_unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign
                );
      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;
      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;
      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;
      aVar9.object[1].sd_ = (Symbols_data *)0x0;
      aVar9.object[1].reloc_counts_ = (uint *)0x0;
      aVar9.object[1].reloc_bases_ = (uint *)0x0;
      if ((pp_Var10 != (_func_int_varargs **)0x0) ||
         (aVar9.object[1].map_to_relocatable_relocs_ !=
          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x2)) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001fb81a to 001fb81e has its CatchHandler @ 001fb8ad */
        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");
      }
    }
    else if (entsize == 4) {
      aVar9.object = (Relobj *)operator_new(0x148);
      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;
      ((aVar9.object)->super_Object).name_._M_string_length = 0;
      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;
      (aVar9.pomb)->first_shndx_ = 0xffffffff;
      ((aVar9.object)->output_sections_).
      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.
      _M_finish = (pointer)&(aVar9.object)->sd_;
      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);
      *pbVar1 = *pbVar1 & 0xe0;
      *(bool *)((long)aVar9 + 0x78) = false;
      *(undefined7 *)((long)aVar9 + 0x79) = 0;
      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;
      ((aVar9.object)->super_Object)._vptr_Object =
           (_func_int_varargs **)&PTR__Output_merge_string_00435e18;
      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;
      (aVar9.posd)->addralign_ = addralign;
      (aVar9.pomb)->entsize_ = 4;
      (aVar9.pomb)->keeps_input_sections_ = false;
      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;
      (aVar9.object)->sd_ = (Symbols_data *)0x0;
      ((aVar9.object)->output_sections_).
      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.
      _M_end_of_storage = (pointer)0x1;
      (aVar9.object)->map_to_relocatable_relocs_ =
           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;
      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;
      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;
      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;
                    /* try { // try from 001fb693 to 001fb697 has its CatchHandler @ 001fb8c5 */
      Stringpool_template<unsigned_int>::Stringpool_template
                ((Stringpool_template<unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign);
      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;
      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;
      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;
      aVar9.object[1].sd_ = (Symbols_data *)0x0;
      aVar9.object[1].reloc_counts_ = (uint *)0x0;
      aVar9.object[1].reloc_bases_ = (uint *)0x0;
      if ((pp_Var10 != (_func_int_varargs **)0x0) ||
         (aVar9.object[1].map_to_relocatable_relocs_ !=
          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x4)) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */
        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");
      }
    }
    else {
      if (entsize != 1) {
        return false;
      }
      aVar9.object = (Relobj *)operator_new(0x148);
      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;
      ((aVar9.object)->super_Object).name_._M_string_length = 0;
      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;
      (aVar9.pomb)->first_shndx_ = 0xffffffff;
      ((aVar9.object)->output_sections_).
      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.
      _M_finish = (pointer)&(aVar9.object)->sd_;
      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);
      *pbVar1 = *pbVar1 & 0xe0;
      *(bool *)((long)aVar9 + 0x78) = false;
      *(undefined7 *)((long)aVar9 + 0x79) = 0;
      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;
      ((aVar9.object)->super_Object)._vptr_Object =
           (_func_int_varargs **)&PTR__Output_merge_string_00435c48;
      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;
      (aVar9.posd)->addralign_ = addralign;
      (aVar9.pomb)->entsize_ = 1;
      (aVar9.pomb)->keeps_input_sections_ = false;
      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;
      (aVar9.object)->sd_ = (Symbols_data *)0x0;
      ((aVar9.object)->output_sections_).
      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.
      _M_end_of_storage = (pointer)0x1;
      (aVar9.object)->map_to_relocatable_relocs_ =
           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;
      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;
      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;
      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;
                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */
      Stringpool_template<char>::Stringpool_template
                ((Stringpool_template<char> *)&(aVar9.object)->reloc_counts_,addralign);
      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;
      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;
      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;
      aVar9.object[1].sd_ = (Symbols_data *)0x0;
      aVar9.object[1].reloc_counts_ = (uint *)0x0;
      aVar9.object[1].reloc_bases_ = (uint *)0x0;
      if ((pp_Var10 != (_func_int_varargs **)0x0) ||
         (aVar9.object[1].map_to_relocatable_relocs_ !=
          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x1)) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */
        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");
      }
    }
    *(undefined1 *)
     &aVar9.object[1].output_sections_.
      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.
      _M_end_of_storage = 0;
    aVar9.object[1].map_to_relocatable_relocs_ =
         (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;
  }
  pp_Var10 = ((aVar9.object)->super_Object)._vptr_Object;
  if (keeps_input_sections) {
    (*pp_Var10[0x1a])(aVar9.object);
    pp_Var10 = ((aVar9.object)->super_Object)._vptr_Object;
  }
  iVar7 = (*pp_Var10[0x15])(aVar9.object,object,(ulong)shndx);
  if ((char)iVar7 != '\0') {
    inp.p2align_ = 0;
    inp.shndx_ = ((flags & 0x20) == 0) - 3;
    inp._24_8_ = (ulong)(uint)inp._28_4_ << 0x20;
    inp.u1_.entsize = entsize;
    inp.u2_ = aVar9;
    add_output_section_data(this,&inp);
    inp._1_7_ = msp._1_7_;
    inp.shndx_._0_1_ = msp.is_string_;
    inp.u2_ = (anon_union_8_4_139239c7_for_u2_)msp.addralign_;
    inp.u1_.entsize = msp.entsize_;
    inp._24_8_ = aVar9;
    pVar14 = std::
             _Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
             ::_M_emplace<std::pair<gold::Merge_section_properties,_gold::Output_merge_base*>&>
                       ((_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>
                         *)&this->lookup_maps_->merge_sections_by_properties_,&inp);
    if (pVar14.second != false) {
      return pVar14.second;
    }
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/output.h",0xc22,"add_merge_section");
  }
  (*((aVar9.object)->super_Object)._vptr_Object[1])(aVar9.object);
  return false;
}



ulong FUN_001fb0e0(long param_1,undefined8 param_2,undefined4 param_3,uint param_4,ulong param_5,
                  ulong param_6,char param_7)

{
  char *pcVar1;
  undefined4 uVar2;
  char cVar3;
  long *plVar4;
  ulong uVar5;
  long *plVar6;
  long lVar7;
  ulong extraout_RDX;
  bool bVar8;
  undefined1 local_78;
  undefined7 uStack_77;
  ulong uStack_70;
  ulong local_68;
  ulong local_58;
  ulong uStack_50;
  long *local_48;
  undefined8 local_40;
  
  if (param_5 == 0) {
    return 0;
  }
  param_4 = param_4 & 0x20;
  bVar8 = param_4 != 0;
  if (*(long *)(param_1 + 0xe8) != 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/output.cc",0xaa7,"add_merge_input_section");
  }
  pcVar1 = *(char **)(param_1 + 0xf0);
  if (*pcVar1 == '\0') {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/output.cc",0xaad,"add_merge_input_section");
  }
  local_78 = bVar8;
  uStack_70 = param_5;
  local_68 = param_6;
  plVar4 = (long *)FUN_002139a0(pcVar1 + 8,
                                (((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *
                                  0x100000001b3 ^ param_6) * 0x100000001b3) %
                                *(ulong *)(pcVar1 + 0x10),&local_78);
  if (((plVar4 != (long *)0x0) && (*plVar4 != 0)) &&
     (plVar4 = *(long **)(*plVar4 + 0x20), plVar4 != (long *)0x0)) {
    cVar3 = (**(code **)(*plVar4 + 200))(plVar4);
    if ((bVar8 == (bool)cVar3) && (param_5 == plVar4[7])) {
      if (*(code **)(*plVar4 + 0x18) == FUN_00185200) {
        uVar5 = plVar4[6];
      }
      else {
        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);
      }
      if (param_6 == uVar5) {
        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);
        return uVar5;
      }
    }
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/output.cc",0xab5,"add_merge_input_section");
  }
  if (param_4 == 0) {
    plVar6 = (long *)FUN_002d9490(0xf8);
    plVar6[1] = 0;
    plVar6[2] = 0;
    plVar6[3] = -1;
    *(undefined4 *)(plVar6 + 10) = 0xffffffff;
    *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;
    uVar2 = DAT_00377cb4;
    plVar6[0xb] = (long)(plVar6 + 0x11);
    *plVar6 = (long)&PTR_FUN_00438220;
    plVar4 = plVar6 + 0x1e;
    *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;
    plVar6[5] = 0;
    plVar6[6] = param_6;
    plVar6[7] = param_5;
    *(undefined1 *)(plVar6 + 8) = 0;
    plVar6[9] = 0;
    plVar6[0x11] = 0;
    plVar6[0xc] = 1;
    plVar6[0xd] = 0;
    plVar6[0xe] = 0;
    *(undefined4 *)(plVar6 + 0xf) = uVar2;
    plVar6[0x10] = 0;
    plVar6[0x12] = 0;
    plVar6[0x13] = 0;
    plVar6[0x14] = 0;
    plVar6[0x15] = 0;
    plVar6[0x16] = (long)plVar6;
    plVar6[0x17] = (long)plVar6;
    plVar6[0x18] = (long)plVar4;
    plVar6[0x19] = 1;
    plVar6[0x1a] = 0;
    plVar6[0x1b] = 0;
    *(undefined4 *)(plVar6 + 0x1c) = uVar2;
    plVar6[0x1d] = 0;
    plVar6[0x1e] = 0;
                    /* try { // try from 001fb58b to 001fb5b1 has its CatchHandler @ 001fb895 */
    uVar5 = FUN_00319030(plVar6 + 0x1c,0x80);
    if ((ulong)plVar6[0x19] < uVar5) {
      if (uVar5 == 1) {
        plVar6[0x1e] = 0;
      }
      else {
        plVar4 = (long *)FUN_001f4a30(uVar5);
      }
      plVar6[0x18] = (long)plVar4;
      plVar6[0x19] = uVar5;
    }
  }
  else {
    if (param_5 == 2) {
      plVar6 = (long *)FUN_002d9490(0x148);
      plVar6[1] = 0;
      plVar6[2] = 0;
      plVar6[3] = -1;
      *(undefined4 *)(plVar6 + 10) = 0xffffffff;
      plVar6[0xb] = (long)(plVar6 + 0x11);
      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;
      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;
      *plVar6 = (long)&PTR_FUN_00435d30;
      plVar6[5] = 0;
      plVar6[6] = param_6;
      plVar6[7] = 2;
      *(undefined1 *)(plVar6 + 8) = 0;
      plVar6[9] = 0;
      plVar6[0x11] = 0;
      plVar6[0xc] = 1;
      plVar6[0xd] = 0;
      plVar6[0xe] = 0;
      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;
      plVar6[0x10] = 0;
                    /* try { // try from 001fb7b3 to 001fb7b7 has its CatchHandler @ 001fb8bd */
      FUN_0026b900(plVar6 + 0x12,param_6);
      plVar6[0x24] = 0;
      plVar6[0x25] = 0;
      plVar6[0x26] = 0;
      plVar6[0x27] = 0;
      plVar6[0x28] = 0;
      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001fb81a to 001fb81e has its CatchHandler @ 001fb8ad */
        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");
      }
    }
    else if (param_5 == 4) {
      plVar6 = (long *)FUN_002d9490(0x148);
      plVar6[1] = 0;
      plVar6[2] = 0;
      plVar6[3] = -1;
      *(undefined4 *)(plVar6 + 10) = 0xffffffff;
      plVar6[0xb] = (long)(plVar6 + 0x11);
      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;
      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;
      *plVar6 = (long)&PTR_FUN_00435e18;
      plVar6[5] = 0;
      plVar6[6] = param_6;
      plVar6[7] = 4;
      *(undefined1 *)(plVar6 + 8) = 0;
      plVar6[9] = 0;
      plVar6[0x11] = 0;
      plVar6[0xc] = 1;
      plVar6[0xd] = 0;
      plVar6[0xe] = 0;
      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;
      plVar6[0x10] = 0;
                    /* try { // try from 001fb693 to 001fb697 has its CatchHandler @ 001fb8c5 */
      FUN_0026bfb0(plVar6 + 0x12,param_6);
      plVar6[0x24] = 0;
      plVar6[0x25] = 0;
      plVar6[0x26] = 0;
      plVar6[0x27] = 0;
      plVar6[0x28] = 0;
      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */
        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");
      }
    }
    else {
      if (param_5 != 1) {
        return 0;
      }
      plVar6 = (long *)FUN_002d9490(0x148);
      plVar6[1] = 0;
      plVar6[2] = 0;
      plVar6[3] = -1;
      *(undefined4 *)(plVar6 + 10) = 0xffffffff;
      plVar6[0xb] = (long)(plVar6 + 0x11);
      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;
      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;
      *plVar6 = (long)&PTR_FUN_00435c48;
      plVar6[5] = 0;
      plVar6[6] = param_6;
      plVar6[7] = 1;
      *(undefined1 *)(plVar6 + 8) = 0;
      plVar6[9] = 0;
      plVar6[0x11] = 0;
      plVar6[0xc] = 1;
      plVar6[0xd] = 0;
      plVar6[0xe] = 0;
      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;
      plVar6[0x10] = 0;
                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */
      FUN_0026b2b0(plVar6 + 0x12,param_6);
      plVar6[0x24] = 0;
      plVar6[0x25] = 0;
      plVar6[0x26] = 0;
      plVar6[0x27] = 0;
      plVar6[0x28] = 0;
      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */
        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");
      }
    }
    *(undefined1 *)(plVar6 + 0x21) = 0;
    plVar6[0x22] = 0;
  }
  lVar7 = *plVar6;
  if (param_7 != '\0') {
    (**(code **)(lVar7 + 0xd0))(plVar6);
    lVar7 = *plVar6;
  }
  cVar3 = (**(code **)(lVar7 + 0xa8))(plVar6,param_2,param_3);
  if (cVar3 != '\0') {
    local_58 = (ulong)((param_4 == 0) - 3);
    local_40 = (long *)((ulong)local_40._4_4_ << 0x20);
    uStack_50 = param_5;
    local_48 = plVar6;
    FUN_001f9b40(param_1,&local_58);
    local_58 = CONCAT71(uStack_77,local_78);
    local_48 = (long *)local_68;
    uStack_50 = uStack_70;
    local_40 = plVar6;
    FUN_00226860(*(long *)(param_1 + 0xf0) + 8,&local_58);
    if ((char)extraout_RDX != '\0') {
      return extraout_RDX & 0xffffffff;
    }
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/output.h",0xc22,"add_merge_section");
  }
  (**(code **)(*plVar6 + 8))(plVar6);
  return 0;
}


PUSH R15
PUSH R14
PUSH R13
PUSH R12
PUSH RBP
PUSH RBX
SUB RSP,0x68
MOV EAX,dword ptr [RSP + 0xa0]
MOV dword ptr [RSP + 0x8],EAX
TEST R8,R8
JZ 0x001fb220
AND ECX,0x20
MOV R12,R9
MOV RBP,R8
MOV R15D,EDX
SETNZ BL
MOV R14,RSI
MOV R13,RDI
MOV qword ptr [RSP + 0x10],RCX
CMP qword ptr [RDI + 0xe8],0x0
JNZ 0x001fb865
MOV RDI,qword ptr [RDI + 0xf0]
CMP byte ptr [RDI],0x0
JZ 0x001fb84d
MOV RAX,-0x340d631b7bdddcdb
MOVZX ECX,BL
XOR EDX,EDX
MOV qword ptr [RSP + 0x28],R8
XOR RCX,RAX
MOV byte ptr [RSP + 0x20],BL
MOV RAX,0x100000001b3
IMUL RCX,RAX
MOV qword ptr [RSP + 0x30],R9
XOR RCX,R8
LEA R8,[RSP + 0x20]
IMUL RCX,RAX
XOR RCX,R9
IMUL RCX,RAX
MOV RAX,RCX
DIV qword ptr [RDI + 0x10]
ADD RDI,0x8
MOV RSI,RDX
MOV RDX,R8
CALL 0x002139a0
TEST RAX,RAX
JZ 0x001fb238
MOV RAX,qword ptr [RAX]
TEST RAX,RAX
JZ 0x001fb238
MOV RCX,qword ptr [RAX + 0x20]
TEST RCX,RCX
JZ 0x001fb238
MOV RAX,qword ptr [RCX]
MOV RDI,RCX
MOV qword ptr [RSP + 0x8],RCX
CALL qword ptr [RAX + 0xc8]
MOV RCX,qword ptr [RSP + 0x8]
CMP BL,AL
JNZ 0x001fb835
CMP RBP,qword ptr [RCX + 0x38]
JNZ 0x001fb835
MOV RAX,qword ptr [RCX]
LEA RDX,[0x185200]
MOV RAX,qword ptr [RAX + 0x18]
CMP RAX,RDX
JNZ 0x001fb438
MOV RAX,qword ptr [RCX + 0x30]
CMP R12,RAX
JNZ 0x001fb835
MOV RAX,qword ptr [RCX]
MOV EDX,R15D
MOV RSI,R14
MOV RDI,RCX
CALL qword ptr [RAX + 0xa8]
ADD RSP,0x68
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
ADD RSP,0x68
XOR EAX,EAX
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
CMP qword ptr [RSP + 0x10],0x0
JZ 0x001fb450
CMP RBP,0x2
JZ 0x001fb700
CMP RBP,0x4
JZ 0x001fb5e0
XOR EAX,EAX
CMP RBP,0x1
JNZ 0x001fb211
MOV EDI,0x148
CALL 0x002d9490
PXOR XMM0,XMM0
MOV RSI,R12
MOV RBX,RAX
MOV qword ptr [RAX + 0x8],0x0
MOV qword ptr [RAX + 0x10],0x0
MOV RAX,-0x1
MOV qword ptr [RBX + 0x18],RAX
MOV dword ptr [RBX + 0x50],EAX
LEA RAX,[RBX + 0x88]
MOV qword ptr [RBX + 0x58],RAX
LEA RAX,[0x435c48]
AND byte ptr [RBX + 0x20],0xe0
MOVUPS xmmword ptr [RBX + 0x78],XMM0
MOV qword ptr [RBX],RAX
LEA RAX,[RBX + 0x90]
MOV qword ptr [RBX + 0x28],0x0
MOV RDI,RAX
MOV qword ptr [RBX + 0x30],R12
MOV qword ptr [RBX + 0x38],0x1
MOV byte ptr [RBX + 0x40],0x0
MOV qword ptr [RBX + 0x48],0x0
MOV qword ptr [RBX + 0x88],0x0
MOV qword ptr [RBX + 0x60],0x1
MOV qword ptr [RBX + 0x68],0x0
MOV qword ptr [RBX + 0x70],0x0
MOV dword ptr [RBX + 0x78],0x3f800000
MOV qword ptr [RBX + 0x80],0x0
MOV qword ptr [RSP + 0x18],RAX
CALL 0x0026b2b0
CMP qword ptr [RBX + 0xa8],0x0
MOV qword ptr [RBX + 0x120],0x0
MOV qword ptr [RBX + 0x128],0x0
MOV qword ptr [RBX + 0x130],0x0
MOV qword ptr [RBX + 0x138],0x0
MOV qword ptr [RBX + 0x140],0x0
JNZ 0x001fb87d
CMP qword ptr [RBX + 0x110],0x1
JNZ 0x001fb87d
MOV byte ptr [RBX + 0x108],0x0
MOV qword ptr [RBX + 0x110],0x0
CMP byte ptr [RSP + 0x8],0x0
MOV RAX,qword ptr [RBX]
JZ 0x001fb393
MOV RDI,RBX
CALL qword ptr [RAX + 0xd0]
MOV RAX,qword ptr [RBX]
MOV EDX,R15D
MOV RSI,R14
MOV RDI,RBX
CALL qword ptr [RAX + 0xa8]
TEST AL,AL
JZ 0x001fb5c5
XOR EAX,EAX
MOV qword ptr [RSP + 0x48],RBP
CMP qword ptr [RSP + 0x10],0x0
LEA RBP,[RSP + 0x40]
SETZ AL
MOV RSI,RBP
MOV RDI,R13
MOV qword ptr [RSP + 0x50],RBX
SUB EAX,0x3
MOV dword ptr [RSP + 0x44],0x0
MOV dword ptr [RSP + 0x40],EAX
MOV dword ptr [RSP + 0x58],0x0
CALL 0x001f9b40
MOV RDI,qword ptr [R13 + 0xf0]
MOV RAX,qword ptr [RSP + 0x30]
MOV RSI,RBP
MOVDQA XMM1,xmmword ptr [RSP + 0x20]
MOV qword ptr [RSP + 0x58],RBX
ADD RDI,0x8
MOV qword ptr [RSP + 0x50],RAX
MOVAPS xmmword ptr [RSP + 0x40],XMM1
CALL 0x00226860
MOV EAX,EDX
TEST DL,DL
JNZ 0x001fb211
LEA RDX,[0x380580]
MOV ESI,0xc22
LEA RDI,[0x373454]
CALL 0x0017c650
MOV RDI,RCX
MOV qword ptr [RSP + 0x8],RCX
CALL RAX
MOV RCX,qword ptr [RSP + 0x8]
JMP 0x001fb1f6
MOV EDI,0xf8
CALL 0x002d9490
PXOR XMM0,XMM0
MOV ESI,0x80
MOV RBX,RAX
MOV qword ptr [RAX + 0x8],0x0
MOV qword ptr [RAX + 0x10],0x0
MOV RAX,-0x1
LEA RDI,[RBX + 0xe0]
MOV qword ptr [RBX + 0x18],RAX
MOV dword ptr [RBX + 0x50],EAX
LEA RAX,[RBX + 0x88]
MOVUPS xmmword ptr [RBX + 0x78],XMM0
MOVSS XMM0,dword ptr [0x00377cb4]
MOV qword ptr [RBX + 0x58],RAX
LEA RAX,[0x438220]
MOV qword ptr [RBX],RAX
LEA RAX,[RBX + 0xf0]
AND byte ptr [RBX + 0x20],0xe0
MOV qword ptr [RBX + 0x28],0x0
MOV qword ptr [RBX + 0x30],R12
MOV qword ptr [RBX + 0x38],RBP
MOV byte ptr [RBX + 0x40],0x0
MOV qword ptr [RBX + 0x48],0x0
MOV qword ptr [RBX + 0x88],0x0
MOV qword ptr [RBX + 0x60],0x1
MOV qword ptr [RBX + 0x68],0x0
MOV qword ptr [RBX + 0x70],0x0
MOVSS dword ptr [RBX + 0x78],XMM0
MOV qword ptr [RBX + 0x80],0x0
MOV qword ptr [RBX + 0x90],0x0
MOV qword ptr [RBX + 0x98],0x0
MOV qword ptr [RBX + 0xa0],0x0
MOV qword ptr [RBX + 0xa8],0x0
MOV qword ptr [RBX + 0xb0],RBX
MOV qword ptr [RBX + 0xb8],RBX
MOV qword ptr [RSP + 0x18],RAX
MOV qword ptr [RBX + 0xc0],RAX
MOV qword ptr [RBX + 0xc8],0x1
MOV qword ptr [RBX + 0xd0],0x0
MOV qword ptr [RBX + 0xd8],0x0
MOVSS dword ptr [RBX + 0xe0],XMM0
MOV qword ptr [RBX + 0xe8],0x0
MOV qword ptr [RBX + 0xf0],0x0
CALL 0x00319030
MOV R12,RAX
CMP RAX,qword ptr [RBX + 0xc8]
JBE 0x001fb37d
CMP RAX,0x1
JZ 0x001fb820
MOV RDI,RAX
CALL 0x001f4a30
MOV qword ptr [RBX + 0xc0],RAX
MOV qword ptr [RBX + 0xc8],R12
JMP 0x001fb37d
MOV RAX,qword ptr [RBX]
MOV RDI,RBX
CALL qword ptr [RAX + 0x8]
ADD RSP,0x68
XOR EAX,EAX
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
MOV EDI,0x148
CALL 0x002d9490
PXOR XMM0,XMM0
MOV RSI,R12
MOV RBX,RAX
MOV qword ptr [RAX + 0x8],0x0
MOV qword ptr [RAX + 0x10],0x0
MOV RAX,-0x1
MOV qword ptr [RBX + 0x18],RAX
MOV dword ptr [RBX + 0x50],EAX
LEA RAX,[RBX + 0x88]
MOV qword ptr [RBX + 0x58],RAX
LEA RAX,[0x435e18]
AND byte ptr [RBX + 0x20],0xe0
MOVUPS xmmword ptr [RBX + 0x78],XMM0
MOV qword ptr [RBX],RAX
LEA RAX,[RBX + 0x90]
MOV qword ptr [RBX + 0x28],0x0
MOV RDI,RAX
MOV qword ptr [RBX + 0x30],R12
MOV qword ptr [RBX + 0x38],0x4
MOV byte ptr [RBX + 0x40],0x0
MOV qword ptr [RBX + 0x48],0x0
MOV qword ptr [RBX + 0x88],0x0
MOV qword ptr [RBX + 0x60],0x1
MOV qword ptr [RBX + 0x68],0x0
MOV qword ptr [RBX + 0x70],0x0
MOV dword ptr [RBX + 0x78],0x3f800000
MOV qword ptr [RBX + 0x80],0x0
MOV qword ptr [RSP + 0x18],RAX
CALL 0x0026bfb0
CMP qword ptr [RBX + 0xa8],0x0
MOV qword ptr [RBX + 0x120],0x0
MOV qword ptr [RBX + 0x128],0x0
MOV qword ptr [RBX + 0x130],0x0
MOV qword ptr [RBX + 0x138],0x0
MOV qword ptr [RBX + 0x140],0x0
JNZ 0x001fb6e7
CMP qword ptr [RBX + 0x110],0x4
JZ 0x001fb36b
LEA RDX,[0x3805c0]
MOV ESI,0xcc
LEA RDI,[0x36b55a]
CALL 0x0017c650
MOV EDI,0x148
CALL 0x002d9490
PXOR XMM0,XMM0
MOV RSI,R12
MOV RBX,RAX
MOV qword ptr [RAX + 0x8],0x0
MOV qword ptr [RAX + 0x10],0x0
MOV RAX,-0x1
MOV qword ptr [RBX + 0x18],RAX
MOV dword ptr [RBX + 0x50],EAX
LEA RAX,[RBX + 0x88]
MOV qword ptr [RBX + 0x58],RAX
LEA RAX,[0x435d30]
AND byte ptr [RBX + 0x20],0xe0
MOVUPS xmmword ptr [RBX + 0x78],XMM0
MOV qword ptr [RBX],RAX
LEA RAX,[RBX + 0x90]
MOV qword ptr [RBX + 0x28],0x0
MOV RDI,RAX
MOV qword ptr [RBX + 0x30],R12
MOV qword ptr [RBX + 0x38],0x2
MOV byte ptr [RBX + 0x40],0x0
MOV qword ptr [RBX + 0x48],0x0
MOV qword ptr [RBX + 0x88],0x0
MOV qword ptr [RBX + 0x60],0x1
MOV qword ptr [RBX + 0x68],0x0
MOV qword ptr [RBX + 0x70],0x0
MOV dword ptr [RBX + 0x78],0x3f800000
MOV qword ptr [RBX + 0x80],0x0
MOV qword ptr [RSP + 0x18],RAX
CALL 0x0026b900
CMP qword ptr [RBX + 0xa8],0x0
MOV qword ptr [RBX + 0x120],0x0
MOV qword ptr [RBX + 0x128],0x0
MOV qword ptr [RBX + 0x130],0x0
MOV qword ptr [RBX + 0x138],0x0
MOV qword ptr [RBX + 0x140],0x0
JNZ 0x001fb807
CMP qword ptr [RBX + 0x110],0x2
JZ 0x001fb36b
LEA RDX,[0x3805e0]
MOV ESI,0xcc
LEA RDI,[0x36b55a]
CALL 0x0017c650
MOV qword ptr [RBX + 0xf0],0x0
MOV RAX,qword ptr [RSP + 0x18]
JMP 0x001fb5b2
LEA RDX,[0x3806e0]
MOV ESI,0xab5
LEA RDI,[0x37e8cf]
CALL 0x0017c650
LEA RDX,[0x3806e0]
MOV ESI,0xaad
LEA RDI,[0x37e8cf]
CALL 0x0017c650
LEA RDX,[0x3806e0]
MOV ESI,0xaa7
LEA RDI,[0x37e8cf]
CALL 0x0017c650
LEA RDX,[0x380600]
MOV ESI,0xcc
LEA RDI,[0x36b55a]
CALL 0x0017c650
(translation_unit "ulong FUN_001fb0e0(long param_1,undefined8 param_2,undefined4 param_3,uint param_4,ulong param_5,\n                  ulong param_6,char param_7)\n\n{\n  char *pcVar1;\n  undefined4 uVar2;\n  char cVar3;\n  long *plVar4;\n  ulong uVar5;\n  long *plVar6;\n  long lVar7;\n  ulong extraout_RDX;\n  bool bVar8;\n  undefined1 local_78;\n  undefined7 uStack_77;\n  ulong uStack_70;\n  ulong local_68;\n  ulong local_58;\n  ulong uStack_50;\n  long *local_48;\n  undefined8 local_40;\n  \n  if (param_5 == 0) {\n    return 0;\n  }\n  param_4 = param_4 & 0x20;\n  bVar8 = param_4 != 0;\n  if (*(long *)(param_1 + 0xe8) != 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.cc",0xaa7,"add_merge_input_section");\n  }\n  pcVar1 = *(char **)(param_1 + 0xf0);\n  if (*pcVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.cc",0xaad,"add_merge_input_section");\n  }\n  local_78 = bVar8;\n  uStack_70 = param_5;\n  local_68 = param_6;\n  plVar4 = (long *)FUN_002139a0(pcVar1 + 8,\n                                (((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10),&local_78);\n  if (((plVar4 != (long *)0x0) && (*plVar4 != 0)) &&\n     (plVar4 = *(long **)(*plVar4 + 0x20), plVar4 != (long *)0x0)) {\n    cVar3 = (**(code **)(*plVar4 + 200))(plVar4);\n    if ((bVar8 == (bool)cVar3) && (param_5 == plVar4[7])) {\n      if (*(code **)(*plVar4 + 0x18) == FUN_00185200) {\n        uVar5 = plVar4[6];\n      }\n      else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }\n      if (param_6 == uVar5) {\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.cc",0xab5,"add_merge_input_section");\n  }\n  if (param_4 == 0) {\n    plVar6 = (long *)FUN_002d9490(0xf8);\n    plVar6[1] = 0;\n    plVar6[2] = 0;\n    plVar6[3] = -1;\n    *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n    *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n    uVar2 = DAT_00377cb4;\n    plVar6[0xb] = (long)(plVar6 + 0x11);\n    *plVar6 = (long)&PTR_FUN_00438220;\n    plVar4 = plVar6 + 0x1e;\n    *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n    plVar6[5] = 0;\n    plVar6[6] = param_6;\n    plVar6[7] = param_5;\n    *(undefined1 *)(plVar6 + 8) = 0;\n    plVar6[9] = 0;\n    plVar6[0x11] = 0;\n    plVar6[0xc] = 1;\n    plVar6[0xd] = 0;\n    plVar6[0xe] = 0;\n    *(undefined4 *)(plVar6 + 0xf) = uVar2;\n    plVar6[0x10] = 0;\n    plVar6[0x12] = 0;\n    plVar6[0x13] = 0;\n    plVar6[0x14] = 0;\n    plVar6[0x15] = 0;\n    plVar6[0x16] = (long)plVar6;\n    plVar6[0x17] = (long)plVar6;\n    plVar6[0x18] = (long)plVar4;\n    plVar6[0x19] = 1;\n    plVar6[0x1a] = 0;\n    plVar6[0x1b] = 0;\n    *(undefined4 *)(plVar6 + 0x1c) = uVar2;\n    plVar6[0x1d] = 0;\n    plVar6[0x1e] = 0;\n                    /* try { // try from 001fb58b to 001fb5b1 has its CatchHandler @ 001fb895 */\n    uVar5 = FUN_00319030(plVar6 + 0x1c,0x80);\n    if ((ulong)plVar6[0x19] < uVar5) {\n      if (uVar5 == 1) {\n        plVar6[0x1e] = 0;\n      }\n      else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }\n      plVar6[0x18] = (long)plVar4;\n      plVar6[0x19] = uVar5;\n    }\n  }\n  else {\n    if (param_5 == 2) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435d30;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 2;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb7b3 to 001fb7b7 has its CatchHandler @ 001fb8bd */\n      FUN_0026b900(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb81a to 001fb81e has its CatchHandler @ 001fb8ad */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb693 to 001fb697 has its CatchHandler @ 001fb8c5 */\n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */\n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    *(undefined1 *)(plVar6 + 0x21) = 0;\n    plVar6[0x22] = 0;\n  }\n  lVar7 = *plVar6;\n  if (param_7 != '\0') {\n    (**(code **)(lVar7 + 0xd0))(plVar6);\n    lVar7 = *plVar6;\n  }\n  cVar3 = (**(code **)(lVar7 + 0xa8))(plVar6,param_2,param_3);\n  if (cVar3 != '\0') {\n    local_58 = (ulong)((param_4 == 0) - 3);\n    local_40 = (long *)((ulong)local_40._4_4_ << 0x20);\n    uStack_50 = param_5;\n    local_48 = plVar6;\n    FUN_001f9b40(param_1,&local_58);\n    local_58 = CONCAT71(uStack_77,local_78);\n    local_48 = (long *)local_68;\n    uStack_50 = uStack_70;\n    local_40 = plVar6;\n    FUN_00226860(*(long *)(param_1 + 0xf0) + 8,&local_58);\n    if ((char)extraout_RDX != '\0') {\n      return extraout_RDX & 0xffffffff;\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.h",0xc22,"add_merge_section");\n  }\n  (**(code **)(*plVar6 + 8))(plVar6);\n  return 0;\n}\n\n" (function_definition "ulong FUN_001fb0e0(long param_1,undefined8 param_2,undefined4 param_3,uint param_4,ulong param_5,\n                  ulong param_6,char param_7)\n\n{\n  char *pcVar1;\n  undefined4 uVar2;\n  char cVar3;\n  long *plVar4;\n  ulong uVar5;\n  long *plVar6;\n  long lVar7;\n  ulong extraout_RDX;\n  bool bVar8;\n  undefined1 local_78;\n  undefined7 uStack_77;\n  ulong uStack_70;\n  ulong local_68;\n  ulong local_58;\n  ulong uStack_50;\n  long *local_48;\n  undefined8 local_40;\n  \n  if (param_5 == 0) {\n    return 0;\n  }\n  param_4 = param_4 & 0x20;\n  bVar8 = param_4 != 0;\n  if (*(long *)(param_1 + 0xe8) != 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.cc",0xaa7,"add_merge_input_section");\n  }\n  pcVar1 = *(char **)(param_1 + 0xf0);\n  if (*pcVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.cc",0xaad,"add_merge_input_section");\n  }\n  local_78 = bVar8;\n  uStack_70 = param_5;\n  local_68 = param_6;\n  plVar4 = (long *)FUN_002139a0(pcVar1 + 8,\n                                (((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10),&local_78);\n  if (((plVar4 != (long *)0x0) && (*plVar4 != 0)) &&\n     (plVar4 = *(long **)(*plVar4 + 0x20), plVar4 != (long *)0x0)) {\n    cVar3 = (**(code **)(*plVar4 + 200))(plVar4);\n    if ((bVar8 == (bool)cVar3) && (param_5 == plVar4[7])) {\n      if (*(code **)(*plVar4 + 0x18) == FUN_00185200) {\n        uVar5 = plVar4[6];\n      }\n      else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }\n      if (param_6 == uVar5) {\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.cc",0xab5,"add_merge_input_section");\n  }\n  if (param_4 == 0) {\n    plVar6 = (long *)FUN_002d9490(0xf8);\n    plVar6[1] = 0;\n    plVar6[2] = 0;\n    plVar6[3] = -1;\n    *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n    *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n    uVar2 = DAT_00377cb4;\n    plVar6[0xb] = (long)(plVar6 + 0x11);\n    *plVar6 = (long)&PTR_FUN_00438220;\n    plVar4 = plVar6 + 0x1e;\n    *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n    plVar6[5] = 0;\n    plVar6[6] = param_6;\n    plVar6[7] = param_5;\n    *(undefined1 *)(plVar6 + 8) = 0;\n    plVar6[9] = 0;\n    plVar6[0x11] = 0;\n    plVar6[0xc] = 1;\n    plVar6[0xd] = 0;\n    plVar6[0xe] = 0;\n    *(undefined4 *)(plVar6 + 0xf) = uVar2;\n    plVar6[0x10] = 0;\n    plVar6[0x12] = 0;\n    plVar6[0x13] = 0;\n    plVar6[0x14] = 0;\n    plVar6[0x15] = 0;\n    plVar6[0x16] = (long)plVar6;\n    plVar6[0x17] = (long)plVar6;\n    plVar6[0x18] = (long)plVar4;\n    plVar6[0x19] = 1;\n    plVar6[0x1a] = 0;\n    plVar6[0x1b] = 0;\n    *(undefined4 *)(plVar6 + 0x1c) = uVar2;\n    plVar6[0x1d] = 0;\n    plVar6[0x1e] = 0;\n                    /* try { // try from 001fb58b to 001fb5b1 has its CatchHandler @ 001fb895 */\n    uVar5 = FUN_00319030(plVar6 + 0x1c,0x80);\n    if ((ulong)plVar6[0x19] < uVar5) {\n      if (uVar5 == 1) {\n        plVar6[0x1e] = 0;\n      }\n      else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }\n      plVar6[0x18] = (long)plVar4;\n      plVar6[0x19] = uVar5;\n    }\n  }\n  else {\n    if (param_5 == 2) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435d30;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 2;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb7b3 to 001fb7b7 has its CatchHandler @ 001fb8bd */\n      FUN_0026b900(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb81a to 001fb81e has its CatchHandler @ 001fb8ad */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb693 to 001fb697 has its CatchHandler @ 001fb8c5 */\n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */\n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    *(undefined1 *)(plVar6 + 0x21) = 0;\n    plVar6[0x22] = 0;\n  }\n  lVar7 = *plVar6;\n  if (param_7 != '\0') {\n    (**(code **)(lVar7 + 0xd0))(plVar6);\n    lVar7 = *plVar6;\n  }\n  cVar3 = (**(code **)(lVar7 + 0xa8))(plVar6,param_2,param_3);\n  if (cVar3 != '\0') {\n    local_58 = (ulong)((param_4 == 0) - 3);\n    local_40 = (long *)((ulong)local_40._4_4_ << 0x20);\n    uStack_50 = param_5;\n    local_48 = plVar6;\n    FUN_001f9b40(param_1,&local_58);\n    local_58 = CONCAT71(uStack_77,local_78);\n    local_48 = (long *)local_68;\n    uStack_50 = uStack_70;\n    local_40 = plVar6;\n    FUN_00226860(*(long *)(param_1 + 0xf0) + 8,&local_58);\n    if ((char)extraout_RDX != '\0') {\n      return extraout_RDX & 0xffffffff;\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.h",0xc22,"add_merge_section");\n  }\n  (**(code **)(*plVar6 + 8))(plVar6);\n  return 0;\n}" type_identifier (function_declarator "FUN_001fb0e0(long param_1,undefined8 param_2,undefined4 param_3,uint param_4,ulong param_5,\n                  ulong param_6,char param_7)" identifier (parameter_list "(long param_1,undefined8 param_2,undefined4 param_3,uint param_4,ulong param_5,\n                  ulong param_6,char param_7)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "ulong param_5" type_identifier identifier) , (parameter_declaration "ulong param_6" type_identifier identifier) , (parameter_declaration "char param_7" primitive_type identifier) ))) (compound_statement "{\n  char *pcVar1;\n  undefined4 uVar2;\n  char cVar3;\n  long *plVar4;\n  ulong uVar5;\n  long *plVar6;\n  long lVar7;\n  ulong extraout_RDX;\n  bool bVar8;\n  undefined1 local_78;\n  undefined7 uStack_77;\n  ulong uStack_70;\n  ulong local_68;\n  ulong local_58;\n  ulong uStack_50;\n  long *local_48;\n  undefined8 local_40;\n  \n  if (param_5 == 0) {\n    return 0;\n  }\n  param_4 = param_4 & 0x20;\n  bVar8 = param_4 != 0;\n  if (*(long *)(param_1 + 0xe8) != 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.cc",0xaa7,"add_merge_input_section");\n  }\n  pcVar1 = *(char **)(param_1 + 0xf0);\n  if (*pcVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.cc",0xaad,"add_merge_input_section");\n  }\n  local_78 = bVar8;\n  uStack_70 = param_5;\n  local_68 = param_6;\n  plVar4 = (long *)FUN_002139a0(pcVar1 + 8,\n                                (((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10),&local_78);\n  if (((plVar4 != (long *)0x0) && (*plVar4 != 0)) &&\n     (plVar4 = *(long **)(*plVar4 + 0x20), plVar4 != (long *)0x0)) {\n    cVar3 = (**(code **)(*plVar4 + 200))(plVar4);\n    if ((bVar8 == (bool)cVar3) && (param_5 == plVar4[7])) {\n      if (*(code **)(*plVar4 + 0x18) == FUN_00185200) {\n        uVar5 = plVar4[6];\n      }\n      else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }\n      if (param_6 == uVar5) {\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.cc",0xab5,"add_merge_input_section");\n  }\n  if (param_4 == 0) {\n    plVar6 = (long *)FUN_002d9490(0xf8);\n    plVar6[1] = 0;\n    plVar6[2] = 0;\n    plVar6[3] = -1;\n    *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n    *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n    uVar2 = DAT_00377cb4;\n    plVar6[0xb] = (long)(plVar6 + 0x11);\n    *plVar6 = (long)&PTR_FUN_00438220;\n    plVar4 = plVar6 + 0x1e;\n    *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n    plVar6[5] = 0;\n    plVar6[6] = param_6;\n    plVar6[7] = param_5;\n    *(undefined1 *)(plVar6 + 8) = 0;\n    plVar6[9] = 0;\n    plVar6[0x11] = 0;\n    plVar6[0xc] = 1;\n    plVar6[0xd] = 0;\n    plVar6[0xe] = 0;\n    *(undefined4 *)(plVar6 + 0xf) = uVar2;\n    plVar6[0x10] = 0;\n    plVar6[0x12] = 0;\n    plVar6[0x13] = 0;\n    plVar6[0x14] = 0;\n    plVar6[0x15] = 0;\n    plVar6[0x16] = (long)plVar6;\n    plVar6[0x17] = (long)plVar6;\n    plVar6[0x18] = (long)plVar4;\n    plVar6[0x19] = 1;\n    plVar6[0x1a] = 0;\n    plVar6[0x1b] = 0;\n    *(undefined4 *)(plVar6 + 0x1c) = uVar2;\n    plVar6[0x1d] = 0;\n    plVar6[0x1e] = 0;\n                    /* try { // try from 001fb58b to 001fb5b1 has its CatchHandler @ 001fb895 */\n    uVar5 = FUN_00319030(plVar6 + 0x1c,0x80);\n    if ((ulong)plVar6[0x19] < uVar5) {\n      if (uVar5 == 1) {\n        plVar6[0x1e] = 0;\n      }\n      else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }\n      plVar6[0x18] = (long)plVar4;\n      plVar6[0x19] = uVar5;\n    }\n  }\n  else {\n    if (param_5 == 2) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435d30;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 2;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb7b3 to 001fb7b7 has its CatchHandler @ 001fb8bd */\n      FUN_0026b900(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb81a to 001fb81e has its CatchHandler @ 001fb8ad */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb693 to 001fb697 has its CatchHandler @ 001fb8c5 */\n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */\n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    *(undefined1 *)(plVar6 + 0x21) = 0;\n    plVar6[0x22] = 0;\n  }\n  lVar7 = *plVar6;\n  if (param_7 != '\0') {\n    (**(code **)(lVar7 + 0xd0))(plVar6);\n    lVar7 = *plVar6;\n  }\n  cVar3 = (**(code **)(lVar7 + 0xa8))(plVar6,param_2,param_3);\n  if (cVar3 != '\0') {\n    local_58 = (ulong)((param_4 == 0) - 3);\n    local_40 = (long *)((ulong)local_40._4_4_ << 0x20);\n    uStack_50 = param_5;\n    local_48 = plVar6;\n    FUN_001f9b40(param_1,&local_58);\n    local_58 = CONCAT71(uStack_77,local_78);\n    local_48 = (long *)local_68;\n    uStack_50 = uStack_70;\n    local_40 = plVar6;\n    FUN_00226860(*(long *)(param_1 + 0xf0) + 8,&local_58);\n    if ((char)extraout_RDX != '\0') {\n      return extraout_RDX & 0xffffffff;\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.h",0xc22,"add_merge_section");\n  }\n  (**(code **)(*plVar6 + 8))(plVar6);\n  return 0;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "long *plVar4;" (sized_type_specifier "long" long) (pointer_declarator "*plVar4" * identifier) ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "long *plVar6;" (sized_type_specifier "long" long) (pointer_declarator "*plVar6" * identifier) ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong extraout_RDX;" type_identifier identifier ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "undefined1 local_78;" type_identifier identifier ;) (declaration "undefined7 uStack_77;" type_identifier identifier ;) (declaration "ulong uStack_70;" type_identifier identifier ;) (declaration "ulong local_68;" type_identifier identifier ;) (declaration "ulong local_58;" type_identifier identifier ;) (declaration "ulong uStack_50;" type_identifier identifier ;) (declaration "long *local_48;" (sized_type_specifier "long" long) (pointer_declarator "*local_48" * identifier) ;) (declaration "undefined8 local_40;" type_identifier identifier ;) (if_statement "if (param_5 == 0) {\n    return 0;\n  }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "param_4 = param_4 & 0x20;" (assignment_expression "param_4 = param_4 & 0x20" identifier = (binary_expression "param_4 & 0x20" identifier & number_literal)) ;) (expression_statement "bVar8 = param_4 != 0;" (assignment_expression "bVar8 = param_4 != 0" identifier = (binary_expression "param_4 != 0" identifier != number_literal)) ;) (if_statement "if (*(long *)(param_1 + 0xe8) != 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.cc",0xaa7,"add_merge_input_section");\n  }" if (parenthesized_expression "(*(long *)(param_1 + 0xe8) != 0)" ( (binary_expression "*(long *)(param_1 + 0xe8) != 0" (pointer_expression "*(long *)(param_1 + 0xe8)" * (cast_expression "(long *)(param_1 + 0xe8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xe8)" ( (binary_expression "param_1 + 0xe8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.cc",0xaa7,"add_merge_input_section");\n  }" { comment (expression_statement "FUN_0017c650("../../gold/output.cc",0xaa7,"add_merge_input_section");" (call_expression "FUN_0017c650("../../gold/output.cc",0xaa7,"add_merge_input_section")" identifier (argument_list "("../../gold/output.cc",0xaa7,"add_merge_input_section")" ( (string_literal ""../../gold/output.cc"" " string_content ") , number_literal , (string_literal ""add_merge_input_section"" " string_content ") ))) ;) })) (expression_statement "pcVar1 = *(char **)(param_1 + 0xf0);" (assignment_expression "pcVar1 = *(char **)(param_1 + 0xf0)" identifier = (pointer_expression "*(char **)(param_1 + 0xf0)" * (cast_expression "(char **)(param_1 + 0xf0)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xf0)" ( (binary_expression "param_1 + 0xf0" identifier + number_literal) ))))) ;) (if_statement "if (*pcVar1 == '\0') {\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.cc",0xaad,"add_merge_input_section");\n  }" if (parenthesized_expression "(*pcVar1 == '\0')" ( (binary_expression "*pcVar1 == '\0'" (pointer_expression "*pcVar1" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.cc",0xaad,"add_merge_input_section");\n  }" { comment (expression_statement "FUN_0017c650("../../gold/output.cc",0xaad,"add_merge_input_section");" (call_expression "FUN_0017c650("../../gold/output.cc",0xaad,"add_merge_input_section")" identifier (argument_list "("../../gold/output.cc",0xaad,"add_merge_input_section")" ( (string_literal ""../../gold/output.cc"" " string_content ") , number_literal , (string_literal ""add_merge_input_section"" " string_content ") ))) ;) })) (expression_statement "local_78 = bVar8;" (assignment_expression "local_78 = bVar8" identifier = identifier) ;) (expression_statement "uStack_70 = param_5;" (assignment_expression "uStack_70 = param_5" identifier = identifier) ;) (expression_statement "local_68 = param_6;" (assignment_expression "local_68 = param_6" identifier = identifier) ;) (expression_statement "plVar4 = (long *)FUN_002139a0(pcVar1 + 8,\n                                (((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10),&local_78);" (assignment_expression "plVar4 = (long *)FUN_002139a0(pcVar1 + 8,\n                                (((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10),&local_78)" identifier = (cast_expression "(long *)FUN_002139a0(pcVar1 + 8,\n                                (((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10),&local_78)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002139a0(pcVar1 + 8,\n                                (((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10),&local_78)" identifier (argument_list "(pcVar1 + 8,\n                                (((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10),&local_78)" ( (binary_expression "pcVar1 + 8" identifier + number_literal) , (binary_expression "(((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10)" (parenthesized_expression "(((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3)" ( (binary_expression "((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3" (parenthesized_expression "((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6)" ( (binary_expression "(((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6" (binary_expression "(((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3" (parenthesized_expression "(((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5)" ( (binary_expression "((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5" (binary_expression "((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3" (parenthesized_expression "((ulong)bVar8 ^ 0xcbf29ce484222325)" ( (binary_expression "(ulong)bVar8 ^ 0xcbf29ce484222325" (cast_expression "(ulong)bVar8" ( (type_descriptor "ulong" type_identifier) ) identifier) ^ number_literal) )) * number_literal) ^ identifier) )) * number_literal) ^ identifier) )) * number_literal) )) % (pointer_expression "*(ulong *)(pcVar1 + 0x10)" * (cast_expression "(ulong *)(pcVar1 + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar1 + 0x10)" ( (binary_expression "pcVar1 + 0x10" identifier + number_literal) ))))) , (pointer_expression "&local_78" & identifier) ))))) ;) (if_statement "if (((plVar4 != (long *)0x0) && (*plVar4 != 0)) &&\n     (plVar4 = *(long **)(*plVar4 + 0x20), plVar4 != (long *)0x0)) {\n    cVar3 = (**(code **)(*plVar4 + 200))(plVar4);\n    if ((bVar8 == (bool)cVar3) && (param_5 == plVar4[7])) {\n      if (*(code **)(*plVar4 + 0x18) == FUN_00185200) {\n        uVar5 = plVar4[6];\n      }\n      else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }\n      if (param_6 == uVar5) {\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.cc",0xab5,"add_merge_input_section");\n  }" if (parenthesized_expression "(((plVar4 != (long *)0x0) && (*plVar4 != 0)) &&\n     (plVar4 = *(long **)(*plVar4 + 0x20), plVar4 != (long *)0x0))" ( (binary_expression "((plVar4 != (long *)0x0) && (*plVar4 != 0)) &&\n     (plVar4 = *(long **)(*plVar4 + 0x20), plVar4 != (long *)0x0)" (parenthesized_expression "((plVar4 != (long *)0x0) && (*plVar4 != 0))" ( (binary_expression "(plVar4 != (long *)0x0) && (*plVar4 != 0)" (parenthesized_expression "(plVar4 != (long *)0x0)" ( (binary_expression "plVar4 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*plVar4 != 0)" ( (binary_expression "*plVar4 != 0" (pointer_expression "*plVar4" * identifier) != number_literal) ))) )) && (parenthesized_expression "(plVar4 = *(long **)(*plVar4 + 0x20), plVar4 != (long *)0x0)" ( (comma_expression "plVar4 = *(long **)(*plVar4 + 0x20), plVar4 != (long *)0x0" (assignment_expression "plVar4 = *(long **)(*plVar4 + 0x20)" identifier = (pointer_expression "*(long **)(*plVar4 + 0x20)" * (cast_expression "(long **)(*plVar4 + 0x20)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x20)" ( (binary_expression "*plVar4 + 0x20" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) , (binary_expression "plVar4 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    cVar3 = (**(code **)(*plVar4 + 200))(plVar4);\n    if ((bVar8 == (bool)cVar3) && (param_5 == plVar4[7])) {\n      if (*(code **)(*plVar4 + 0x18) == FUN_00185200) {\n        uVar5 = plVar4[6];\n      }\n      else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }\n      if (param_6 == uVar5) {\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.cc",0xab5,"add_merge_input_section");\n  }" { (expression_statement "cVar3 = (**(code **)(*plVar4 + 200))(plVar4);" (assignment_expression "cVar3 = (**(code **)(*plVar4 + 200))(plVar4)" identifier = (call_expression "(**(code **)(*plVar4 + 200))(plVar4)" (parenthesized_expression "(**(code **)(*plVar4 + 200))" ( (pointer_expression "**(code **)(*plVar4 + 200)" * (pointer_expression "*(code **)(*plVar4 + 200)" * (cast_expression "(code **)(*plVar4 + 200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 200)" ( (binary_expression "*plVar4 + 200" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "(plVar4)" ( identifier )))) ;) (if_statement "if ((bVar8 == (bool)cVar3) && (param_5 == plVar4[7])) {\n      if (*(code **)(*plVar4 + 0x18) == FUN_00185200) {\n        uVar5 = plVar4[6];\n      }\n      else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }\n      if (param_6 == uVar5) {\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }\n    }" if (parenthesized_expression "((bVar8 == (bool)cVar3) && (param_5 == plVar4[7]))" ( (binary_expression "(bVar8 == (bool)cVar3) && (param_5 == plVar4[7])" (parenthesized_expression "(bVar8 == (bool)cVar3)" ( (binary_expression "bVar8 == (bool)cVar3" identifier == (cast_expression "(bool)cVar3" ( (type_descriptor "bool" primitive_type) ) identifier)) )) && (parenthesized_expression "(param_5 == plVar4[7])" ( (binary_expression "param_5 == plVar4[7]" identifier == (subscript_expression "plVar4[7]" identifier [ number_literal ])) ))) )) (compound_statement "{\n      if (*(code **)(*plVar4 + 0x18) == FUN_00185200) {\n        uVar5 = plVar4[6];\n      }\n      else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }\n      if (param_6 == uVar5) {\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }\n    }" { (if_statement "if (*(code **)(*plVar4 + 0x18) == FUN_00185200) {\n        uVar5 = plVar4[6];\n      }\n      else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }" if (parenthesized_expression "(*(code **)(*plVar4 + 0x18) == FUN_00185200)" ( (binary_expression "*(code **)(*plVar4 + 0x18) == FUN_00185200" (pointer_expression "*(code **)(*plVar4 + 0x18)" * (cast_expression "(code **)(*plVar4 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x18)" ( (binary_expression "*plVar4 + 0x18" (pointer_expression "*plVar4" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n        uVar5 = plVar4[6];\n      }" { (expression_statement "uVar5 = plVar4[6];" (assignment_expression "uVar5 = plVar4[6]" identifier = (subscript_expression "plVar4[6]" identifier [ number_literal ])) ;) }) (else_clause "else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }" else (compound_statement "{\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }" { (expression_statement "uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);" (assignment_expression "uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4)" identifier = (call_expression "(**(code **)(*plVar4 + 0x18))(plVar4)" (parenthesized_expression "(**(code **)(*plVar4 + 0x18))" ( (pointer_expression "**(code **)(*plVar4 + 0x18)" * (pointer_expression "*(code **)(*plVar4 + 0x18)" * (cast_expression "(code **)(*plVar4 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x18)" ( (binary_expression "*plVar4 + 0x18" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "(plVar4)" ( identifier )))) ;) }))) (if_statement "if (param_6 == uVar5) {\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }" if (parenthesized_expression "(param_6 == uVar5)" ( (binary_expression "param_6 == uVar5" identifier == identifier) )) (compound_statement "{\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }" { (expression_statement "uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);" (assignment_expression "uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3)" identifier = (call_expression "(**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3)" (parenthesized_expression "(**(code **)(*plVar4 + 0xa8))" ( (pointer_expression "**(code **)(*plVar4 + 0xa8)" * (pointer_expression "*(code **)(*plVar4 + 0xa8)" * (cast_expression "(code **)(*plVar4 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0xa8)" ( (binary_expression "*plVar4 + 0xa8" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "(plVar4,param_2,param_3)" ( identifier , identifier , identifier )))) ;) (return_statement "return uVar5;" return identifier ;) })) })) comment (expression_statement "FUN_0017c650("../../gold/output.cc",0xab5,"add_merge_input_section");" (call_expression "FUN_0017c650("../../gold/output.cc",0xab5,"add_merge_input_section")" identifier (argument_list "("../../gold/output.cc",0xab5,"add_merge_input_section")" ( (string_literal ""../../gold/output.cc"" " string_content ") , number_literal , (string_literal ""add_merge_input_section"" " string_content ") ))) ;) })) (if_statement "if (param_4 == 0) {\n    plVar6 = (long *)FUN_002d9490(0xf8);\n    plVar6[1] = 0;\n    plVar6[2] = 0;\n    plVar6[3] = -1;\n    *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n    *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n    uVar2 = DAT_00377cb4;\n    plVar6[0xb] = (long)(plVar6 + 0x11);\n    *plVar6 = (long)&PTR_FUN_00438220;\n    plVar4 = plVar6 + 0x1e;\n    *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n    plVar6[5] = 0;\n    plVar6[6] = param_6;\n    plVar6[7] = param_5;\n    *(undefined1 *)(plVar6 + 8) = 0;\n    plVar6[9] = 0;\n    plVar6[0x11] = 0;\n    plVar6[0xc] = 1;\n    plVar6[0xd] = 0;\n    plVar6[0xe] = 0;\n    *(undefined4 *)(plVar6 + 0xf) = uVar2;\n    plVar6[0x10] = 0;\n    plVar6[0x12] = 0;\n    plVar6[0x13] = 0;\n    plVar6[0x14] = 0;\n    plVar6[0x15] = 0;\n    plVar6[0x16] = (long)plVar6;\n    plVar6[0x17] = (long)plVar6;\n    plVar6[0x18] = (long)plVar4;\n    plVar6[0x19] = 1;\n    plVar6[0x1a] = 0;\n    plVar6[0x1b] = 0;\n    *(undefined4 *)(plVar6 + 0x1c) = uVar2;\n    plVar6[0x1d] = 0;\n    plVar6[0x1e] = 0;\n                    /* try { // try from 001fb58b to 001fb5b1 has its CatchHandler @ 001fb895 */\n    uVar5 = FUN_00319030(plVar6 + 0x1c,0x80);\n    if ((ulong)plVar6[0x19] < uVar5) {\n      if (uVar5 == 1) {\n        plVar6[0x1e] = 0;\n      }\n      else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }\n      plVar6[0x18] = (long)plVar4;\n      plVar6[0x19] = uVar5;\n    }\n  }\n  else {\n    if (param_5 == 2) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435d30;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 2;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb7b3 to 001fb7b7 has its CatchHandler @ 001fb8bd */\n      FUN_0026b900(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb81a to 001fb81e has its CatchHandler @ 001fb8ad */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb693 to 001fb697 has its CatchHandler @ 001fb8c5 */\n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */\n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    *(undefined1 *)(plVar6 + 0x21) = 0;\n    plVar6[0x22] = 0;\n  }" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n    plVar6 = (long *)FUN_002d9490(0xf8);\n    plVar6[1] = 0;\n    plVar6[2] = 0;\n    plVar6[3] = -1;\n    *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n    *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n    uVar2 = DAT_00377cb4;\n    plVar6[0xb] = (long)(plVar6 + 0x11);\n    *plVar6 = (long)&PTR_FUN_00438220;\n    plVar4 = plVar6 + 0x1e;\n    *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n    plVar6[5] = 0;\n    plVar6[6] = param_6;\n    plVar6[7] = param_5;\n    *(undefined1 *)(plVar6 + 8) = 0;\n    plVar6[9] = 0;\n    plVar6[0x11] = 0;\n    plVar6[0xc] = 1;\n    plVar6[0xd] = 0;\n    plVar6[0xe] = 0;\n    *(undefined4 *)(plVar6 + 0xf) = uVar2;\n    plVar6[0x10] = 0;\n    plVar6[0x12] = 0;\n    plVar6[0x13] = 0;\n    plVar6[0x14] = 0;\n    plVar6[0x15] = 0;\n    plVar6[0x16] = (long)plVar6;\n    plVar6[0x17] = (long)plVar6;\n    plVar6[0x18] = (long)plVar4;\n    plVar6[0x19] = 1;\n    plVar6[0x1a] = 0;\n    plVar6[0x1b] = 0;\n    *(undefined4 *)(plVar6 + 0x1c) = uVar2;\n    plVar6[0x1d] = 0;\n    plVar6[0x1e] = 0;\n                    /* try { // try from 001fb58b to 001fb5b1 has its CatchHandler @ 001fb895 */\n    uVar5 = FUN_00319030(plVar6 + 0x1c,0x80);\n    if ((ulong)plVar6[0x19] < uVar5) {\n      if (uVar5 == 1) {\n        plVar6[0x1e] = 0;\n      }\n      else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }\n      plVar6[0x18] = (long)plVar4;\n      plVar6[0x19] = uVar5;\n    }\n  }" { (expression_statement "plVar6 = (long *)FUN_002d9490(0xf8);" (assignment_expression "plVar6 = (long *)FUN_002d9490(0xf8)" identifier = (cast_expression "(long *)FUN_002d9490(0xf8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0xf8)" identifier (argument_list "(0xf8)" ( number_literal ))))) ;) (expression_statement "plVar6[1] = 0;" (assignment_expression "plVar6[1] = 0" (subscript_expression "plVar6[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[2] = 0;" (assignment_expression "plVar6[2] = 0" (subscript_expression "plVar6[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[3] = -1;" (assignment_expression "plVar6[3] = -1" (subscript_expression "plVar6[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(plVar6 + 10) = 0xffffffff;" (assignment_expression "*(undefined4 *)(plVar6 + 10) = 0xffffffff" (pointer_expression "*(undefined4 *)(plVar6 + 10)" * (cast_expression "(undefined4 *)(plVar6 + 10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 10)" ( (binary_expression "plVar6 + 10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;" (assignment_expression "*(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0" (pointer_expression "*(undefined1 (*) [16])(plVar6 + 0xf)" * (cast_expression "(undefined1 (*) [16])(plVar6 + 0xf)" ( (type_descriptor "undefined1 (*) [16]" type_identifier (abstract_array_declarator "(*) [16]" (abstract_parenthesized_declarator "(*)" ( (abstract_pointer_declarator "*" *) )) [ number_literal ])) ) (parenthesized_expression "(plVar6 + 0xf)" ( (binary_expression "plVar6 + 0xf" identifier + number_literal) )))) = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "uVar2 = DAT_00377cb4;" (assignment_expression "uVar2 = DAT_00377cb4" identifier = identifier) ;) (expression_statement "plVar6[0xb] = (long)(plVar6 + 0x11);" (assignment_expression "plVar6[0xb] = (long)(plVar6 + 0x11)" (subscript_expression "plVar6[0xb]" identifier [ number_literal ]) = (cast_expression "(long)(plVar6 + 0x11)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(plVar6 + 0x11)" ( (binary_expression "plVar6 + 0x11" identifier + number_literal) )))) ;) (expression_statement "*plVar6 = (long)&PTR_FUN_00438220;" (assignment_expression "*plVar6 = (long)&PTR_FUN_00438220" (pointer_expression "*plVar6" * identifier) = (cast_expression "(long)&PTR_FUN_00438220" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&PTR_FUN_00438220" & identifier))) ;) (expression_statement "plVar4 = plVar6 + 0x1e;" (assignment_expression "plVar4 = plVar6 + 0x1e" identifier = (binary_expression "plVar6 + 0x1e" identifier + number_literal)) ;) (expression_statement "*(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;" (assignment_expression "*(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) = (binary_expression "*(byte *)(plVar6 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "plVar6[5] = 0;" (assignment_expression "plVar6[5] = 0" (subscript_expression "plVar6[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[6] = param_6;" (assignment_expression "plVar6[6] = param_6" (subscript_expression "plVar6[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "plVar6[7] = param_5;" (assignment_expression "plVar6[7] = param_5" (subscript_expression "plVar6[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined1 *)(plVar6 + 8) = 0;" (assignment_expression "*(undefined1 *)(plVar6 + 8) = 0" (pointer_expression "*(undefined1 *)(plVar6 + 8)" * (cast_expression "(undefined1 *)(plVar6 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 8)" ( (binary_expression "plVar6 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar6[9] = 0;" (assignment_expression "plVar6[9] = 0" (subscript_expression "plVar6[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x11] = 0;" (assignment_expression "plVar6[0x11] = 0" (subscript_expression "plVar6[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0xc] = 1;" (assignment_expression "plVar6[0xc] = 1" (subscript_expression "plVar6[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0xd] = 0;" (assignment_expression "plVar6[0xd] = 0" (subscript_expression "plVar6[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0xe] = 0;" (assignment_expression "plVar6[0xe] = 0" (subscript_expression "plVar6[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(plVar6 + 0xf) = uVar2;" (assignment_expression "*(undefined4 *)(plVar6 + 0xf) = uVar2" (pointer_expression "*(undefined4 *)(plVar6 + 0xf)" * (cast_expression "(undefined4 *)(plVar6 + 0xf)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0xf)" ( (binary_expression "plVar6 + 0xf" identifier + number_literal) )))) = identifier) ;) (expression_statement "plVar6[0x10] = 0;" (assignment_expression "plVar6[0x10] = 0" (subscript_expression "plVar6[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x12] = 0;" (assignment_expression "plVar6[0x12] = 0" (subscript_expression "plVar6[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x13] = 0;" (assignment_expression "plVar6[0x13] = 0" (subscript_expression "plVar6[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x14] = 0;" (assignment_expression "plVar6[0x14] = 0" (subscript_expression "plVar6[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x15] = 0;" (assignment_expression "plVar6[0x15] = 0" (subscript_expression "plVar6[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x16] = (long)plVar6;" (assignment_expression "plVar6[0x16] = (long)plVar6" (subscript_expression "plVar6[0x16]" identifier [ number_literal ]) = (cast_expression "(long)plVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "plVar6[0x17] = (long)plVar6;" (assignment_expression "plVar6[0x17] = (long)plVar6" (subscript_expression "plVar6[0x17]" identifier [ number_literal ]) = (cast_expression "(long)plVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "plVar6[0x18] = (long)plVar4;" (assignment_expression "plVar6[0x18] = (long)plVar4" (subscript_expression "plVar6[0x18]" identifier [ number_literal ]) = (cast_expression "(long)plVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "plVar6[0x19] = 1;" (assignment_expression "plVar6[0x19] = 1" (subscript_expression "plVar6[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x1a] = 0;" (assignment_expression "plVar6[0x1a] = 0" (subscript_expression "plVar6[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x1b] = 0;" (assignment_expression "plVar6[0x1b] = 0" (subscript_expression "plVar6[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(plVar6 + 0x1c) = uVar2;" (assignment_expression "*(undefined4 *)(plVar6 + 0x1c) = uVar2" (pointer_expression "*(undefined4 *)(plVar6 + 0x1c)" * (cast_expression "(undefined4 *)(plVar6 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0x1c)" ( (binary_expression "plVar6 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "plVar6[0x1d] = 0;" (assignment_expression "plVar6[0x1d] = 0" (subscript_expression "plVar6[0x1d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x1e] = 0;" (assignment_expression "plVar6[0x1e] = 0" (subscript_expression "plVar6[0x1e]" identifier [ number_literal ]) = number_literal) ;) comment (expression_statement "uVar5 = FUN_00319030(plVar6 + 0x1c,0x80);" (assignment_expression "uVar5 = FUN_00319030(plVar6 + 0x1c,0x80)" identifier = (call_expression "FUN_00319030(plVar6 + 0x1c,0x80)" identifier (argument_list "(plVar6 + 0x1c,0x80)" ( (binary_expression "plVar6 + 0x1c" identifier + number_literal) , number_literal )))) ;) (if_statement "if ((ulong)plVar6[0x19] < uVar5) {\n      if (uVar5 == 1) {\n        plVar6[0x1e] = 0;\n      }\n      else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }\n      plVar6[0x18] = (long)plVar4;\n      plVar6[0x19] = uVar5;\n    }" if (parenthesized_expression "((ulong)plVar6[0x19] < uVar5)" ( (binary_expression "(ulong)plVar6[0x19] < uVar5" (cast_expression "(ulong)plVar6[0x19]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "plVar6[0x19]" identifier [ number_literal ])) < identifier) )) (compound_statement "{\n      if (uVar5 == 1) {\n        plVar6[0x1e] = 0;\n      }\n      else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }\n      plVar6[0x18] = (long)plVar4;\n      plVar6[0x19] = uVar5;\n    }" { (if_statement "if (uVar5 == 1) {\n        plVar6[0x1e] = 0;\n      }\n      else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }" if (parenthesized_expression "(uVar5 == 1)" ( (binary_expression "uVar5 == 1" identifier == number_literal) )) (compound_statement "{\n        plVar6[0x1e] = 0;\n      }" { (expression_statement "plVar6[0x1e] = 0;" (assignment_expression "plVar6[0x1e] = 0" (subscript_expression "plVar6[0x1e]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }" else (compound_statement "{\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }" { (expression_statement "plVar4 = (long *)FUN_001f4a30(uVar5);" (assignment_expression "plVar4 = (long *)FUN_001f4a30(uVar5)" identifier = (cast_expression "(long *)FUN_001f4a30(uVar5)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001f4a30(uVar5)" identifier (argument_list "(uVar5)" ( identifier ))))) ;) }))) (expression_statement "plVar6[0x18] = (long)plVar4;" (assignment_expression "plVar6[0x18] = (long)plVar4" (subscript_expression "plVar6[0x18]" identifier [ number_literal ]) = (cast_expression "(long)plVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "plVar6[0x19] = uVar5;" (assignment_expression "plVar6[0x19] = uVar5" (subscript_expression "plVar6[0x19]" identifier [ number_literal ]) = identifier) ;) })) }) (else_clause "else {\n    if (param_5 == 2) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435d30;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 2;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb7b3 to 001fb7b7 has its CatchHandler @ 001fb8bd */\n      FUN_0026b900(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb81a to 001fb81e has its CatchHandler @ 001fb8ad */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb693 to 001fb697 has its CatchHandler @ 001fb8c5 */\n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */\n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    *(undefined1 *)(plVar6 + 0x21) = 0;\n    plVar6[0x22] = 0;\n  }" else (compound_statement "{\n    if (param_5 == 2) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435d30;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 2;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb7b3 to 001fb7b7 has its CatchHandler @ 001fb8bd */\n      FUN_0026b900(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb81a to 001fb81e has its CatchHandler @ 001fb8ad */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb693 to 001fb697 has its CatchHandler @ 001fb8c5 */\n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */\n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    *(undefined1 *)(plVar6 + 0x21) = 0;\n    plVar6[0x22] = 0;\n  }" { (if_statement "if (param_5 == 2) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435d30;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 2;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb7b3 to 001fb7b7 has its CatchHandler @ 001fb8bd */\n      FUN_0026b900(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb81a to 001fb81e has its CatchHandler @ 001fb8ad */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb693 to 001fb697 has its CatchHandler @ 001fb8c5 */\n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */\n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" if (parenthesized_expression "(param_5 == 2)" ( (binary_expression "param_5 == 2" identifier == number_literal) )) (compound_statement "{\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435d30;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 2;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb7b3 to 001fb7b7 has its CatchHandler @ 001fb8bd */\n      FUN_0026b900(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb81a to 001fb81e has its CatchHandler @ 001fb8ad */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" { (expression_statement "plVar6 = (long *)FUN_002d9490(0x148);" (assignment_expression "plVar6 = (long *)FUN_002d9490(0x148)" identifier = (cast_expression "(long *)FUN_002d9490(0x148)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x148)" identifier (argument_list "(0x148)" ( number_literal ))))) ;) (expression_statement "plVar6[1] = 0;" (assignment_expression "plVar6[1] = 0" (subscript_expression "plVar6[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[2] = 0;" (assignment_expression "plVar6[2] = 0" (subscript_expression "plVar6[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[3] = -1;" (assignment_expression "plVar6[3] = -1" (subscript_expression "plVar6[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(plVar6 + 10) = 0xffffffff;" (assignment_expression "*(undefined4 *)(plVar6 + 10) = 0xffffffff" (pointer_expression "*(undefined4 *)(plVar6 + 10)" * (cast_expression "(undefined4 *)(plVar6 + 10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 10)" ( (binary_expression "plVar6 + 10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar6[0xb] = (long)(plVar6 + 0x11);" (assignment_expression "plVar6[0xb] = (long)(plVar6 + 0x11)" (subscript_expression "plVar6[0xb]" identifier [ number_literal ]) = (cast_expression "(long)(plVar6 + 0x11)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(plVar6 + 0x11)" ( (binary_expression "plVar6 + 0x11" identifier + number_literal) )))) ;) (expression_statement "*(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;" (assignment_expression "*(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) = (binary_expression "*(byte *)(plVar6 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "*(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;" (assignment_expression "*(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0" (pointer_expression "*(undefined1 (*) [16])(plVar6 + 0xf)" * (cast_expression "(undefined1 (*) [16])(plVar6 + 0xf)" ( (type_descriptor "undefined1 (*) [16]" type_identifier (abstract_array_declarator "(*) [16]" (abstract_parenthesized_declarator "(*)" ( (abstract_pointer_declarator "*" *) )) [ number_literal ])) ) (parenthesized_expression "(plVar6 + 0xf)" ( (binary_expression "plVar6 + 0xf" identifier + number_literal) )))) = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "*plVar6 = (long)&PTR_FUN_00435d30;" (assignment_expression "*plVar6 = (long)&PTR_FUN_00435d30" (pointer_expression "*plVar6" * identifier) = (cast_expression "(long)&PTR_FUN_00435d30" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&PTR_FUN_00435d30" & identifier))) ;) (expression_statement "plVar6[5] = 0;" (assignment_expression "plVar6[5] = 0" (subscript_expression "plVar6[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[6] = param_6;" (assignment_expression "plVar6[6] = param_6" (subscript_expression "plVar6[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "plVar6[7] = 2;" (assignment_expression "plVar6[7] = 2" (subscript_expression "plVar6[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(plVar6 + 8) = 0;" (assignment_expression "*(undefined1 *)(plVar6 + 8) = 0" (pointer_expression "*(undefined1 *)(plVar6 + 8)" * (cast_expression "(undefined1 *)(plVar6 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 8)" ( (binary_expression "plVar6 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar6[9] = 0;" (assignment_expression "plVar6[9] = 0" (subscript_expression "plVar6[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x11] = 0;" (assignment_expression "plVar6[0x11] = 0" (subscript_expression "plVar6[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0xc] = 1;" (assignment_expression "plVar6[0xc] = 1" (subscript_expression "plVar6[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0xd] = 0;" (assignment_expression "plVar6[0xd] = 0" (subscript_expression "plVar6[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0xe] = 0;" (assignment_expression "plVar6[0xe] = 0" (subscript_expression "plVar6[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(plVar6 + 0xf) = 0x3f800000;" (assignment_expression "*(undefined4 *)(plVar6 + 0xf) = 0x3f800000" (pointer_expression "*(undefined4 *)(plVar6 + 0xf)" * (cast_expression "(undefined4 *)(plVar6 + 0xf)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0xf)" ( (binary_expression "plVar6 + 0xf" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar6[0x10] = 0;" (assignment_expression "plVar6[0x10] = 0" (subscript_expression "plVar6[0x10]" identifier [ number_literal ]) = number_literal) ;) comment (expression_statement "FUN_0026b900(plVar6 + 0x12,param_6);" (call_expression "FUN_0026b900(plVar6 + 0x12,param_6)" identifier (argument_list "(plVar6 + 0x12,param_6)" ( (binary_expression "plVar6 + 0x12" identifier + number_literal) , identifier ))) ;) (expression_statement "plVar6[0x24] = 0;" (assignment_expression "plVar6[0x24] = 0" (subscript_expression "plVar6[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x25] = 0;" (assignment_expression "plVar6[0x25] = 0" (subscript_expression "plVar6[0x25]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x26] = 0;" (assignment_expression "plVar6[0x26] = 0" (subscript_expression "plVar6[0x26]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x27] = 0;" (assignment_expression "plVar6[0x27] = 0" (subscript_expression "plVar6[0x27]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x28] = 0;" (assignment_expression "plVar6[0x28] = 0" (subscript_expression "plVar6[0x28]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb81a to 001fb81e has its CatchHandler @ 001fb8ad */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }" if (parenthesized_expression "((plVar6[0x15] != 0) || (plVar6[0x22] != 2))" ( (binary_expression "(plVar6[0x15] != 0) || (plVar6[0x22] != 2)" (parenthesized_expression "(plVar6[0x15] != 0)" ( (binary_expression "plVar6[0x15] != 0" (subscript_expression "plVar6[0x15]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "(plVar6[0x22] != 2)" ( (binary_expression "plVar6[0x22] != 2" (subscript_expression "plVar6[0x22]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb81a to 001fb81e has its CatchHandler @ 001fb8ad */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }" { comment comment (expression_statement "FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");" (call_expression "FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null")" identifier (argument_list "("../../gold/stringpool.h",0xcc,"set_no_zero_null")" ( (string_literal ""../../gold/stringpool.h"" " string_content ") , number_literal , (string_literal ""set_no_zero_null"" " string_content ") ))) ;) })) }) (else_clause "else if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb693 to 001fb697 has its CatchHandler @ 001fb8c5 */\n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */\n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" else (if_statement "if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb693 to 001fb697 has its CatchHandler @ 001fb8c5 */\n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */\n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" if (parenthesized_expression "(param_5 == 4)" ( (binary_expression "param_5 == 4" identifier == number_literal) )) (compound_statement "{\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb693 to 001fb697 has its CatchHandler @ 001fb8c5 */\n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" { (expression_statement "plVar6 = (long *)FUN_002d9490(0x148);" (assignment_expression "plVar6 = (long *)FUN_002d9490(0x148)" identifier = (cast_expression "(long *)FUN_002d9490(0x148)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x148)" identifier (argument_list "(0x148)" ( number_literal ))))) ;) (expression_statement "plVar6[1] = 0;" (assignment_expression "plVar6[1] = 0" (subscript_expression "plVar6[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[2] = 0;" (assignment_expression "plVar6[2] = 0" (subscript_expression "plVar6[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[3] = -1;" (assignment_expression "plVar6[3] = -1" (subscript_expression "plVar6[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(plVar6 + 10) = 0xffffffff;" (assignment_expression "*(undefined4 *)(plVar6 + 10) = 0xffffffff" (pointer_expression "*(undefined4 *)(plVar6 + 10)" * (cast_expression "(undefined4 *)(plVar6 + 10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 10)" ( (binary_expression "plVar6 + 10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar6[0xb] = (long)(plVar6 + 0x11);" (assignment_expression "plVar6[0xb] = (long)(plVar6 + 0x11)" (subscript_expression "plVar6[0xb]" identifier [ number_literal ]) = (cast_expression "(long)(plVar6 + 0x11)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(plVar6 + 0x11)" ( (binary_expression "plVar6 + 0x11" identifier + number_literal) )))) ;) (expression_statement "*(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;" (assignment_expression "*(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) = (binary_expression "*(byte *)(plVar6 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "*(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;" (assignment_expression "*(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0" (pointer_expression "*(undefined1 (*) [16])(plVar6 + 0xf)" * (cast_expression "(undefined1 (*) [16])(plVar6 + 0xf)" ( (type_descriptor "undefined1 (*) [16]" type_identifier (abstract_array_declarator "(*) [16]" (abstract_parenthesized_declarator "(*)" ( (abstract_pointer_declarator "*" *) )) [ number_literal ])) ) (parenthesized_expression "(plVar6 + 0xf)" ( (binary_expression "plVar6 + 0xf" identifier + number_literal) )))) = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "*plVar6 = (long)&PTR_FUN_00435e18;" (assignment_expression "*plVar6 = (long)&PTR_FUN_00435e18" (pointer_expression "*plVar6" * identifier) = (cast_expression "(long)&PTR_FUN_00435e18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&PTR_FUN_00435e18" & identifier))) ;) (expression_statement "plVar6[5] = 0;" (assignment_expression "plVar6[5] = 0" (subscript_expression "plVar6[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[6] = param_6;" (assignment_expression "plVar6[6] = param_6" (subscript_expression "plVar6[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "plVar6[7] = 4;" (assignment_expression "plVar6[7] = 4" (subscript_expression "plVar6[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(plVar6 + 8) = 0;" (assignment_expression "*(undefined1 *)(plVar6 + 8) = 0" (pointer_expression "*(undefined1 *)(plVar6 + 8)" * (cast_expression "(undefined1 *)(plVar6 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 8)" ( (binary_expression "plVar6 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar6[9] = 0;" (assignment_expression "plVar6[9] = 0" (subscript_expression "plVar6[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x11] = 0;" (assignment_expression "plVar6[0x11] = 0" (subscript_expression "plVar6[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0xc] = 1;" (assignment_expression "plVar6[0xc] = 1" (subscript_expression "plVar6[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0xd] = 0;" (assignment_expression "plVar6[0xd] = 0" (subscript_expression "plVar6[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0xe] = 0;" (assignment_expression "plVar6[0xe] = 0" (subscript_expression "plVar6[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(plVar6 + 0xf) = 0x3f800000;" (assignment_expression "*(undefined4 *)(plVar6 + 0xf) = 0x3f800000" (pointer_expression "*(undefined4 *)(plVar6 + 0xf)" * (cast_expression "(undefined4 *)(plVar6 + 0xf)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0xf)" ( (binary_expression "plVar6 + 0xf" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar6[0x10] = 0;" (assignment_expression "plVar6[0x10] = 0" (subscript_expression "plVar6[0x10]" identifier [ number_literal ]) = number_literal) ;) comment (expression_statement "FUN_0026bfb0(plVar6 + 0x12,param_6);" (call_expression "FUN_0026bfb0(plVar6 + 0x12,param_6)" identifier (argument_list "(plVar6 + 0x12,param_6)" ( (binary_expression "plVar6 + 0x12" identifier + number_literal) , identifier ))) ;) (expression_statement "plVar6[0x24] = 0;" (assignment_expression "plVar6[0x24] = 0" (subscript_expression "plVar6[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x25] = 0;" (assignment_expression "plVar6[0x25] = 0" (subscript_expression "plVar6[0x25]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x26] = 0;" (assignment_expression "plVar6[0x26] = 0" (subscript_expression "plVar6[0x26]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x27] = 0;" (assignment_expression "plVar6[0x27] = 0" (subscript_expression "plVar6[0x27]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x28] = 0;" (assignment_expression "plVar6[0x28] = 0" (subscript_expression "plVar6[0x28]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }" if (parenthesized_expression "((plVar6[0x15] != 0) || (plVar6[0x22] != 4))" ( (binary_expression "(plVar6[0x15] != 0) || (plVar6[0x22] != 4)" (parenthesized_expression "(plVar6[0x15] != 0)" ( (binary_expression "plVar6[0x15] != 0" (subscript_expression "plVar6[0x15]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "(plVar6[0x22] != 4)" ( (binary_expression "plVar6[0x22] != 4" (subscript_expression "plVar6[0x22]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }" { comment comment (expression_statement "FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");" (call_expression "FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null")" identifier (argument_list "("../../gold/stringpool.h",0xcc,"set_no_zero_null")" ( (string_literal ""../../gold/stringpool.h"" " string_content ") , number_literal , (string_literal ""set_no_zero_null"" " string_content ") ))) ;) })) }) (else_clause "else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */\n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" else (compound_statement "{\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */\n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" { (if_statement "if (param_5 != 1) {\n        return 0;\n      }" if (parenthesized_expression "(param_5 != 1)" ( (binary_expression "param_5 != 1" identifier != number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "plVar6 = (long *)FUN_002d9490(0x148);" (assignment_expression "plVar6 = (long *)FUN_002d9490(0x148)" identifier = (cast_expression "(long *)FUN_002d9490(0x148)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x148)" identifier (argument_list "(0x148)" ( number_literal ))))) ;) (expression_statement "plVar6[1] = 0;" (assignment_expression "plVar6[1] = 0" (subscript_expression "plVar6[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[2] = 0;" (assignment_expression "plVar6[2] = 0" (subscript_expression "plVar6[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[3] = -1;" (assignment_expression "plVar6[3] = -1" (subscript_expression "plVar6[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(plVar6 + 10) = 0xffffffff;" (assignment_expression "*(undefined4 *)(plVar6 + 10) = 0xffffffff" (pointer_expression "*(undefined4 *)(plVar6 + 10)" * (cast_expression "(undefined4 *)(plVar6 + 10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 10)" ( (binary_expression "plVar6 + 10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar6[0xb] = (long)(plVar6 + 0x11);" (assignment_expression "plVar6[0xb] = (long)(plVar6 + 0x11)" (subscript_expression "plVar6[0xb]" identifier [ number_literal ]) = (cast_expression "(long)(plVar6 + 0x11)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(plVar6 + 0x11)" ( (binary_expression "plVar6 + 0x11" identifier + number_literal) )))) ;) (expression_statement "*(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;" (assignment_expression "*(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) = (binary_expression "*(byte *)(plVar6 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "*(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;" (assignment_expression "*(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0" (pointer_expression "*(undefined1 (*) [16])(plVar6 + 0xf)" * (cast_expression "(undefined1 (*) [16])(plVar6 + 0xf)" ( (type_descriptor "undefined1 (*) [16]" type_identifier (abstract_array_declarator "(*) [16]" (abstract_parenthesized_declarator "(*)" ( (abstract_pointer_declarator "*" *) )) [ number_literal ])) ) (parenthesized_expression "(plVar6 + 0xf)" ( (binary_expression "plVar6 + 0xf" identifier + number_literal) )))) = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "*plVar6 = (long)&PTR_FUN_00435c48;" (assignment_expression "*plVar6 = (long)&PTR_FUN_00435c48" (pointer_expression "*plVar6" * identifier) = (cast_expression "(long)&PTR_FUN_00435c48" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&PTR_FUN_00435c48" & identifier))) ;) (expression_statement "plVar6[5] = 0;" (assignment_expression "plVar6[5] = 0" (subscript_expression "plVar6[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[6] = param_6;" (assignment_expression "plVar6[6] = param_6" (subscript_expression "plVar6[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "plVar6[7] = 1;" (assignment_expression "plVar6[7] = 1" (subscript_expression "plVar6[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(plVar6 + 8) = 0;" (assignment_expression "*(undefined1 *)(plVar6 + 8) = 0" (pointer_expression "*(undefined1 *)(plVar6 + 8)" * (cast_expression "(undefined1 *)(plVar6 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 8)" ( (binary_expression "plVar6 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar6[9] = 0;" (assignment_expression "plVar6[9] = 0" (subscript_expression "plVar6[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x11] = 0;" (assignment_expression "plVar6[0x11] = 0" (subscript_expression "plVar6[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0xc] = 1;" (assignment_expression "plVar6[0xc] = 1" (subscript_expression "plVar6[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0xd] = 0;" (assignment_expression "plVar6[0xd] = 0" (subscript_expression "plVar6[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0xe] = 0;" (assignment_expression "plVar6[0xe] = 0" (subscript_expression "plVar6[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(plVar6 + 0xf) = 0x3f800000;" (assignment_expression "*(undefined4 *)(plVar6 + 0xf) = 0x3f800000" (pointer_expression "*(undefined4 *)(plVar6 + 0xf)" * (cast_expression "(undefined4 *)(plVar6 + 0xf)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0xf)" ( (binary_expression "plVar6 + 0xf" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar6[0x10] = 0;" (assignment_expression "plVar6[0x10] = 0" (subscript_expression "plVar6[0x10]" identifier [ number_literal ]) = number_literal) ;) comment (expression_statement "FUN_0026b2b0(plVar6 + 0x12,param_6);" (call_expression "FUN_0026b2b0(plVar6 + 0x12,param_6)" identifier (argument_list "(plVar6 + 0x12,param_6)" ( (binary_expression "plVar6 + 0x12" identifier + number_literal) , identifier ))) ;) (expression_statement "plVar6[0x24] = 0;" (assignment_expression "plVar6[0x24] = 0" (subscript_expression "plVar6[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x25] = 0;" (assignment_expression "plVar6[0x25] = 0" (subscript_expression "plVar6[0x25]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x26] = 0;" (assignment_expression "plVar6[0x26] = 0" (subscript_expression "plVar6[0x26]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x27] = 0;" (assignment_expression "plVar6[0x27] = 0" (subscript_expression "plVar6[0x27]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x28] = 0;" (assignment_expression "plVar6[0x28] = 0" (subscript_expression "plVar6[0x28]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }" if (parenthesized_expression "((plVar6[0x15] != 0) || (plVar6[0x22] != 1))" ( (binary_expression "(plVar6[0x15] != 0) || (plVar6[0x22] != 1)" (parenthesized_expression "(plVar6[0x15] != 0)" ( (binary_expression "plVar6[0x15] != 0" (subscript_expression "plVar6[0x15]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "(plVar6[0x22] != 1)" ( (binary_expression "plVar6[0x22] != 1" (subscript_expression "plVar6[0x22]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }" { comment comment (expression_statement "FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");" (call_expression "FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null")" identifier (argument_list "("../../gold/stringpool.h",0xcc,"set_no_zero_null")" ( (string_literal ""../../gold/stringpool.h"" " string_content ") , number_literal , (string_literal ""set_no_zero_null"" " string_content ") ))) ;) })) }))))) (expression_statement "*(undefined1 *)(plVar6 + 0x21) = 0;" (assignment_expression "*(undefined1 *)(plVar6 + 0x21) = 0" (pointer_expression "*(undefined1 *)(plVar6 + 0x21)" * (cast_expression "(undefined1 *)(plVar6 + 0x21)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0x21)" ( (binary_expression "plVar6 + 0x21" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar6[0x22] = 0;" (assignment_expression "plVar6[0x22] = 0" (subscript_expression "plVar6[0x22]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "lVar7 = *plVar6;" (assignment_expression "lVar7 = *plVar6" identifier = (pointer_expression "*plVar6" * identifier)) ;) (if_statement "if (param_7 != '\0') {\n    (**(code **)(lVar7 + 0xd0))(plVar6);\n    lVar7 = *plVar6;\n  }" if (parenthesized_expression "(param_7 != '\0')" ( (binary_expression "param_7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    (**(code **)(lVar7 + 0xd0))(plVar6);\n    lVar7 = *plVar6;\n  }" { (expression_statement "(**(code **)(lVar7 + 0xd0))(plVar6);" (call_expression "(**(code **)(lVar7 + 0xd0))(plVar6)" (parenthesized_expression "(**(code **)(lVar7 + 0xd0))" ( (pointer_expression "**(code **)(lVar7 + 0xd0)" * (pointer_expression "*(code **)(lVar7 + 0xd0)" * (cast_expression "(code **)(lVar7 + 0xd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar7 + 0xd0)" ( (binary_expression "lVar7 + 0xd0" identifier + number_literal) ))))) )) (argument_list "(plVar6)" ( identifier ))) ;) (expression_statement "lVar7 = *plVar6;" (assignment_expression "lVar7 = *plVar6" identifier = (pointer_expression "*plVar6" * identifier)) ;) })) (expression_statement "cVar3 = (**(code **)(lVar7 + 0xa8))(plVar6,param_2,param_3);" (assignment_expression "cVar3 = (**(code **)(lVar7 + 0xa8))(plVar6,param_2,param_3)" identifier = (call_expression "(**(code **)(lVar7 + 0xa8))(plVar6,param_2,param_3)" (parenthesized_expression "(**(code **)(lVar7 + 0xa8))" ( (pointer_expression "**(code **)(lVar7 + 0xa8)" * (pointer_expression "*(code **)(lVar7 + 0xa8)" * (cast_expression "(code **)(lVar7 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar7 + 0xa8)" ( (binary_expression "lVar7 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(plVar6,param_2,param_3)" ( identifier , identifier , identifier )))) ;) (if_statement "if (cVar3 != '\0') {\n    local_58 = (ulong)((param_4 == 0) - 3);\n    local_40 = (long *)((ulong)local_40._4_4_ << 0x20);\n    uStack_50 = param_5;\n    local_48 = plVar6;\n    FUN_001f9b40(param_1,&local_58);\n    local_58 = CONCAT71(uStack_77,local_78);\n    local_48 = (long *)local_68;\n    uStack_50 = uStack_70;\n    local_40 = plVar6;\n    FUN_00226860(*(long *)(param_1 + 0xf0) + 8,&local_58);\n    if ((char)extraout_RDX != '\0') {\n      return extraout_RDX & 0xffffffff;\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.h",0xc22,"add_merge_section");\n  }" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_58 = (ulong)((param_4 == 0) - 3);\n    local_40 = (long *)((ulong)local_40._4_4_ << 0x20);\n    uStack_50 = param_5;\n    local_48 = plVar6;\n    FUN_001f9b40(param_1,&local_58);\n    local_58 = CONCAT71(uStack_77,local_78);\n    local_48 = (long *)local_68;\n    uStack_50 = uStack_70;\n    local_40 = plVar6;\n    FUN_00226860(*(long *)(param_1 + 0xf0) + 8,&local_58);\n    if ((char)extraout_RDX != '\0') {\n      return extraout_RDX & 0xffffffff;\n    }\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/output.h",0xc22,"add_merge_section");\n  }" { (expression_statement "local_58 = (ulong)((param_4 == 0) - 3);" (assignment_expression "local_58 = (ulong)((param_4 == 0) - 3)" identifier = (call_expression "(ulong)((param_4 == 0) - 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((param_4 == 0) - 3)" ( (binary_expression "(param_4 == 0) - 3" (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) - number_literal) )))) ;) (expression_statement "local_40 = (long *)((ulong)local_40._4_4_ << 0x20);" (assignment_expression "local_40 = (long *)((ulong)local_40._4_4_ << 0x20)" identifier = (cast_expression "(long *)((ulong)local_40._4_4_ << 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)local_40._4_4_ << 0x20)" ( (binary_expression "(ulong)local_40._4_4_ << 0x20" (cast_expression "(ulong)local_40._4_4_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "local_40._4_4_" identifier . field_identifier)) << number_literal) )))) ;) (expression_statement "uStack_50 = param_5;" (assignment_expression "uStack_50 = param_5" identifier = identifier) ;) (expression_statement "local_48 = plVar6;" (assignment_expression "local_48 = plVar6" identifier = identifier) ;) (expression_statement "FUN_001f9b40(param_1,&local_58);" (call_expression "FUN_001f9b40(param_1,&local_58)" identifier (argument_list "(param_1,&local_58)" ( identifier , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "local_58 = CONCAT71(uStack_77,local_78);" (assignment_expression "local_58 = CONCAT71(uStack_77,local_78)" identifier = (call_expression "CONCAT71(uStack_77,local_78)" identifier (argument_list "(uStack_77,local_78)" ( identifier , identifier )))) ;) (expression_statement "local_48 = (long *)local_68;" (assignment_expression "local_48 = (long *)local_68" identifier = (cast_expression "(long *)local_68" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uStack_50 = uStack_70;" (assignment_expression "uStack_50 = uStack_70" identifier = identifier) ;) (expression_statement "local_40 = plVar6;" (assignment_expression "local_40 = plVar6" identifier = identifier) ;) (expression_statement "FUN_00226860(*(long *)(param_1 + 0xf0) + 8,&local_58);" (call_expression "FUN_00226860(*(long *)(param_1 + 0xf0) + 8,&local_58)" identifier (argument_list "(*(long *)(param_1 + 0xf0) + 8,&local_58)" ( (binary_expression "*(long *)(param_1 + 0xf0) + 8" (pointer_expression "*(long *)(param_1 + 0xf0)" * (cast_expression "(long *)(param_1 + 0xf0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf0)" ( (binary_expression "param_1 + 0xf0" identifier + number_literal) )))) + number_literal) , (pointer_expression "&local_58" & identifier) ))) ;) (if_statement "if ((char)extraout_RDX != '\0') {\n      return extraout_RDX & 0xffffffff;\n    }" if (parenthesized_expression "((char)extraout_RDX != '\0')" ( (binary_expression "(char)extraout_RDX != '\0'" (cast_expression "(char)extraout_RDX" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return extraout_RDX & 0xffffffff;\n    }" { (return_statement "return extraout_RDX & 0xffffffff;" return (binary_expression "extraout_RDX & 0xffffffff" identifier & number_literal) ;) })) comment (expression_statement "FUN_0017c650("../../gold/output.h",0xc22,"add_merge_section");" (call_expression "FUN_0017c650("../../gold/output.h",0xc22,"add_merge_section")" identifier (argument_list "("../../gold/output.h",0xc22,"add_merge_section")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""add_merge_section"" " string_content ") ))) ;) })) (expression_statement "(**(code **)(*plVar6 + 8))(plVar6);" (call_expression "(**(code **)(*plVar6 + 8))(plVar6)" (parenthesized_expression "(**(code **)(*plVar6 + 8))" ( (pointer_expression "**(code **)(*plVar6 + 8)" * (pointer_expression "*(code **)(*plVar6 + 8)" * (cast_expression "(code **)(*plVar6 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 8)" ( (binary_expression "*plVar6 + 8" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) )) (argument_list "(plVar6)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "/* DWARF original prototype: bool add_merge_input_section(Output_section * this, Relobj * object,\n   uint shndx, uint64_t flags, uint64_t entsize, uint64_t addralign, bool keeps_input_sections) */\n\nbool __thiscall\ngold::Output_section::add_merge_input_section\n          (Output_section *this,Relobj *object,uint shndx,uint64_t flags,uint64_t entsize,\n          uint64_t addralign,bool keeps_input_sections)\n\n{\n  byte *pbVar1;\n  Output_section_lookup_maps *pOVar2;\n  _Hash_node_base *p_Var3;\n  uint uVar4;\n  char cVar5;\n  undefined1 uVar6;\n  int iVar7;\n  __node_base *p_Var8;\n  anon_union_8_4_139239c7_for_u2_ aVar9;\n  _func_int_varargs **pp_Var10;\n  _Hash_node_base *p_Var11;\n  _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *this_00;\n  Compressed_section_map **ppCVar12;\n  __hash_code __code;\n  size_t __n;\n  bool bVar13;\n  pair<std::__detail::_Node_iterator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_false,_true>,_bool>\n  pVar14;\n  Merge_section_properties msp;\n  Input_section inp;\n  \n  if (entsize == 0) {\n    return false;\n  }\n  bVar13 = (flags & 0x20) != 0;\n  if (this->checkpoint_ != (Checkpoint_output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.cc",0xaa7,"add_merge_input_section");\n  }\n  pOVar2 = this->lookup_maps_;\n  if (pOVar2->is_valid_ == false) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.cc",0xaad,"add_merge_input_section");\n  }\n  __code = ((((ulong)bVar13 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ entsize) * 0x100000001b3 ^\n           addralign) * 0x100000001b3;\n  msp.is_string_ = bVar13;\n  msp.entsize_ = entsize;\n  msp.addralign_ = addralign;\n  p_Var8 = std::\n           _Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::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<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&pOVar2->merge_sections_by_properties_,\n                      __code % (pOVar2->merge_sections_by_properties_)._M_h._M_bucket_count,&msp,\n                      __code);\n  if (((p_Var8 != (__node_base *)0x0) && (p_Var8->_M_nxt != (_Hash_node_base *)0x0)) &&\n     (p_Var3 = p_Var8->_M_nxt[4]._M_nxt, p_Var3 != (_Hash_node_base *)0x0)) {\n    cVar5 = (*(code *)p_Var3->_M_nxt[0x19]._M_nxt)(p_Var3);\n    if ((bVar13 == (bool)cVar5) && ((_Hash_node_base *)entsize == p_Var3[7]._M_nxt)) {\n      p_Var11 = p_Var3->_M_nxt[3]._M_nxt;\n      if (p_Var11 == (_Hash_node_base *)Output_section_data::do_addralign) {\n        p_Var11 = p_Var3[6]._M_nxt;\n      }\n      else {\n        p_Var11 = (_Hash_node_base *)(*(code *)p_Var11)(p_Var3);\n      }\n      if ((_Hash_node_base *)addralign == p_Var11) {\n        uVar6 = (*(code *)p_Var3->_M_nxt[0x15]._M_nxt)(p_Var3,object,shndx);\n        return (bool)uVar6;\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.cc",0xab5,"add_merge_input_section");\n  }\n  if ((flags & 0x20) == 0) {\n    aVar9.object = (Relobj *)operator_new(0xf8);\n    __n = 0x80;\n    ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n    ((aVar9.object)->super_Object).name_._M_string_length = 0;\n    ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n    (aVar9.pomb)->first_shndx_ = 0xffffffff;\n    *(bool *)((long)aVar9 + 0x78) = false;\n    uVar4 = DAT_00377cb4;\n    *(undefined7 *)((long)aVar9 + 0x79) = 0;\n    *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n    ((aVar9.object)->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = (pointer)&(aVar9.object)->sd_;\n    ((aVar9.object)->super_Object)._vptr_Object =\n         (_func_int_varargs **)&PTR__Output_merge_data_00438220;\n    ppCVar12 = &aVar9.object[1].super_Object.compressed_sections_;\n    pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n    *pbVar1 = *pbVar1 & 0xe0;\n    ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n    (aVar9.posd)->addralign_ = addralign;\n    (aVar9.pomb)->entsize_ = entsize;\n    (aVar9.pomb)->keeps_input_sections_ = false;\n    ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n    (aVar9.object)->sd_ = (Symbols_data *)0x0;\n    ((aVar9.object)->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_end_of_storage = (pointer)0x1;\n    (aVar9.object)->map_to_relocatable_relocs_ =\n         (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n    (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n    *(uint *)&(aVar9.object)->relocs_must_follow_section_writes_ = uVar4;\n    (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n    (aVar9.object)->reloc_counts_ = (uint *)0x0;\n    (aVar9.object)->reloc_bases_ = (uint *)0x0;\n    *(uint *)((long)aVar9 + 0xa0) = 0;\n    *(uint *)((long)aVar9 + 0xa4) = 0;\n    aVar9.object[1].super_Object._vptr_Object = (_func_int_varargs **)0x0;\n    aVar9.object[1].super_Object.name_._M_dataplus._M_p = (pointer)aVar9;\n    aVar9.object[1].super_Object.name_._M_string_length = (size_type)aVar9;\n    aVar9.object[1].super_Object.name_.field_2._M_allocated_capacity = (size_type)ppCVar12;\n    *(undefined8 *)((long)&aVar9.object[1].super_Object.name_.field_2 + 8) = 1;\n    aVar9.object[1].super_Object.input_file_ = (Input_file *)0x0;\n    aVar9.object[1].super_Object.offset_ = 0;\n    aVar9.object[1].super_Object.shnum_ = uVar4;\n    aVar9.object[1].super_Object.xindex_ = (Xindex *)0x0;\n    aVar9.object[1].super_Object.compressed_sections_ = (Compressed_section_map *)0x0;\n                    /* try { // try from 001fb58b to 001fb5b1 has its CatchHandler @ 001fb895 */\n    this_00 = (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *)\n              std::__detail::_Prime_rehash_policy::_M_next_bkt\n                        ((_Prime_rehash_policy *)&aVar9.object[1].super_Object.shnum_,0x80);\n    if (*(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **)\n         ((long)&aVar9.object[1].super_Object.name_.field_2 + 8) < this_00) {\n      if (this_00 ==\n          (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *)0x1) {\n        aVar9.object[1].super_Object.compressed_sections_ = (Compressed_section_map *)0x0;\n      }\n      else {\n        ppCVar12 = (Compressed_section_map **)\n                   std::__detail::\n                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_>::\n                   _M_allocate_buckets(this_00,__n);\n      }\n      aVar9.object[1].super_Object.name_.field_2._M_allocated_capacity = (size_type)ppCVar12;\n      *(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **)\n       ((long)&aVar9.object[1].super_Object.name_.field_2 + 8) = this_00;\n    }\n  }\n  else {\n    if (entsize == 2) {\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435d30;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 2;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb7b3 to 001fb7b7 has its CatchHandler @ 001fb8bd */\n      Stringpool_template<short_unsigned_int>::Stringpool_template\n                ((Stringpool_template<short_unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign\n                );\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb81a to 001fb81e has its CatchHandler @ 001fb8ad */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (entsize == 4) {\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435e18;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 4;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb693 to 001fb697 has its CatchHandler @ 001fb8c5 */\n      Stringpool_template<unsigned_int>::Stringpool_template\n                ((Stringpool_template<unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign);\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x4)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (entsize != 1) {\n        return false;\n      }\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435c48;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 1;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */\n      Stringpool_template<char>::Stringpool_template\n                ((Stringpool_template<char> *)&(aVar9.object)->reloc_counts_,addralign);\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x1)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    *(undefined1 *)\n     &aVar9.object[1].output_sections_.\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = 0;\n    aVar9.object[1].map_to_relocatable_relocs_ =\n         (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n  }\n  pp_Var10 = ((aVar9.object)->super_Object)._vptr_Object;\n  if (keeps_input_sections) {\n    (*pp_Var10[0x1a])(aVar9.object);\n    pp_Var10 = ((aVar9.object)->super_Object)._vptr_Object;\n  }\n  iVar7 = (*pp_Var10[0x15])(aVar9.object,object,(ulong)shndx);\n  if ((char)iVar7 != '\0') {\n    inp.p2align_ = 0;\n    inp.shndx_ = ((flags & 0x20) == 0) - 3;\n    inp._24_8_ = (ulong)(uint)inp._28_4_ << 0x20;\n    inp.u1_.entsize = entsize;\n    inp.u2_ = aVar9;\n    add_output_section_data(this,&inp);\n    inp._1_7_ = msp._1_7_;\n    inp.shndx_._0_1_ = msp.is_string_;\n    inp.u2_ = (anon_union_8_4_139239c7_for_u2_)msp.addralign_;\n    inp.u1_.entsize = msp.entsize_;\n    inp._24_8_ = aVar9;\n    pVar14 = std::\n             _Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::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_emplace<std::pair<gold::Merge_section_properties,_gold::Output_merge_base*>&>\n                       ((_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                         *)&this->lookup_maps_->merge_sections_by_properties_,&inp);\n    if (pVar14.second != false) {\n      return pVar14.second;\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0xc22,"add_merge_section");\n  }\n  (*((aVar9.object)->super_Object)._vptr_Object[1])(aVar9.object);\n  return false;\n}\n\n" comment (function_definition "bool __thiscall\ngold::Output_section::add_merge_input_section\n          (Output_section *this,Relobj *object,uint shndx,uint64_t flags,uint64_t entsize,\n          uint64_t addralign,bool keeps_input_sections)\n\n{\n  byte *pbVar1;\n  Output_section_lookup_maps *pOVar2;\n  _Hash_node_base *p_Var3;\n  uint uVar4;\n  char cVar5;\n  undefined1 uVar6;\n  int iVar7;\n  __node_base *p_Var8;\n  anon_union_8_4_139239c7_for_u2_ aVar9;\n  _func_int_varargs **pp_Var10;\n  _Hash_node_base *p_Var11;\n  _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *this_00;\n  Compressed_section_map **ppCVar12;\n  __hash_code __code;\n  size_t __n;\n  bool bVar13;\n  pair<std::__detail::_Node_iterator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_false,_true>,_bool>\n  pVar14;\n  Merge_section_properties msp;\n  Input_section inp;\n  \n  if (entsize == 0) {\n    return false;\n  }\n  bVar13 = (flags & 0x20) != 0;\n  if (this->checkpoint_ != (Checkpoint_output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.cc",0xaa7,"add_merge_input_section");\n  }\n  pOVar2 = this->lookup_maps_;\n  if (pOVar2->is_valid_ == false) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.cc",0xaad,"add_merge_input_section");\n  }\n  __code = ((((ulong)bVar13 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ entsize) * 0x100000001b3 ^\n           addralign) * 0x100000001b3;\n  msp.is_string_ = bVar13;\n  msp.entsize_ = entsize;\n  msp.addralign_ = addralign;\n  p_Var8 = std::\n           _Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::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<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&pOVar2->merge_sections_by_properties_,\n                      __code % (pOVar2->merge_sections_by_properties_)._M_h._M_bucket_count,&msp,\n                      __code);\n  if (((p_Var8 != (__node_base *)0x0) && (p_Var8->_M_nxt != (_Hash_node_base *)0x0)) &&\n     (p_Var3 = p_Var8->_M_nxt[4]._M_nxt, p_Var3 != (_Hash_node_base *)0x0)) {\n    cVar5 = (*(code *)p_Var3->_M_nxt[0x19]._M_nxt)(p_Var3);\n    if ((bVar13 == (bool)cVar5) && ((_Hash_node_base *)entsize == p_Var3[7]._M_nxt)) {\n      p_Var11 = p_Var3->_M_nxt[3]._M_nxt;\n      if (p_Var11 == (_Hash_node_base *)Output_section_data::do_addralign) {\n        p_Var11 = p_Var3[6]._M_nxt;\n      }\n      else {\n        p_Var11 = (_Hash_node_base *)(*(code *)p_Var11)(p_Var3);\n      }\n      if ((_Hash_node_base *)addralign == p_Var11) {\n        uVar6 = (*(code *)p_Var3->_M_nxt[0x15]._M_nxt)(p_Var3,object,shndx);\n        return (bool)uVar6;\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.cc",0xab5,"add_merge_input_section");\n  }\n  if ((flags & 0x20) == 0) {\n    aVar9.object = (Relobj *)operator_new(0xf8);\n    __n = 0x80;\n    ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n    ((aVar9.object)->super_Object).name_._M_string_length = 0;\n    ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n    (aVar9.pomb)->first_shndx_ = 0xffffffff;\n    *(bool *)((long)aVar9 + 0x78) = false;\n    uVar4 = DAT_00377cb4;\n    *(undefined7 *)((long)aVar9 + 0x79) = 0;\n    *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n    ((aVar9.object)->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = (pointer)&(aVar9.object)->sd_;\n    ((aVar9.object)->super_Object)._vptr_Object =\n         (_func_int_varargs **)&PTR__Output_merge_data_00438220;\n    ppCVar12 = &aVar9.object[1].super_Object.compressed_sections_;\n    pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n    *pbVar1 = *pbVar1 & 0xe0;\n    ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n    (aVar9.posd)->addralign_ = addralign;\n    (aVar9.pomb)->entsize_ = entsize;\n    (aVar9.pomb)->keeps_input_sections_ = false;\n    ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n    (aVar9.object)->sd_ = (Symbols_data *)0x0;\n    ((aVar9.object)->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_end_of_storage = (pointer)0x1;\n    (aVar9.object)->map_to_relocatable_relocs_ =\n         (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n    (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n    *(uint *)&(aVar9.object)->relocs_must_follow_section_writes_ = uVar4;\n    (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n    (aVar9.object)->reloc_counts_ = (uint *)0x0;\n    (aVar9.object)->reloc_bases_ = (uint *)0x0;\n    *(uint *)((long)aVar9 + 0xa0) = 0;\n    *(uint *)((long)aVar9 + 0xa4) = 0;\n    aVar9.object[1].super_Object._vptr_Object = (_func_int_varargs **)0x0;\n    aVar9.object[1].super_Object.name_._M_dataplus._M_p = (pointer)aVar9;\n    aVar9.object[1].super_Object.name_._M_string_length = (size_type)aVar9;\n    aVar9.object[1].super_Object.name_.field_2._M_allocated_capacity = (size_type)ppCVar12;\n    *(undefined8 *)((long)&aVar9.object[1].super_Object.name_.field_2 + 8) = 1;\n    aVar9.object[1].super_Object.input_file_ = (Input_file *)0x0;\n    aVar9.object[1].super_Object.offset_ = 0;\n    aVar9.object[1].super_Object.shnum_ = uVar4;\n    aVar9.object[1].super_Object.xindex_ = (Xindex *)0x0;\n    aVar9.object[1].super_Object.compressed_sections_ = (Compressed_section_map *)0x0;\n                    /* try { // try from 001fb58b to 001fb5b1 has its CatchHandler @ 001fb895 */\n    this_00 = (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *)\n              std::__detail::_Prime_rehash_policy::_M_next_bkt\n                        ((_Prime_rehash_policy *)&aVar9.object[1].super_Object.shnum_,0x80);\n    if (*(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **)\n         ((long)&aVar9.object[1].super_Object.name_.field_2 + 8) < this_00) {\n      if (this_00 ==\n          (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *)0x1) {\n        aVar9.object[1].super_Object.compressed_sections_ = (Compressed_section_map *)0x0;\n      }\n      else {\n        ppCVar12 = (Compressed_section_map **)\n                   std::__detail::\n                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_>::\n                   _M_allocate_buckets(this_00,__n);\n      }\n      aVar9.object[1].super_Object.name_.field_2._M_allocated_capacity = (size_type)ppCVar12;\n      *(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **)\n       ((long)&aVar9.object[1].super_Object.name_.field_2 + 8) = this_00;\n    }\n  }\n  else {\n    if (entsize == 2) {\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435d30;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 2;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb7b3 to 001fb7b7 has its CatchHandler @ 001fb8bd */\n      Stringpool_template<short_unsigned_int>::Stringpool_template\n                ((Stringpool_template<short_unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign\n                );\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb81a to 001fb81e has its CatchHandler @ 001fb8ad */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (entsize == 4) {\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435e18;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 4;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb693 to 001fb697 has its CatchHandler @ 001fb8c5 */\n      Stringpool_template<unsigned_int>::Stringpool_template\n                ((Stringpool_template<unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign);\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x4)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (entsize != 1) {\n        return false;\n      }\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435c48;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 1;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */\n      Stringpool_template<char>::Stringpool_template\n                ((Stringpool_template<char> *)&(aVar9.object)->reloc_counts_,addralign);\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x1)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    *(undefined1 *)\n     &aVar9.object[1].output_sections_.\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = 0;\n    aVar9.object[1].map_to_relocatable_relocs_ =\n         (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n  }\n  pp_Var10 = ((aVar9.object)->super_Object)._vptr_Object;\n  if (keeps_input_sections) {\n    (*pp_Var10[0x1a])(aVar9.object);\n    pp_Var10 = ((aVar9.object)->super_Object)._vptr_Object;\n  }\n  iVar7 = (*pp_Var10[0x15])(aVar9.object,object,(ulong)shndx);\n  if ((char)iVar7 != '\0') {\n    inp.p2align_ = 0;\n    inp.shndx_ = ((flags & 0x20) == 0) - 3;\n    inp._24_8_ = (ulong)(uint)inp._28_4_ << 0x20;\n    inp.u1_.entsize = entsize;\n    inp.u2_ = aVar9;\n    add_output_section_data(this,&inp);\n    inp._1_7_ = msp._1_7_;\n    inp.shndx_._0_1_ = msp.is_string_;\n    inp.u2_ = (anon_union_8_4_139239c7_for_u2_)msp.addralign_;\n    inp.u1_.entsize = msp.entsize_;\n    inp._24_8_ = aVar9;\n    pVar14 = std::\n             _Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::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_emplace<std::pair<gold::Merge_section_properties,_gold::Output_merge_base*>&>\n                       ((_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                         *)&this->lookup_maps_->merge_sections_by_properties_,&inp);\n    if (pVar14.second != false) {\n      return pVar14.second;\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0xc22,"add_merge_section");\n  }\n  (*((aVar9.object)->super_Object)._vptr_Object[1])(aVar9.object);\n  return false;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Output_section::" identifier : : identifier : :) (function_declarator "add_merge_input_section\n          (Output_section *this,Relobj *object,uint shndx,uint64_t flags,uint64_t entsize,\n          uint64_t addralign,bool keeps_input_sections)" identifier (parameter_list "(Output_section *this,Relobj *object,uint shndx,uint64_t flags,uint64_t entsize,\n          uint64_t addralign,bool keeps_input_sections)" ( (parameter_declaration "Output_section *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Relobj *object" type_identifier (pointer_declarator "*object" * identifier)) , (parameter_declaration "uint shndx" type_identifier identifier) , (parameter_declaration "uint64_t flags" primitive_type identifier) , (parameter_declaration "uint64_t entsize" primitive_type identifier) , (parameter_declaration "uint64_t addralign" primitive_type identifier) , (parameter_declaration "bool keeps_input_sections" primitive_type identifier) ))) (compound_statement "{\n  byte *pbVar1;\n  Output_section_lookup_maps *pOVar2;\n  _Hash_node_base *p_Var3;\n  uint uVar4;\n  char cVar5;\n  undefined1 uVar6;\n  int iVar7;\n  __node_base *p_Var8;\n  anon_union_8_4_139239c7_for_u2_ aVar9;\n  _func_int_varargs **pp_Var10;\n  _Hash_node_base *p_Var11;\n  _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *this_00;\n  Compressed_section_map **ppCVar12;\n  __hash_code __code;\n  size_t __n;\n  bool bVar13;\n  pair<std::__detail::_Node_iterator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_false,_true>,_bool>\n  pVar14;\n  Merge_section_properties msp;\n  Input_section inp;\n  \n  if (entsize == 0) {\n    return false;\n  }\n  bVar13 = (flags & 0x20) != 0;\n  if (this->checkpoint_ != (Checkpoint_output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.cc",0xaa7,"add_merge_input_section");\n  }\n  pOVar2 = this->lookup_maps_;\n  if (pOVar2->is_valid_ == false) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.cc",0xaad,"add_merge_input_section");\n  }\n  __code = ((((ulong)bVar13 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ entsize) * 0x100000001b3 ^\n           addralign) * 0x100000001b3;\n  msp.is_string_ = bVar13;\n  msp.entsize_ = entsize;\n  msp.addralign_ = addralign;\n  p_Var8 = std::\n           _Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::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<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&pOVar2->merge_sections_by_properties_,\n                      __code % (pOVar2->merge_sections_by_properties_)._M_h._M_bucket_count,&msp,\n                      __code);\n  if (((p_Var8 != (__node_base *)0x0) && (p_Var8->_M_nxt != (_Hash_node_base *)0x0)) &&\n     (p_Var3 = p_Var8->_M_nxt[4]._M_nxt, p_Var3 != (_Hash_node_base *)0x0)) {\n    cVar5 = (*(code *)p_Var3->_M_nxt[0x19]._M_nxt)(p_Var3);\n    if ((bVar13 == (bool)cVar5) && ((_Hash_node_base *)entsize == p_Var3[7]._M_nxt)) {\n      p_Var11 = p_Var3->_M_nxt[3]._M_nxt;\n      if (p_Var11 == (_Hash_node_base *)Output_section_data::do_addralign) {\n        p_Var11 = p_Var3[6]._M_nxt;\n      }\n      else {\n        p_Var11 = (_Hash_node_base *)(*(code *)p_Var11)(p_Var3);\n      }\n      if ((_Hash_node_base *)addralign == p_Var11) {\n        uVar6 = (*(code *)p_Var3->_M_nxt[0x15]._M_nxt)(p_Var3,object,shndx);\n        return (bool)uVar6;\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.cc",0xab5,"add_merge_input_section");\n  }\n  if ((flags & 0x20) == 0) {\n    aVar9.object = (Relobj *)operator_new(0xf8);\n    __n = 0x80;\n    ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n    ((aVar9.object)->super_Object).name_._M_string_length = 0;\n    ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n    (aVar9.pomb)->first_shndx_ = 0xffffffff;\n    *(bool *)((long)aVar9 + 0x78) = false;\n    uVar4 = DAT_00377cb4;\n    *(undefined7 *)((long)aVar9 + 0x79) = 0;\n    *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n    ((aVar9.object)->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = (pointer)&(aVar9.object)->sd_;\n    ((aVar9.object)->super_Object)._vptr_Object =\n         (_func_int_varargs **)&PTR__Output_merge_data_00438220;\n    ppCVar12 = &aVar9.object[1].super_Object.compressed_sections_;\n    pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n    *pbVar1 = *pbVar1 & 0xe0;\n    ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n    (aVar9.posd)->addralign_ = addralign;\n    (aVar9.pomb)->entsize_ = entsize;\n    (aVar9.pomb)->keeps_input_sections_ = false;\n    ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n    (aVar9.object)->sd_ = (Symbols_data *)0x0;\n    ((aVar9.object)->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_end_of_storage = (pointer)0x1;\n    (aVar9.object)->map_to_relocatable_relocs_ =\n         (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n    (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n    *(uint *)&(aVar9.object)->relocs_must_follow_section_writes_ = uVar4;\n    (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n    (aVar9.object)->reloc_counts_ = (uint *)0x0;\n    (aVar9.object)->reloc_bases_ = (uint *)0x0;\n    *(uint *)((long)aVar9 + 0xa0) = 0;\n    *(uint *)((long)aVar9 + 0xa4) = 0;\n    aVar9.object[1].super_Object._vptr_Object = (_func_int_varargs **)0x0;\n    aVar9.object[1].super_Object.name_._M_dataplus._M_p = (pointer)aVar9;\n    aVar9.object[1].super_Object.name_._M_string_length = (size_type)aVar9;\n    aVar9.object[1].super_Object.name_.field_2._M_allocated_capacity = (size_type)ppCVar12;\n    *(undefined8 *)((long)&aVar9.object[1].super_Object.name_.field_2 + 8) = 1;\n    aVar9.object[1].super_Object.input_file_ = (Input_file *)0x0;\n    aVar9.object[1].super_Object.offset_ = 0;\n    aVar9.object[1].super_Object.shnum_ = uVar4;\n    aVar9.object[1].super_Object.xindex_ = (Xindex *)0x0;\n    aVar9.object[1].super_Object.compressed_sections_ = (Compressed_section_map *)0x0;\n                    /* try { // try from 001fb58b to 001fb5b1 has its CatchHandler @ 001fb895 */\n    this_00 = (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *)\n              std::__detail::_Prime_rehash_policy::_M_next_bkt\n                        ((_Prime_rehash_policy *)&aVar9.object[1].super_Object.shnum_,0x80);\n    if (*(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **)\n         ((long)&aVar9.object[1].super_Object.name_.field_2 + 8) < this_00) {\n      if (this_00 ==\n          (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *)0x1) {\n        aVar9.object[1].super_Object.compressed_sections_ = (Compressed_section_map *)0x0;\n      }\n      else {\n        ppCVar12 = (Compressed_section_map **)\n                   std::__detail::\n                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_>::\n                   _M_allocate_buckets(this_00,__n);\n      }\n      aVar9.object[1].super_Object.name_.field_2._M_allocated_capacity = (size_type)ppCVar12;\n      *(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **)\n       ((long)&aVar9.object[1].super_Object.name_.field_2 + 8) = this_00;\n    }\n  }\n  else {\n    if (entsize == 2) {\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435d30;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 2;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb7b3 to 001fb7b7 has its CatchHandler @ 001fb8bd */\n      Stringpool_template<short_unsigned_int>::Stringpool_template\n                ((Stringpool_template<short_unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign\n                );\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb81a to 001fb81e has its CatchHandler @ 001fb8ad */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (entsize == 4) {\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435e18;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 4;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb693 to 001fb697 has its CatchHandler @ 001fb8c5 */\n      Stringpool_template<unsigned_int>::Stringpool_template\n                ((Stringpool_template<unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign);\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x4)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (entsize != 1) {\n        return false;\n      }\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435c48;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 1;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */\n      Stringpool_template<char>::Stringpool_template\n                ((Stringpool_template<char> *)&(aVar9.object)->reloc_counts_,addralign);\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x1)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    *(undefined1 *)\n     &aVar9.object[1].output_sections_.\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = 0;\n    aVar9.object[1].map_to_relocatable_relocs_ =\n         (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n  }\n  pp_Var10 = ((aVar9.object)->super_Object)._vptr_Object;\n  if (keeps_input_sections) {\n    (*pp_Var10[0x1a])(aVar9.object);\n    pp_Var10 = ((aVar9.object)->super_Object)._vptr_Object;\n  }\n  iVar7 = (*pp_Var10[0x15])(aVar9.object,object,(ulong)shndx);\n  if ((char)iVar7 != '\0') {\n    inp.p2align_ = 0;\n    inp.shndx_ = ((flags & 0x20) == 0) - 3;\n    inp._24_8_ = (ulong)(uint)inp._28_4_ << 0x20;\n    inp.u1_.entsize = entsize;\n    inp.u2_ = aVar9;\n    add_output_section_data(this,&inp);\n    inp._1_7_ = msp._1_7_;\n    inp.shndx_._0_1_ = msp.is_string_;\n    inp.u2_ = (anon_union_8_4_139239c7_for_u2_)msp.addralign_;\n    inp.u1_.entsize = msp.entsize_;\n    inp._24_8_ = aVar9;\n    pVar14 = std::\n             _Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::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_emplace<std::pair<gold::Merge_section_properties,_gold::Output_merge_base*>&>\n                       ((_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                         *)&this->lookup_maps_->merge_sections_by_properties_,&inp);\n    if (pVar14.second != false) {\n      return pVar14.second;\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0xc22,"add_merge_section");\n  }\n  (*((aVar9.object)->super_Object)._vptr_Object[1])(aVar9.object);\n  return false;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "Output_section_lookup_maps *pOVar2;" type_identifier (pointer_declarator "*pOVar2" * identifier) ;) (declaration "_Hash_node_base *p_Var3;" type_identifier (pointer_declarator "*p_Var3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "char cVar5;" primitive_type identifier ;) (declaration "undefined1 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "__node_base *p_Var8;" type_identifier (pointer_declarator "*p_Var8" * identifier) ;) (declaration "anon_union_8_4_139239c7_for_u2_ aVar9;" type_identifier identifier ;) (declaration "_func_int_varargs **pp_Var10;" type_identifier (pointer_declarator "**pp_Var10" * (pointer_declarator "*pp_Var10" * identifier)) ;) (declaration "_Hash_node_base *p_Var11;" type_identifier (pointer_declarator "*p_Var11" * identifier) ;) (ERROR "_Hashtable_alloc<std::allocator<std::" (binary_expression "_Hashtable_alloc<std::allocator<std" (binary_expression "_Hashtable_alloc<std" identifier < identifier) (ERROR "::allocator" : : identifier) < identifier) : :) (labeled_statement "__detail::_Hash_node<long_int,_true>_>_> *this_00;" statement_identifier : (ERROR ":" :) (expression_statement "_Hash_node<long_int,_true>_>_> *this_00;" (comma_expression "_Hash_node<long_int,_true>_>_> *this_00" (binary_expression "_Hash_node<long_int" identifier < identifier) , (binary_expression "_true>_>_> *this_00" (binary_expression "_true>_>_" (binary_expression "_true>_" identifier > identifier) > identifier) > (pointer_expression "*this_00" * identifier))) ;)) (declaration "Compressed_section_map **ppCVar12;" type_identifier (pointer_declarator "**ppCVar12" * (pointer_declarator "*ppCVar12" * identifier)) ;) (declaration "__hash_code __code;" type_identifier identifier ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "bool bVar13;" primitive_type identifier ;) (ERROR "pair<std::" (binary_expression "pair<std" identifier < identifier) : :) (labeled_statement "__detail::_Node_iterator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_false,_true>,_bool>\n  pVar14;" statement_identifier (ERROR "::_Node_iterator<std::pair<const_gold::Merge_section_properties,_gold:" : : (binary_expression "_Node_iterator<std" identifier < identifier) : : (binary_expression "pair<const_gold" identifier < identifier) : : (comma_expression "Merge_section_properties,_gold" identifier , identifier) :) : (expression_statement "Output_merge_base*>,_false,_true>,_bool>\n  pVar14;" (comma_expression "Output_merge_base*>,_false,_true>,_bool>\n  pVar14" (binary_expression "Output_merge_base*>,_false" identifier * (ERROR ">," > ,) identifier) , (binary_expression "_true>,_bool>\n  pVar14" (binary_expression "_true>,_bool" identifier > (ERROR "," ,) identifier) > identifier)) ;)) (declaration "Merge_section_properties msp;" type_identifier identifier ;) (declaration "Input_section inp;" type_identifier identifier ;) (if_statement "if (entsize == 0) {\n    return false;\n  }" if (parenthesized_expression "(entsize == 0)" ( (binary_expression "entsize == 0" identifier == number_literal) )) (compound_statement "{\n    return false;\n  }" { (return_statement "return false;" return false ;) })) (expression_statement "bVar13 = (flags & 0x20) != 0;" (assignment_expression "bVar13 = (flags & 0x20) != 0" identifier = (binary_expression "(flags & 0x20) != 0" (parenthesized_expression "(flags & 0x20)" ( (binary_expression "flags & 0x20" identifier & number_literal) )) != number_literal)) ;) (if_statement "if (this->checkpoint_ != (Checkpoint_output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.cc",0xaa7,"add_merge_input_section");\n  }" if (parenthesized_expression "(this->checkpoint_ != (Checkpoint_output_section *)0x0)" ( (binary_expression "this->checkpoint_ != (Checkpoint_output_section *)0x0" (field_expression "this->checkpoint_" identifier -> field_identifier) != (cast_expression "(Checkpoint_output_section *)0x0" ( (type_descriptor "Checkpoint_output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.cc",0xaa7,"add_merge_input_section");\n  }" { comment (expression_statement "do_gold_unreachable("../../gold/output.cc",0xaa7,"add_merge_input_section");" (call_expression "do_gold_unreachable("../../gold/output.cc",0xaa7,"add_merge_input_section")" identifier (argument_list "("../../gold/output.cc",0xaa7,"add_merge_input_section")" ( (string_literal ""../../gold/output.cc"" " string_content ") , number_literal , (string_literal ""add_merge_input_section"" " string_content ") ))) ;) })) (expression_statement "pOVar2 = this->lookup_maps_;" (assignment_expression "pOVar2 = this->lookup_maps_" identifier = (field_expression "this->lookup_maps_" identifier -> field_identifier)) ;) (if_statement "if (pOVar2->is_valid_ == false) {\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.cc",0xaad,"add_merge_input_section");\n  }" if (parenthesized_expression "(pOVar2->is_valid_ == false)" ( (binary_expression "pOVar2->is_valid_ == false" (field_expression "pOVar2->is_valid_" identifier -> field_identifier) == false) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.cc",0xaad,"add_merge_input_section");\n  }" { comment (expression_statement "do_gold_unreachable("../../gold/output.cc",0xaad,"add_merge_input_section");" (call_expression "do_gold_unreachable("../../gold/output.cc",0xaad,"add_merge_input_section")" identifier (argument_list "("../../gold/output.cc",0xaad,"add_merge_input_section")" ( (string_literal ""../../gold/output.cc"" " string_content ") , number_literal , (string_literal ""add_merge_input_section"" " string_content ") ))) ;) })) (expression_statement "__code = ((((ulong)bVar13 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ entsize) * 0x100000001b3 ^\n           addralign) * 0x100000001b3;" (assignment_expression "__code = ((((ulong)bVar13 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ entsize) * 0x100000001b3 ^\n           addralign) * 0x100000001b3" identifier = (binary_expression "((((ulong)bVar13 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ entsize) * 0x100000001b3 ^\n           addralign) * 0x100000001b3" (parenthesized_expression "((((ulong)bVar13 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ entsize) * 0x100000001b3 ^\n           addralign)" ( (binary_expression "(((ulong)bVar13 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ entsize) * 0x100000001b3 ^\n           addralign" (binary_expression "(((ulong)bVar13 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ entsize) * 0x100000001b3" (parenthesized_expression "(((ulong)bVar13 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ entsize)" ( (binary_expression "((ulong)bVar13 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ entsize" (binary_expression "((ulong)bVar13 ^ 0xcbf29ce484222325) * 0x100000001b3" (parenthesized_expression "((ulong)bVar13 ^ 0xcbf29ce484222325)" ( (binary_expression "(ulong)bVar13 ^ 0xcbf29ce484222325" (cast_expression "(ulong)bVar13" ( (type_descriptor "ulong" type_identifier) ) identifier) ^ number_literal) )) * number_literal) ^ identifier) )) * number_literal) ^ identifier) )) * number_literal)) ;) (expression_statement "msp.is_string_ = bVar13;" (assignment_expression "msp.is_string_ = bVar13" (field_expression "msp.is_string_" identifier . field_identifier) = identifier) ;) (expression_statement "msp.entsize_ = entsize;" (assignment_expression "msp.entsize_ = entsize" (field_expression "msp.entsize_" identifier . field_identifier) = identifier) ;) (expression_statement "msp.addralign_ = addralign;" (assignment_expression "msp.addralign_ = addralign" (field_expression "msp.addralign_" identifier . field_identifier) = identifier) ;) (ERROR "p_Var8 = std::\n           _Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::" (assignment_expression "p_Var8 = std" identifier = identifier) : : (binary_expression "_Hashtable<gold" identifier < identifier) : : (comma_expression "Merge_section_properties,_std" identifier , identifier) : : (binary_expression "pair<const_gold" identifier < identifier) : : (comma_expression "Merge_section_properties,_gold" identifier , identifier) : : (comma_expression "Output_merge_base*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_gold" identifier < identifier) : : (comma_expression "Merge_section_properties,_gold" identifier , identifier) : : (binary_expression "Output_merge_base*>_>,_std" (binary_expression "Output_merge_base*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::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<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&pOVar2->merge_sections_by_properties_,\n                      __code % (pOVar2->merge_sections_by_properties_)._M_h._M_bucket_count,&msp,\n                      __code);" statement_identifier (ERROR "::_Select1st,_gold:" : : (comma_expression "_Select1st,_gold" identifier , identifier) :) : (labeled_statement "Merge_section_properties::equal_to,_gold::Merge_section_properties::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<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&pOVar2->merge_sections_by_properties_,\n                      __code % (pOVar2->merge_sections_by_properties_)._M_h._M_bucket_count,&msp,\n                      __code);" statement_identifier (ERROR "::equal_to,_gold:" : : (comma_expression "equal_to,_gold" identifier , identifier) :) : (labeled_statement "Merge_section_properties::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<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&pOVar2->merge_sections_by_properties_,\n                      __code % (pOVar2->merge_sections_by_properties_)._M_h._M_bucket_count,&msp,\n                      __code);" statement_identifier (ERROR "::hash,_std:" : : (comma_expression "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<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&pOVar2->merge_sections_by_properties_,\n                      __code % (pOVar2->merge_sections_by_properties_)._M_h._M_bucket_count,&msp,\n                      __code);" 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<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&pOVar2->merge_sections_by_properties_,\n                      __code % (pOVar2->merge_sections_by_properties_)._M_h._M_bucket_count,&msp,\n                      __code);" 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<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&pOVar2->merge_sections_by_properties_,\n                      __code % (pOVar2->merge_sections_by_properties_)._M_h._M_bucket_count,&msp,\n                      __code);" 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<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&pOVar2->merge_sections_by_properties_,\n                      __code % (pOVar2->merge_sections_by_properties_)._M_h._M_bucket_count,&msp,\n                      __code);" statement_identifier : (ERROR ":" :) (expression_statement "_Hashtable_traits<true,_false,_true>_>\n           ::_M_find_before_node\n                     ((_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&pOVar2->merge_sections_by_properties_,\n                      __code % (pOVar2->merge_sections_by_properties_)._M_h._M_bucket_count,&msp,\n                      __code);" (comma_expression "_Hashtable_traits<true,_false,_true>_>\n           ::_M_find_before_node\n                     ((_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&pOVar2->merge_sections_by_properties_,\n                      __code % (pOVar2->merge_sections_by_properties_)._M_h._M_bucket_count,&msp,\n                      __code)" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n           ::_M_find_before_node\n                     ((_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&pOVar2->merge_sections_by_properties_,\n                      __code % (pOVar2->merge_sections_by_properties_)._M_h._M_bucket_count,&msp,\n                      __code)" identifier , (binary_expression "_true>_>\n           ::_M_find_before_node\n                     ((_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&pOVar2->merge_sections_by_properties_,\n                      __code % (pOVar2->merge_sections_by_properties_)._M_h._M_bucket_count,&msp,\n                      __code)" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) (call_expression "_M_find_before_node\n                     ((_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&pOVar2->merge_sections_by_properties_,\n                      __code % (pOVar2->merge_sections_by_properties_)._M_h._M_bucket_count,&msp,\n                      __code)" identifier (argument_list "((_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&pOVar2->merge_sections_by_properties_,\n                      __code % (pOVar2->merge_sections_by_properties_)._M_h._M_bucket_count,&msp,\n                      __code)" ( (binary_expression "(_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                       *)&pOVar2->merge_sections_by_properties_" (parenthesized_expression "(_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::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<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (binary_expression "_Hashtable<gold" identifier < identifier) : : (comma_expression "Merge_section_properties,_std" identifier , identifier) : : (binary_expression "pair<const_gold" identifier < identifier) : : (comma_expression "Merge_section_properties,_gold" identifier , identifier) : : (comma_expression "Output_merge_base*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_gold" identifier < identifier) : : (comma_expression "Merge_section_properties,_gold" identifier , identifier) : : (binary_expression "Output_merge_base*>_>,_std" (binary_expression "Output_merge_base*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Select1st,_gold" identifier , identifier) : : identifier : : (comma_expression "equal_to,_gold" identifier , identifier) : : identifier : : (comma_expression "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 "pOVar2->merge_sections_by_properties_" identifier -> field_identifier)) , (binary_expression "__code % (pOVar2->merge_sections_by_properties_)._M_h._M_bucket_count" identifier % (field_expression "(pOVar2->merge_sections_by_properties_)._M_h._M_bucket_count" (field_expression "(pOVar2->merge_sections_by_properties_)._M_h" (parenthesized_expression "(pOVar2->merge_sections_by_properties_)" ( (field_expression "pOVar2->merge_sections_by_properties_" identifier -> field_identifier) )) . field_identifier) . field_identifier)) , (pointer_expression "&msp" & identifier) , identifier )))))) ;)))))))) (if_statement "if (((p_Var8 != (__node_base *)0x0) && (p_Var8->_M_nxt != (_Hash_node_base *)0x0)) &&\n     (p_Var3 = p_Var8->_M_nxt[4]._M_nxt, p_Var3 != (_Hash_node_base *)0x0)) {\n    cVar5 = (*(code *)p_Var3->_M_nxt[0x19]._M_nxt)(p_Var3);\n    if ((bVar13 == (bool)cVar5) && ((_Hash_node_base *)entsize == p_Var3[7]._M_nxt)) {\n      p_Var11 = p_Var3->_M_nxt[3]._M_nxt;\n      if (p_Var11 == (_Hash_node_base *)Output_section_data::do_addralign) {\n        p_Var11 = p_Var3[6]._M_nxt;\n      }\n      else {\n        p_Var11 = (_Hash_node_base *)(*(code *)p_Var11)(p_Var3);\n      }\n      if ((_Hash_node_base *)addralign == p_Var11) {\n        uVar6 = (*(code *)p_Var3->_M_nxt[0x15]._M_nxt)(p_Var3,object,shndx);\n        return (bool)uVar6;\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.cc",0xab5,"add_merge_input_section");\n  }" if (parenthesized_expression "(((p_Var8 != (__node_base *)0x0) && (p_Var8->_M_nxt != (_Hash_node_base *)0x0)) &&\n     (p_Var3 = p_Var8->_M_nxt[4]._M_nxt, p_Var3 != (_Hash_node_base *)0x0))" ( (binary_expression "((p_Var8 != (__node_base *)0x0) && (p_Var8->_M_nxt != (_Hash_node_base *)0x0)) &&\n     (p_Var3 = p_Var8->_M_nxt[4]._M_nxt, p_Var3 != (_Hash_node_base *)0x0)" (parenthesized_expression "((p_Var8 != (__node_base *)0x0) && (p_Var8->_M_nxt != (_Hash_node_base *)0x0))" ( (binary_expression "(p_Var8 != (__node_base *)0x0) && (p_Var8->_M_nxt != (_Hash_node_base *)0x0)" (parenthesized_expression "(p_Var8 != (__node_base *)0x0)" ( (binary_expression "p_Var8 != (__node_base *)0x0" identifier != (cast_expression "(__node_base *)0x0" ( (type_descriptor "__node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(p_Var8->_M_nxt != (_Hash_node_base *)0x0)" ( (binary_expression "p_Var8->_M_nxt != (_Hash_node_base *)0x0" (field_expression "p_Var8->_M_nxt" identifier -> field_identifier) != (cast_expression "(_Hash_node_base *)0x0" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(p_Var3 = p_Var8->_M_nxt[4]._M_nxt, p_Var3 != (_Hash_node_base *)0x0)" ( (comma_expression "p_Var3 = p_Var8->_M_nxt[4]._M_nxt, p_Var3 != (_Hash_node_base *)0x0" (assignment_expression "p_Var3 = p_Var8->_M_nxt[4]._M_nxt" identifier = (field_expression "p_Var8->_M_nxt[4]._M_nxt" (subscript_expression "p_Var8->_M_nxt[4]" (field_expression "p_Var8->_M_nxt" identifier -> field_identifier) [ number_literal ]) . field_identifier)) , (binary_expression "p_Var3 != (_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    cVar5 = (*(code *)p_Var3->_M_nxt[0x19]._M_nxt)(p_Var3);\n    if ((bVar13 == (bool)cVar5) && ((_Hash_node_base *)entsize == p_Var3[7]._M_nxt)) {\n      p_Var11 = p_Var3->_M_nxt[3]._M_nxt;\n      if (p_Var11 == (_Hash_node_base *)Output_section_data::do_addralign) {\n        p_Var11 = p_Var3[6]._M_nxt;\n      }\n      else {\n        p_Var11 = (_Hash_node_base *)(*(code *)p_Var11)(p_Var3);\n      }\n      if ((_Hash_node_base *)addralign == p_Var11) {\n        uVar6 = (*(code *)p_Var3->_M_nxt[0x15]._M_nxt)(p_Var3,object,shndx);\n        return (bool)uVar6;\n      }\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.cc",0xab5,"add_merge_input_section");\n  }" { (expression_statement "cVar5 = (*(code *)p_Var3->_M_nxt[0x19]._M_nxt)(p_Var3);" (assignment_expression "cVar5 = (*(code *)p_Var3->_M_nxt[0x19]._M_nxt)(p_Var3)" identifier = (call_expression "(*(code *)p_Var3->_M_nxt[0x19]._M_nxt)(p_Var3)" (parenthesized_expression "(*(code *)p_Var3->_M_nxt[0x19]._M_nxt)" ( (pointer_expression "*(code *)p_Var3->_M_nxt[0x19]._M_nxt" * (cast_expression "(code *)p_Var3->_M_nxt[0x19]._M_nxt" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var3->_M_nxt[0x19]._M_nxt" (subscript_expression "p_Var3->_M_nxt[0x19]" (field_expression "p_Var3->_M_nxt" identifier -> field_identifier) [ number_literal ]) . field_identifier))) )) (argument_list "(p_Var3)" ( identifier )))) ;) (if_statement "if ((bVar13 == (bool)cVar5) && ((_Hash_node_base *)entsize == p_Var3[7]._M_nxt)) {\n      p_Var11 = p_Var3->_M_nxt[3]._M_nxt;\n      if (p_Var11 == (_Hash_node_base *)Output_section_data::do_addralign) {\n        p_Var11 = p_Var3[6]._M_nxt;\n      }\n      else {\n        p_Var11 = (_Hash_node_base *)(*(code *)p_Var11)(p_Var3);\n      }\n      if ((_Hash_node_base *)addralign == p_Var11) {\n        uVar6 = (*(code *)p_Var3->_M_nxt[0x15]._M_nxt)(p_Var3,object,shndx);\n        return (bool)uVar6;\n      }\n    }" if (parenthesized_expression "((bVar13 == (bool)cVar5) && ((_Hash_node_base *)entsize == p_Var3[7]._M_nxt))" ( (binary_expression "(bVar13 == (bool)cVar5) && ((_Hash_node_base *)entsize == p_Var3[7]._M_nxt)" (parenthesized_expression "(bVar13 == (bool)cVar5)" ( (binary_expression "bVar13 == (bool)cVar5" identifier == (cast_expression "(bool)cVar5" ( (type_descriptor "bool" primitive_type) ) identifier)) )) && (parenthesized_expression "((_Hash_node_base *)entsize == p_Var3[7]._M_nxt)" ( (binary_expression "(_Hash_node_base *)entsize == p_Var3[7]._M_nxt" (cast_expression "(_Hash_node_base *)entsize" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == (field_expression "p_Var3[7]._M_nxt" (subscript_expression "p_Var3[7]" identifier [ number_literal ]) . field_identifier)) ))) )) (compound_statement "{\n      p_Var11 = p_Var3->_M_nxt[3]._M_nxt;\n      if (p_Var11 == (_Hash_node_base *)Output_section_data::do_addralign) {\n        p_Var11 = p_Var3[6]._M_nxt;\n      }\n      else {\n        p_Var11 = (_Hash_node_base *)(*(code *)p_Var11)(p_Var3);\n      }\n      if ((_Hash_node_base *)addralign == p_Var11) {\n        uVar6 = (*(code *)p_Var3->_M_nxt[0x15]._M_nxt)(p_Var3,object,shndx);\n        return (bool)uVar6;\n      }\n    }" { (expression_statement "p_Var11 = p_Var3->_M_nxt[3]._M_nxt;" (assignment_expression "p_Var11 = p_Var3->_M_nxt[3]._M_nxt" identifier = (field_expression "p_Var3->_M_nxt[3]._M_nxt" (subscript_expression "p_Var3->_M_nxt[3]" (field_expression "p_Var3->_M_nxt" identifier -> field_identifier) [ number_literal ]) . field_identifier)) ;) (if_statement "if (p_Var11 == (_Hash_node_base *)Output_section_data::do_addralign) {\n        p_Var11 = p_Var3[6]._M_nxt;\n      }\n      else {\n        p_Var11 = (_Hash_node_base *)(*(code *)p_Var11)(p_Var3);\n      }" if (parenthesized_expression "(p_Var11 == (_Hash_node_base *)Output_section_data::do_addralign)" ( (binary_expression "p_Var11 == (_Hash_node_base *)Output_section_data" identifier == (cast_expression "(_Hash_node_base *)Output_section_data" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) (ERROR "::do_addralign" : : identifier) )) (compound_statement "{\n        p_Var11 = p_Var3[6]._M_nxt;\n      }" { (expression_statement "p_Var11 = p_Var3[6]._M_nxt;" (assignment_expression "p_Var11 = p_Var3[6]._M_nxt" identifier = (field_expression "p_Var3[6]._M_nxt" (subscript_expression "p_Var3[6]" identifier [ number_literal ]) . field_identifier)) ;) }) (else_clause "else {\n        p_Var11 = (_Hash_node_base *)(*(code *)p_Var11)(p_Var3);\n      }" else (compound_statement "{\n        p_Var11 = (_Hash_node_base *)(*(code *)p_Var11)(p_Var3);\n      }" { (expression_statement "p_Var11 = (_Hash_node_base *)(*(code *)p_Var11)(p_Var3);" (assignment_expression "p_Var11 = (_Hash_node_base *)(*(code *)p_Var11)(p_Var3)" identifier = (cast_expression "(_Hash_node_base *)(*(code *)p_Var11)(p_Var3)" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)p_Var11)(p_Var3)" (parenthesized_expression "(*(code *)p_Var11)" ( (pointer_expression "*(code *)p_Var11" * (cast_expression "(code *)p_Var11" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(p_Var3)" ( identifier ))))) ;) }))) (if_statement "if ((_Hash_node_base *)addralign == p_Var11) {\n        uVar6 = (*(code *)p_Var3->_M_nxt[0x15]._M_nxt)(p_Var3,object,shndx);\n        return (bool)uVar6;\n      }" if (parenthesized_expression "((_Hash_node_base *)addralign == p_Var11)" ( (binary_expression "(_Hash_node_base *)addralign == p_Var11" (cast_expression "(_Hash_node_base *)addralign" ( (type_descriptor "_Hash_node_base *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == identifier) )) (compound_statement "{\n        uVar6 = (*(code *)p_Var3->_M_nxt[0x15]._M_nxt)(p_Var3,object,shndx);\n        return (bool)uVar6;\n      }" { (expression_statement "uVar6 = (*(code *)p_Var3->_M_nxt[0x15]._M_nxt)(p_Var3,object,shndx);" (assignment_expression "uVar6 = (*(code *)p_Var3->_M_nxt[0x15]._M_nxt)(p_Var3,object,shndx)" identifier = (call_expression "(*(code *)p_Var3->_M_nxt[0x15]._M_nxt)(p_Var3,object,shndx)" (parenthesized_expression "(*(code *)p_Var3->_M_nxt[0x15]._M_nxt)" ( (pointer_expression "*(code *)p_Var3->_M_nxt[0x15]._M_nxt" * (cast_expression "(code *)p_Var3->_M_nxt[0x15]._M_nxt" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "p_Var3->_M_nxt[0x15]._M_nxt" (subscript_expression "p_Var3->_M_nxt[0x15]" (field_expression "p_Var3->_M_nxt" identifier -> field_identifier) [ number_literal ]) . field_identifier))) )) (argument_list "(p_Var3,object,shndx)" ( identifier , identifier , identifier )))) ;) (return_statement "return (bool)uVar6;" return (cast_expression "(bool)uVar6" ( (type_descriptor "bool" primitive_type) ) identifier) ;) })) })) comment (expression_statement "do_gold_unreachable("../../gold/output.cc",0xab5,"add_merge_input_section");" (call_expression "do_gold_unreachable("../../gold/output.cc",0xab5,"add_merge_input_section")" identifier (argument_list "("../../gold/output.cc",0xab5,"add_merge_input_section")" ( (string_literal ""../../gold/output.cc"" " string_content ") , number_literal , (string_literal ""add_merge_input_section"" " string_content ") ))) ;) })) (if_statement "if ((flags & 0x20) == 0) {\n    aVar9.object = (Relobj *)operator_new(0xf8);\n    __n = 0x80;\n    ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n    ((aVar9.object)->super_Object).name_._M_string_length = 0;\n    ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n    (aVar9.pomb)->first_shndx_ = 0xffffffff;\n    *(bool *)((long)aVar9 + 0x78) = false;\n    uVar4 = DAT_00377cb4;\n    *(undefined7 *)((long)aVar9 + 0x79) = 0;\n    *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n    ((aVar9.object)->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = (pointer)&(aVar9.object)->sd_;\n    ((aVar9.object)->super_Object)._vptr_Object =\n         (_func_int_varargs **)&PTR__Output_merge_data_00438220;\n    ppCVar12 = &aVar9.object[1].super_Object.compressed_sections_;\n    pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n    *pbVar1 = *pbVar1 & 0xe0;\n    ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n    (aVar9.posd)->addralign_ = addralign;\n    (aVar9.pomb)->entsize_ = entsize;\n    (aVar9.pomb)->keeps_input_sections_ = false;\n    ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n    (aVar9.object)->sd_ = (Symbols_data *)0x0;\n    ((aVar9.object)->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_end_of_storage = (pointer)0x1;\n    (aVar9.object)->map_to_relocatable_relocs_ =\n         (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n    (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n    *(uint *)&(aVar9.object)->relocs_must_follow_section_writes_ = uVar4;\n    (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n    (aVar9.object)->reloc_counts_ = (uint *)0x0;\n    (aVar9.object)->reloc_bases_ = (uint *)0x0;\n    *(uint *)((long)aVar9 + 0xa0) = 0;\n    *(uint *)((long)aVar9 + 0xa4) = 0;\n    aVar9.object[1].super_Object._vptr_Object = (_func_int_varargs **)0x0;\n    aVar9.object[1].super_Object.name_._M_dataplus._M_p = (pointer)aVar9;\n    aVar9.object[1].super_Object.name_._M_string_length = (size_type)aVar9;\n    aVar9.object[1].super_Object.name_.field_2._M_allocated_capacity = (size_type)ppCVar12;\n    *(undefined8 *)((long)&aVar9.object[1].super_Object.name_.field_2 + 8) = 1;\n    aVar9.object[1].super_Object.input_file_ = (Input_file *)0x0;\n    aVar9.object[1].super_Object.offset_ = 0;\n    aVar9.object[1].super_Object.shnum_ = uVar4;\n    aVar9.object[1].super_Object.xindex_ = (Xindex *)0x0;\n    aVar9.object[1].super_Object.compressed_sections_ = (Compressed_section_map *)0x0;\n                    /* try { // try from 001fb58b to 001fb5b1 has its CatchHandler @ 001fb895 */\n    this_00 = (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *)\n              std::__detail::_Prime_rehash_policy::_M_next_bkt\n                        ((_Prime_rehash_policy *)&aVar9.object[1].super_Object.shnum_,0x80);\n    if (*(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **)\n         ((long)&aVar9.object[1].super_Object.name_.field_2 + 8) < this_00) {\n      if (this_00 ==\n          (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *)0x1) {\n        aVar9.object[1].super_Object.compressed_sections_ = (Compressed_section_map *)0x0;\n      }\n      else {\n        ppCVar12 = (Compressed_section_map **)\n                   std::__detail::\n                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_>::\n                   _M_allocate_buckets(this_00,__n);\n      }\n      aVar9.object[1].super_Object.name_.field_2._M_allocated_capacity = (size_type)ppCVar12;\n      *(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **)\n       ((long)&aVar9.object[1].super_Object.name_.field_2 + 8) = this_00;\n    }\n  }\n  else {\n    if (entsize == 2) {\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435d30;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 2;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb7b3 to 001fb7b7 has its CatchHandler @ 001fb8bd */\n      Stringpool_template<short_unsigned_int>::Stringpool_template\n                ((Stringpool_template<short_unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign\n                );\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb81a to 001fb81e has its CatchHandler @ 001fb8ad */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (entsize == 4) {\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435e18;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 4;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb693 to 001fb697 has its CatchHandler @ 001fb8c5 */\n      Stringpool_template<unsigned_int>::Stringpool_template\n                ((Stringpool_template<unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign);\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x4)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (entsize != 1) {\n        return false;\n      }\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435c48;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 1;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */\n      Stringpool_template<char>::Stringpool_template\n                ((Stringpool_template<char> *)&(aVar9.object)->reloc_counts_,addralign);\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x1)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    *(undefined1 *)\n     &aVar9.object[1].output_sections_.\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = 0;\n    aVar9.object[1].map_to_relocatable_relocs_ =\n         (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n  }" if (parenthesized_expression "((flags & 0x20) == 0)" ( (binary_expression "(flags & 0x20) == 0" (parenthesized_expression "(flags & 0x20)" ( (binary_expression "flags & 0x20" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    aVar9.object = (Relobj *)operator_new(0xf8);\n    __n = 0x80;\n    ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n    ((aVar9.object)->super_Object).name_._M_string_length = 0;\n    ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n    (aVar9.pomb)->first_shndx_ = 0xffffffff;\n    *(bool *)((long)aVar9 + 0x78) = false;\n    uVar4 = DAT_00377cb4;\n    *(undefined7 *)((long)aVar9 + 0x79) = 0;\n    *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n    ((aVar9.object)->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = (pointer)&(aVar9.object)->sd_;\n    ((aVar9.object)->super_Object)._vptr_Object =\n         (_func_int_varargs **)&PTR__Output_merge_data_00438220;\n    ppCVar12 = &aVar9.object[1].super_Object.compressed_sections_;\n    pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n    *pbVar1 = *pbVar1 & 0xe0;\n    ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n    (aVar9.posd)->addralign_ = addralign;\n    (aVar9.pomb)->entsize_ = entsize;\n    (aVar9.pomb)->keeps_input_sections_ = false;\n    ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n    (aVar9.object)->sd_ = (Symbols_data *)0x0;\n    ((aVar9.object)->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_end_of_storage = (pointer)0x1;\n    (aVar9.object)->map_to_relocatable_relocs_ =\n         (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n    (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n    *(uint *)&(aVar9.object)->relocs_must_follow_section_writes_ = uVar4;\n    (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n    (aVar9.object)->reloc_counts_ = (uint *)0x0;\n    (aVar9.object)->reloc_bases_ = (uint *)0x0;\n    *(uint *)((long)aVar9 + 0xa0) = 0;\n    *(uint *)((long)aVar9 + 0xa4) = 0;\n    aVar9.object[1].super_Object._vptr_Object = (_func_int_varargs **)0x0;\n    aVar9.object[1].super_Object.name_._M_dataplus._M_p = (pointer)aVar9;\n    aVar9.object[1].super_Object.name_._M_string_length = (size_type)aVar9;\n    aVar9.object[1].super_Object.name_.field_2._M_allocated_capacity = (size_type)ppCVar12;\n    *(undefined8 *)((long)&aVar9.object[1].super_Object.name_.field_2 + 8) = 1;\n    aVar9.object[1].super_Object.input_file_ = (Input_file *)0x0;\n    aVar9.object[1].super_Object.offset_ = 0;\n    aVar9.object[1].super_Object.shnum_ = uVar4;\n    aVar9.object[1].super_Object.xindex_ = (Xindex *)0x0;\n    aVar9.object[1].super_Object.compressed_sections_ = (Compressed_section_map *)0x0;\n                    /* try { // try from 001fb58b to 001fb5b1 has its CatchHandler @ 001fb895 */\n    this_00 = (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *)\n              std::__detail::_Prime_rehash_policy::_M_next_bkt\n                        ((_Prime_rehash_policy *)&aVar9.object[1].super_Object.shnum_,0x80);\n    if (*(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **)\n         ((long)&aVar9.object[1].super_Object.name_.field_2 + 8) < this_00) {\n      if (this_00 ==\n          (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *)0x1) {\n        aVar9.object[1].super_Object.compressed_sections_ = (Compressed_section_map *)0x0;\n      }\n      else {\n        ppCVar12 = (Compressed_section_map **)\n                   std::__detail::\n                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_>::\n                   _M_allocate_buckets(this_00,__n);\n      }\n      aVar9.object[1].super_Object.name_.field_2._M_allocated_capacity = (size_type)ppCVar12;\n      *(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **)\n       ((long)&aVar9.object[1].super_Object.name_.field_2 + 8) = this_00;\n    }\n  }" { (expression_statement "aVar9.object = (Relobj *)operator_new(0xf8);" (assignment_expression "aVar9.object = (Relobj *)operator_new(0xf8)" (field_expression "aVar9.object" identifier . field_identifier) = (cast_expression "(Relobj *)operator_new(0xf8)" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0xf8)" identifier (argument_list "(0xf8)" ( number_literal ))))) ;) (expression_statement "__n = 0x80;" (assignment_expression "__n = 0x80" identifier = number_literal) ;) (expression_statement "((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;" (assignment_expression "((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0" (field_expression "((aVar9.object)->super_Object).name_._M_dataplus._M_p" (field_expression "((aVar9.object)->super_Object).name_._M_dataplus" (field_expression "((aVar9.object)->super_Object).name_" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "((aVar9.object)->super_Object).name_._M_string_length = 0;" (assignment_expression "((aVar9.object)->super_Object).name_._M_string_length = 0" (field_expression "((aVar9.object)->super_Object).name_._M_string_length" (field_expression "((aVar9.object)->super_Object).name_" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;" (assignment_expression "((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff" (field_expression "((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity" (field_expression "((aVar9.object)->super_Object).name_.field_2" (field_expression "((aVar9.object)->super_Object).name_" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(aVar9.pomb)->first_shndx_ = 0xffffffff;" (assignment_expression "(aVar9.pomb)->first_shndx_ = 0xffffffff" (field_expression "(aVar9.pomb)->first_shndx_" (parenthesized_expression "(aVar9.pomb)" ( (field_expression "aVar9.pomb" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (expression_statement "*(bool *)((long)aVar9 + 0x78) = false;" (assignment_expression "*(bool *)((long)aVar9 + 0x78) = false" (pointer_expression "*(bool *)((long)aVar9 + 0x78)" * (cast_expression "(bool *)((long)aVar9 + 0x78)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)aVar9 + 0x78)" ( (binary_expression "(long)aVar9 + 0x78" (cast_expression "(long)aVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = false) ;) (expression_statement "uVar4 = DAT_00377cb4;" (assignment_expression "uVar4 = DAT_00377cb4" identifier = identifier) ;) (expression_statement "*(undefined7 *)((long)aVar9 + 0x79) = 0;" (assignment_expression "*(undefined7 *)((long)aVar9 + 0x79) = 0" (pointer_expression "*(undefined7 *)((long)aVar9 + 0x79)" * (cast_expression "(undefined7 *)((long)aVar9 + 0x79)" ( (type_descriptor "undefined7 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)aVar9 + 0x79)" ( (binary_expression "(long)aVar9 + 0x79" (cast_expression "(long)aVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;" (assignment_expression "*(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0" (pointer_expression "*(Read_relocs_data **)((long)aVar9 + 0x80)" * (cast_expression "(Read_relocs_data **)((long)aVar9 + 0x80)" ( (type_descriptor "Read_relocs_data **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((long)aVar9 + 0x80)" ( (binary_expression "(long)aVar9 + 0x80" (cast_expression "(long)aVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (cast_expression "(Read_relocs_data *)0x0" ( (type_descriptor "Read_relocs_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "((aVar9.object)->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = (pointer)&(aVar9.object)->sd_;" (assignment_expression "((aVar9.object)->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = (pointer)&(aVar9.object)->sd_" (field_expression "((aVar9.object)->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish" (field_expression "((aVar9.object)->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl" (binary_expression "((aVar9.object)->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "((aVar9.object)->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "((aVar9.object)->output_sections_).\n    super__Vector_base<gold::Output_section*,_std" (binary_expression "((aVar9.object)->output_sections_).\n    super__Vector_base<gold" (field_expression "((aVar9.object)->output_sections_).\n    super__Vector_base" (parenthesized_expression "((aVar9.object)->output_sections_)" ( (field_expression "(aVar9.object)->output_sections_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "(pointer)&(aVar9.object)->sd_" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "(aVar9.object)->sd_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier))) ;) (expression_statement "((aVar9.object)->super_Object)._vptr_Object =\n         (_func_int_varargs **)&PTR__Output_merge_data_00438220;" (assignment_expression "((aVar9.object)->super_Object)._vptr_Object =\n         (_func_int_varargs **)&PTR__Output_merge_data_00438220" (field_expression "((aVar9.object)->super_Object)._vptr_Object" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Output_merge_data_00438220" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Output_merge_data_00438220" & identifier))) ;) (expression_statement "ppCVar12 = &aVar9.object[1].super_Object.compressed_sections_;" (assignment_expression "ppCVar12 = &aVar9.object[1].super_Object.compressed_sections_" identifier = (pointer_expression "&aVar9.object[1].super_Object.compressed_sections_" & (field_expression "aVar9.object[1].super_Object.compressed_sections_" (field_expression "aVar9.object[1].super_Object" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier))) ;) (expression_statement "pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);" (assignment_expression "pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8)" identifier = (cast_expression "(byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8)" ( (binary_expression "((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8" (field_expression "((aVar9.object)->super_Object).name_.field_2._M_local_buf" (field_expression "((aVar9.object)->super_Object).name_.field_2" (field_expression "((aVar9.object)->super_Object).name_" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_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 "((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;" (assignment_expression "((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0" (field_expression "((aVar9.object)->super_Object).input_file_" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(aVar9.posd)->addralign_ = addralign;" (assignment_expression "(aVar9.posd)->addralign_ = addralign" (field_expression "(aVar9.posd)->addralign_" (parenthesized_expression "(aVar9.posd)" ( (field_expression "aVar9.posd" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(aVar9.pomb)->entsize_ = entsize;" (assignment_expression "(aVar9.pomb)->entsize_ = entsize" (field_expression "(aVar9.pomb)->entsize_" (parenthesized_expression "(aVar9.pomb)" ( (field_expression "aVar9.pomb" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(aVar9.pomb)->keeps_input_sections_ = false;" (assignment_expression "(aVar9.pomb)->keeps_input_sections_ = false" (field_expression "(aVar9.pomb)->keeps_input_sections_" (parenthesized_expression "(aVar9.pomb)" ( (field_expression "aVar9.pomb" identifier . field_identifier) )) -> field_identifier) = false) ;) (expression_statement "((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;" (assignment_expression "((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0" (field_expression "((aVar9.object)->super_Object).compressed_sections_" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (cast_expression "(Compressed_section_map *)0x0" ( (type_descriptor "Compressed_section_map *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(aVar9.object)->sd_ = (Symbols_data *)0x0;" (assignment_expression "(aVar9.object)->sd_ = (Symbols_data *)0x0" (field_expression "(aVar9.object)->sd_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Symbols_data *)0x0" ( (type_descriptor "Symbols_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "((aVar9.object)->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_end_of_storage = (pointer)0x1;" (assignment_expression "((aVar9.object)->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_end_of_storage = (pointer)0x1" (field_expression "((aVar9.object)->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_end_of_storage" (field_expression "((aVar9.object)->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl" (binary_expression "((aVar9.object)->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "((aVar9.object)->output_sections_).\n    super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "((aVar9.object)->output_sections_).\n    super__Vector_base<gold::Output_section*,_std" (binary_expression "((aVar9.object)->output_sections_).\n    super__Vector_base<gold" (field_expression "((aVar9.object)->output_sections_).\n    super__Vector_base" (parenthesized_expression "((aVar9.object)->output_sections_)" ( (field_expression "(aVar9.object)->output_sections_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x1" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(aVar9.object)->map_to_relocatable_relocs_ =\n         (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;" (assignment_expression "(aVar9.object)->map_to_relocatable_relocs_ =\n         (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0" (field_expression "(aVar9.object)->map_to_relocatable_relocs_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) = (parenthesized_expression "(vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0" ( (ERROR "vector<gold::Relocatable_relocs*,_std::allocator<gold::" (binary_expression "vector<gold" identifier < identifier) : : (type_descriptor "Relocatable_relocs*" type_identifier (abstract_pointer_declarator "*" *)) , identifier : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Relocatable_relocs*>_> *)0x0" (binary_expression "Relocatable_relocs*>_" identifier * (ERROR ">" >) identifier) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) ;) (expression_statement "(aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;" (assignment_expression "(aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0" (field_expression "(aVar9.object)->object_merge_map_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Object_merge_map *)0x0" ( (type_descriptor "Object_merge_map *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(uint *)&(aVar9.object)->relocs_must_follow_section_writes_ = uVar4;" (assignment_expression "*(uint *)&(aVar9.object)->relocs_must_follow_section_writes_ = uVar4" (pointer_expression "*(uint *)&(aVar9.object)->relocs_must_follow_section_writes_" * (cast_expression "(uint *)&(aVar9.object)->relocs_must_follow_section_writes_" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(aVar9.object)->relocs_must_follow_section_writes_" & (field_expression "(aVar9.object)->relocs_must_follow_section_writes_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier)))) = identifier) ;) (expression_statement "(aVar9.object)->rd_ = (Read_relocs_data *)0x0;" (assignment_expression "(aVar9.object)->rd_ = (Read_relocs_data *)0x0" (field_expression "(aVar9.object)->rd_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Read_relocs_data *)0x0" ( (type_descriptor "Read_relocs_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(aVar9.object)->reloc_counts_ = (uint *)0x0;" (assignment_expression "(aVar9.object)->reloc_counts_ = (uint *)0x0" (field_expression "(aVar9.object)->reloc_counts_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(aVar9.object)->reloc_bases_ = (uint *)0x0;" (assignment_expression "(aVar9.object)->reloc_bases_ = (uint *)0x0" (field_expression "(aVar9.object)->reloc_bases_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(uint *)((long)aVar9 + 0xa0) = 0;" (assignment_expression "*(uint *)((long)aVar9 + 0xa0) = 0" (pointer_expression "*(uint *)((long)aVar9 + 0xa0)" * (cast_expression "(uint *)((long)aVar9 + 0xa0)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)aVar9 + 0xa0)" ( (binary_expression "(long)aVar9 + 0xa0" (cast_expression "(long)aVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)((long)aVar9 + 0xa4) = 0;" (assignment_expression "*(uint *)((long)aVar9 + 0xa4) = 0" (pointer_expression "*(uint *)((long)aVar9 + 0xa4)" * (cast_expression "(uint *)((long)aVar9 + 0xa4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)aVar9 + 0xa4)" ( (binary_expression "(long)aVar9 + 0xa4" (cast_expression "(long)aVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "aVar9.object[1].super_Object._vptr_Object = (_func_int_varargs **)0x0;" (assignment_expression "aVar9.object[1].super_Object._vptr_Object = (_func_int_varargs **)0x0" (field_expression "aVar9.object[1].super_Object._vptr_Object" (field_expression "aVar9.object[1].super_Object" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(_func_int_varargs **)0x0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "aVar9.object[1].super_Object.name_._M_dataplus._M_p = (pointer)aVar9;" (assignment_expression "aVar9.object[1].super_Object.name_._M_dataplus._M_p = (pointer)aVar9" (field_expression "aVar9.object[1].super_Object.name_._M_dataplus._M_p" (field_expression "aVar9.object[1].super_Object.name_._M_dataplus" (field_expression "aVar9.object[1].super_Object.name_" (field_expression "aVar9.object[1].super_Object" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)aVar9" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "aVar9.object[1].super_Object.name_._M_string_length = (size_type)aVar9;" (assignment_expression "aVar9.object[1].super_Object.name_._M_string_length = (size_type)aVar9" (field_expression "aVar9.object[1].super_Object.name_._M_string_length" (field_expression "aVar9.object[1].super_Object.name_" (field_expression "aVar9.object[1].super_Object" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(size_type)aVar9" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (expression_statement "aVar9.object[1].super_Object.name_.field_2._M_allocated_capacity = (size_type)ppCVar12;" (assignment_expression "aVar9.object[1].super_Object.name_.field_2._M_allocated_capacity = (size_type)ppCVar12" (field_expression "aVar9.object[1].super_Object.name_.field_2._M_allocated_capacity" (field_expression "aVar9.object[1].super_Object.name_.field_2" (field_expression "aVar9.object[1].super_Object.name_" (field_expression "aVar9.object[1].super_Object" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(size_type)ppCVar12" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (expression_statement "*(undefined8 *)((long)&aVar9.object[1].super_Object.name_.field_2 + 8) = 1;" (assignment_expression "*(undefined8 *)((long)&aVar9.object[1].super_Object.name_.field_2 + 8) = 1" (pointer_expression "*(undefined8 *)((long)&aVar9.object[1].super_Object.name_.field_2 + 8)" * (cast_expression "(undefined8 *)((long)&aVar9.object[1].super_Object.name_.field_2 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&aVar9.object[1].super_Object.name_.field_2 + 8)" ( (binary_expression "(long)&aVar9.object[1].super_Object.name_.field_2 + 8" (cast_expression "(long)&aVar9.object[1].super_Object.name_.field_2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&aVar9.object[1].super_Object.name_.field_2" & (field_expression "aVar9.object[1].super_Object.name_.field_2" (field_expression "aVar9.object[1].super_Object.name_" (field_expression "aVar9.object[1].super_Object" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "aVar9.object[1].super_Object.input_file_ = (Input_file *)0x0;" (assignment_expression "aVar9.object[1].super_Object.input_file_ = (Input_file *)0x0" (field_expression "aVar9.object[1].super_Object.input_file_" (field_expression "aVar9.object[1].super_Object" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "aVar9.object[1].super_Object.offset_ = 0;" (assignment_expression "aVar9.object[1].super_Object.offset_ = 0" (field_expression "aVar9.object[1].super_Object.offset_" (field_expression "aVar9.object[1].super_Object" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "aVar9.object[1].super_Object.shnum_ = uVar4;" (assignment_expression "aVar9.object[1].super_Object.shnum_ = uVar4" (field_expression "aVar9.object[1].super_Object.shnum_" (field_expression "aVar9.object[1].super_Object" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier) = identifier) ;) (expression_statement "aVar9.object[1].super_Object.xindex_ = (Xindex *)0x0;" (assignment_expression "aVar9.object[1].super_Object.xindex_ = (Xindex *)0x0" (field_expression "aVar9.object[1].super_Object.xindex_" (field_expression "aVar9.object[1].super_Object" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(Xindex *)0x0" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "aVar9.object[1].super_Object.compressed_sections_ = (Compressed_section_map *)0x0;" (assignment_expression "aVar9.object[1].super_Object.compressed_sections_ = (Compressed_section_map *)0x0" (field_expression "aVar9.object[1].super_Object.compressed_sections_" (field_expression "aVar9.object[1].super_Object" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(Compressed_section_map *)0x0" ( (type_descriptor "Compressed_section_map *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) comment (expression_statement "this_00 = (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *)\n              std::__detail::_Prime_rehash_policy::_M_next_bkt\n                        ((_Prime_rehash_policy *)&aVar9.object[1].super_Object.shnum_,0x80);" (assignment_expression "this_00 = (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *)\n              std::__detail::_Prime_rehash_policy::_M_next_bkt\n                        ((_Prime_rehash_policy *)&aVar9.object[1].super_Object.shnum_,0x80)" identifier = (parenthesized_expression "(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *)\n              std::__detail::_Prime_rehash_policy::_M_next_bkt\n                        ((_Prime_rehash_policy *)&aVar9.object[1].super_Object.shnum_,0x80)" ( (ERROR "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *)\n              std::__detail::_Prime_rehash_policy::" (comma_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *)\n              std" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int" (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) , (binary_expression "_true>_>_> *)\n              std" (binary_expression "_true>_>_" (binary_expression "_true>_" identifier > identifier) > identifier) > (pointer_expression "*)\n              std" * (ERROR ")" )) identifier))) : : identifier : : identifier : :) (call_expression "_M_next_bkt\n                        ((_Prime_rehash_policy *)&aVar9.object[1].super_Object.shnum_,0x80)" identifier (argument_list "((_Prime_rehash_policy *)&aVar9.object[1].super_Object.shnum_,0x80)" ( (cast_expression "(_Prime_rehash_policy *)&aVar9.object[1].super_Object.shnum_" ( (type_descriptor "_Prime_rehash_policy *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&aVar9.object[1].super_Object.shnum_" & (field_expression "aVar9.object[1].super_Object.shnum_" (field_expression "aVar9.object[1].super_Object" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier))) , number_literal ))) ))) ;) (if_statement "if (*(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **)\n         ((long)&aVar9.object[1].super_Object.name_.field_2 + 8) < this_00) {\n      if (this_00 ==\n          (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *)0x1) {\n        aVar9.object[1].super_Object.compressed_sections_ = (Compressed_section_map *)0x0;\n      }\n      else {\n        ppCVar12 = (Compressed_section_map **)\n                   std::__detail::\n                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_>::\n                   _M_allocate_buckets(this_00,__n);\n      }\n      aVar9.object[1].super_Object.name_.field_2._M_allocated_capacity = (size_type)ppCVar12;\n      *(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **)\n       ((long)&aVar9.object[1].super_Object.name_.field_2 + 8) = this_00;\n    }" if (parenthesized_expression "(*(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **)\n         ((long)&aVar9.object[1].super_Object.name_.field_2 + 8) < this_00)" ( (binary_expression "*(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **)\n         ((long)&aVar9.object[1].super_Object.name_.field_2 + 8) < this_00" (pointer_expression "*(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **)\n         ((long)&aVar9.object[1].super_Object.name_.field_2 + 8)" * (call_expression "(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **)\n         ((long)&aVar9.object[1].super_Object.name_.field_2 + 8)" (parenthesized_expression "(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **)" ( (comma_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int" (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) , (binary_expression "_true>_>_> **" (binary_expression "_true>_>_" (binary_expression "_true>_" identifier > identifier) > identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((long)&aVar9.object[1].super_Object.name_.field_2 + 8)" ( (binary_expression "(long)&aVar9.object[1].super_Object.name_.field_2 + 8" (cast_expression "(long)&aVar9.object[1].super_Object.name_.field_2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&aVar9.object[1].super_Object.name_.field_2" & (field_expression "aVar9.object[1].super_Object.name_.field_2" (field_expression "aVar9.object[1].super_Object.name_" (field_expression "aVar9.object[1].super_Object" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) < identifier) )) (compound_statement "{\n      if (this_00 ==\n          (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *)0x1) {\n        aVar9.object[1].super_Object.compressed_sections_ = (Compressed_section_map *)0x0;\n      }\n      else {\n        ppCVar12 = (Compressed_section_map **)\n                   std::__detail::\n                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_>::\n                   _M_allocate_buckets(this_00,__n);\n      }\n      aVar9.object[1].super_Object.name_.field_2._M_allocated_capacity = (size_type)ppCVar12;\n      *(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **)\n       ((long)&aVar9.object[1].super_Object.name_.field_2 + 8) = this_00;\n    }" { (if_statement "if (this_00 ==\n          (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *)0x1) {\n        aVar9.object[1].super_Object.compressed_sections_ = (Compressed_section_map *)0x0;\n      }\n      else {\n        ppCVar12 = (Compressed_section_map **)\n                   std::__detail::\n                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_>::\n                   _M_allocate_buckets(this_00,__n);\n      }" if (parenthesized_expression "(this_00 ==\n          (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *)0x1)" ( (binary_expression "this_00 ==\n          (_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *)0x1)" identifier == (parenthesized_expression "(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *)0x1)" ( (comma_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> *)0x1" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int" (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) , (binary_expression "_true>_>_> *)0x1" (binary_expression "_true>_>_" (binary_expression "_true>_" identifier > identifier) > identifier) > (pointer_expression "*)0x1" * (ERROR ")" )) number_literal))) ))) )) (compound_statement "{\n        aVar9.object[1].super_Object.compressed_sections_ = (Compressed_section_map *)0x0;\n      }" { (expression_statement "aVar9.object[1].super_Object.compressed_sections_ = (Compressed_section_map *)0x0;" (assignment_expression "aVar9.object[1].super_Object.compressed_sections_ = (Compressed_section_map *)0x0" (field_expression "aVar9.object[1].super_Object.compressed_sections_" (field_expression "aVar9.object[1].super_Object" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(Compressed_section_map *)0x0" ( (type_descriptor "Compressed_section_map *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        ppCVar12 = (Compressed_section_map **)\n                   std::__detail::\n                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_>::\n                   _M_allocate_buckets(this_00,__n);\n      }" else (compound_statement "{\n        ppCVar12 = (Compressed_section_map **)\n                   std::__detail::\n                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_>::\n                   _M_allocate_buckets(this_00,__n);\n      }" { (ERROR "ppCVar12 = (Compressed_section_map **)\n                   std::" (assignment_expression "ppCVar12 = (Compressed_section_map **)\n                   std" identifier = (cast_expression "(Compressed_section_map **)\n                   std" ( (type_descriptor "Compressed_section_map **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) : :) (labeled_statement "__detail::\n                   _Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_>::\n                   _M_allocate_buckets(this_00,__n);" statement_identifier (ERROR "::\n                   _Hashtable_alloc<std::allocator<std:" : : (binary_expression "_Hashtable_alloc<std" identifier < identifier) : : (binary_expression "allocator<std" identifier < identifier) :) : (labeled_statement "__detail::_Hash_node<long_int,_true>_>_>::\n                   _M_allocate_buckets(this_00,__n);" statement_identifier : (ERROR ":" :) (expression_statement "_Hash_node<long_int,_true>_>_>::\n                   _M_allocate_buckets(this_00,__n);" (comma_expression "_Hash_node<long_int,_true>_>_>::\n                   _M_allocate_buckets(this_00,__n)" (binary_expression "_Hash_node<long_int" identifier < identifier) , (binary_expression "_true>_>_>::\n                   _M_allocate_buckets(this_00,__n)" (binary_expression "_true>_>_" (binary_expression "_true>_" identifier > identifier) > identifier) > (ERROR "::" : :) (call_expression "_M_allocate_buckets(this_00,__n)" identifier (argument_list "(this_00,__n)" ( identifier , identifier ))))) ;))) }))) (expression_statement "aVar9.object[1].super_Object.name_.field_2._M_allocated_capacity = (size_type)ppCVar12;" (assignment_expression "aVar9.object[1].super_Object.name_.field_2._M_allocated_capacity = (size_type)ppCVar12" (field_expression "aVar9.object[1].super_Object.name_.field_2._M_allocated_capacity" (field_expression "aVar9.object[1].super_Object.name_.field_2" (field_expression "aVar9.object[1].super_Object.name_" (field_expression "aVar9.object[1].super_Object" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(size_type)ppCVar12" ( (type_descriptor "size_type" type_identifier) ) identifier)) ;) (expression_statement "*(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **)\n       ((long)&aVar9.object[1].super_Object.name_.field_2 + 8) = this_00;" (assignment_expression "*(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **)\n       ((long)&aVar9.object[1].super_Object.name_.field_2 + 8) = this_00" (pointer_expression "*(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **)\n       ((long)&aVar9.object[1].super_Object.name_.field_2 + 8)" * (call_expression "(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **)\n       ((long)&aVar9.object[1].super_Object.name_.field_2 + 8)" (parenthesized_expression "(_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **)" ( (comma_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int,_true>_>_> **" (binary_expression "_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<long_int" (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) , (binary_expression "_true>_>_> **" (binary_expression "_true>_>_" (binary_expression "_true>_" identifier > identifier) > identifier) > (pointer_expression "**" * (pointer_expression "*" * identifier)))) )) (argument_list "((long)&aVar9.object[1].super_Object.name_.field_2 + 8)" ( (binary_expression "(long)&aVar9.object[1].super_Object.name_.field_2 + 8" (cast_expression "(long)&aVar9.object[1].super_Object.name_.field_2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&aVar9.object[1].super_Object.name_.field_2" & (field_expression "aVar9.object[1].super_Object.name_.field_2" (field_expression "aVar9.object[1].super_Object.name_" (field_expression "aVar9.object[1].super_Object" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier) . field_identifier))) + number_literal) )))) = identifier) ;) })) }) (else_clause "else {\n    if (entsize == 2) {\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435d30;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 2;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb7b3 to 001fb7b7 has its CatchHandler @ 001fb8bd */\n      Stringpool_template<short_unsigned_int>::Stringpool_template\n                ((Stringpool_template<short_unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign\n                );\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb81a to 001fb81e has its CatchHandler @ 001fb8ad */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (entsize == 4) {\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435e18;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 4;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb693 to 001fb697 has its CatchHandler @ 001fb8c5 */\n      Stringpool_template<unsigned_int>::Stringpool_template\n                ((Stringpool_template<unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign);\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x4)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (entsize != 1) {\n        return false;\n      }\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435c48;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 1;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */\n      Stringpool_template<char>::Stringpool_template\n                ((Stringpool_template<char> *)&(aVar9.object)->reloc_counts_,addralign);\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x1)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    *(undefined1 *)\n     &aVar9.object[1].output_sections_.\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = 0;\n    aVar9.object[1].map_to_relocatable_relocs_ =\n         (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n  }" else (compound_statement "{\n    if (entsize == 2) {\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435d30;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 2;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb7b3 to 001fb7b7 has its CatchHandler @ 001fb8bd */\n      Stringpool_template<short_unsigned_int>::Stringpool_template\n                ((Stringpool_template<short_unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign\n                );\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb81a to 001fb81e has its CatchHandler @ 001fb8ad */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (entsize == 4) {\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435e18;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 4;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb693 to 001fb697 has its CatchHandler @ 001fb8c5 */\n      Stringpool_template<unsigned_int>::Stringpool_template\n                ((Stringpool_template<unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign);\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x4)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (entsize != 1) {\n        return false;\n      }\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435c48;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 1;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */\n      Stringpool_template<char>::Stringpool_template\n                ((Stringpool_template<char> *)&(aVar9.object)->reloc_counts_,addralign);\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x1)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    *(undefined1 *)\n     &aVar9.object[1].output_sections_.\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = 0;\n    aVar9.object[1].map_to_relocatable_relocs_ =\n         (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n  }" { (if_statement "if (entsize == 2) {\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435d30;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 2;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb7b3 to 001fb7b7 has its CatchHandler @ 001fb8bd */\n      Stringpool_template<short_unsigned_int>::Stringpool_template\n                ((Stringpool_template<short_unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign\n                );\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb81a to 001fb81e has its CatchHandler @ 001fb8ad */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (entsize == 4) {\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435e18;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 4;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb693 to 001fb697 has its CatchHandler @ 001fb8c5 */\n      Stringpool_template<unsigned_int>::Stringpool_template\n                ((Stringpool_template<unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign);\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x4)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (entsize != 1) {\n        return false;\n      }\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435c48;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 1;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */\n      Stringpool_template<char>::Stringpool_template\n                ((Stringpool_template<char> *)&(aVar9.object)->reloc_counts_,addralign);\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x1)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" if (parenthesized_expression "(entsize == 2)" ( (binary_expression "entsize == 2" identifier == number_literal) )) (compound_statement "{\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435d30;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 2;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb7b3 to 001fb7b7 has its CatchHandler @ 001fb8bd */\n      Stringpool_template<short_unsigned_int>::Stringpool_template\n                ((Stringpool_template<short_unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign\n                );\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb81a to 001fb81e has its CatchHandler @ 001fb8ad */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" { (expression_statement "aVar9.object = (Relobj *)operator_new(0x148);" (assignment_expression "aVar9.object = (Relobj *)operator_new(0x148)" (field_expression "aVar9.object" identifier . field_identifier) = (cast_expression "(Relobj *)operator_new(0x148)" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x148)" identifier (argument_list "(0x148)" ( number_literal ))))) ;) (expression_statement "((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;" (assignment_expression "((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0" (field_expression "((aVar9.object)->super_Object).name_._M_dataplus._M_p" (field_expression "((aVar9.object)->super_Object).name_._M_dataplus" (field_expression "((aVar9.object)->super_Object).name_" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "((aVar9.object)->super_Object).name_._M_string_length = 0;" (assignment_expression "((aVar9.object)->super_Object).name_._M_string_length = 0" (field_expression "((aVar9.object)->super_Object).name_._M_string_length" (field_expression "((aVar9.object)->super_Object).name_" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;" (assignment_expression "((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff" (field_expression "((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity" (field_expression "((aVar9.object)->super_Object).name_.field_2" (field_expression "((aVar9.object)->super_Object).name_" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(aVar9.pomb)->first_shndx_ = 0xffffffff;" (assignment_expression "(aVar9.pomb)->first_shndx_ = 0xffffffff" (field_expression "(aVar9.pomb)->first_shndx_" (parenthesized_expression "(aVar9.pomb)" ( (field_expression "aVar9.pomb" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (expression_statement "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;" (assignment_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_" (field_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish" (field_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl" (binary_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std" (binary_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold" (field_expression "((aVar9.object)->output_sections_).\n      super__Vector_base" (parenthesized_expression "((aVar9.object)->output_sections_)" ( (field_expression "(aVar9.object)->output_sections_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "(pointer)&(aVar9.object)->sd_" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "(aVar9.object)->sd_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier))) ;) (expression_statement "pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);" (assignment_expression "pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8)" identifier = (cast_expression "(byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8)" ( (binary_expression "((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8" (field_expression "((aVar9.object)->super_Object).name_.field_2._M_local_buf" (field_expression "((aVar9.object)->super_Object).name_.field_2" (field_expression "((aVar9.object)->super_Object).name_" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_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 "*(bool *)((long)aVar9 + 0x78) = false;" (assignment_expression "*(bool *)((long)aVar9 + 0x78) = false" (pointer_expression "*(bool *)((long)aVar9 + 0x78)" * (cast_expression "(bool *)((long)aVar9 + 0x78)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)aVar9 + 0x78)" ( (binary_expression "(long)aVar9 + 0x78" (cast_expression "(long)aVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = false) ;) (expression_statement "*(undefined7 *)((long)aVar9 + 0x79) = 0;" (assignment_expression "*(undefined7 *)((long)aVar9 + 0x79) = 0" (pointer_expression "*(undefined7 *)((long)aVar9 + 0x79)" * (cast_expression "(undefined7 *)((long)aVar9 + 0x79)" ( (type_descriptor "undefined7 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)aVar9 + 0x79)" ( (binary_expression "(long)aVar9 + 0x79" (cast_expression "(long)aVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;" (assignment_expression "*(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0" (pointer_expression "*(Read_relocs_data **)((long)aVar9 + 0x80)" * (cast_expression "(Read_relocs_data **)((long)aVar9 + 0x80)" ( (type_descriptor "Read_relocs_data **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((long)aVar9 + 0x80)" ( (binary_expression "(long)aVar9 + 0x80" (cast_expression "(long)aVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (cast_expression "(Read_relocs_data *)0x0" ( (type_descriptor "Read_relocs_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435d30;" (assignment_expression "((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435d30" (field_expression "((aVar9.object)->super_Object)._vptr_Object" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Output_merge_string_00435d30" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Output_merge_string_00435d30" & identifier))) ;) (expression_statement "((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;" (assignment_expression "((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0" (field_expression "((aVar9.object)->super_Object).input_file_" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(aVar9.posd)->addralign_ = addralign;" (assignment_expression "(aVar9.posd)->addralign_ = addralign" (field_expression "(aVar9.posd)->addralign_" (parenthesized_expression "(aVar9.posd)" ( (field_expression "aVar9.posd" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(aVar9.pomb)->entsize_ = 2;" (assignment_expression "(aVar9.pomb)->entsize_ = 2" (field_expression "(aVar9.pomb)->entsize_" (parenthesized_expression "(aVar9.pomb)" ( (field_expression "aVar9.pomb" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (expression_statement "(aVar9.pomb)->keeps_input_sections_ = false;" (assignment_expression "(aVar9.pomb)->keeps_input_sections_ = false" (field_expression "(aVar9.pomb)->keeps_input_sections_" (parenthesized_expression "(aVar9.pomb)" ( (field_expression "aVar9.pomb" identifier . field_identifier) )) -> field_identifier) = false) ;) (expression_statement "((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;" (assignment_expression "((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0" (field_expression "((aVar9.object)->super_Object).compressed_sections_" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (cast_expression "(Compressed_section_map *)0x0" ( (type_descriptor "Compressed_section_map *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(aVar9.object)->sd_ = (Symbols_data *)0x0;" (assignment_expression "(aVar9.object)->sd_ = (Symbols_data *)0x0" (field_expression "(aVar9.object)->sd_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Symbols_data *)0x0" ( (type_descriptor "Symbols_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;" (assignment_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1" (field_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage" (field_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl" (binary_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std" (binary_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold" (field_expression "((aVar9.object)->output_sections_).\n      super__Vector_base" (parenthesized_expression "((aVar9.object)->output_sections_)" ( (field_expression "(aVar9.object)->output_sections_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x1" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;" (assignment_expression "(aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0" (field_expression "(aVar9.object)->map_to_relocatable_relocs_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) = (parenthesized_expression "(vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0" ( (ERROR "vector<gold::Relocatable_relocs*,_std::allocator<gold::" (binary_expression "vector<gold" identifier < identifier) : : (type_descriptor "Relocatable_relocs*" type_identifier (abstract_pointer_declarator "*" *)) , identifier : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Relocatable_relocs*>_> *)0x0" (binary_expression "Relocatable_relocs*>_" identifier * (ERROR ">" >) identifier) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) ;) (expression_statement "(aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;" (assignment_expression "(aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0" (field_expression "(aVar9.object)->object_merge_map_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Object_merge_map *)0x0" ( (type_descriptor "Object_merge_map *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;" (assignment_expression "*(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000" (pointer_expression "*(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_" * (cast_expression "(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(aVar9.object)->relocs_must_follow_section_writes_" & (field_expression "(aVar9.object)->relocs_must_follow_section_writes_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier)))) = number_literal) ;) (expression_statement "(aVar9.object)->rd_ = (Read_relocs_data *)0x0;" (assignment_expression "(aVar9.object)->rd_ = (Read_relocs_data *)0x0" (field_expression "(aVar9.object)->rd_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Read_relocs_data *)0x0" ( (type_descriptor "Read_relocs_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) comment (expression_statement "Stringpool_template<short_unsigned_int>::Stringpool_template\n                ((Stringpool_template<short_unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign\n                );" (binary_expression "Stringpool_template<short_unsigned_int>::Stringpool_template\n                ((Stringpool_template<short_unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign\n                )" (binary_expression "Stringpool_template<short_unsigned_int" identifier < identifier) > (ERROR "::" : :) (call_expression "Stringpool_template\n                ((Stringpool_template<short_unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign\n                )" identifier (argument_list "((Stringpool_template<short_unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign\n                )" ( (binary_expression "(Stringpool_template<short_unsigned_int> *)&(aVar9.object)->reloc_counts_" (parenthesized_expression "(Stringpool_template<short_unsigned_int> *)" ( (binary_expression "Stringpool_template<short_unsigned_int> *" (binary_expression "Stringpool_template<short_unsigned_int" identifier < identifier) > (pointer_expression "*" * identifier)) )) & (field_expression "(aVar9.object)->reloc_counts_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier)) , identifier )))) ;) (expression_statement "pp_Var10 = aVar9.object[1].super_Object._vptr_Object;" (assignment_expression "pp_Var10 = aVar9.object[1].super_Object._vptr_Object" identifier = (field_expression "aVar9.object[1].super_Object._vptr_Object" (field_expression "aVar9.object[1].super_Object" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier)) ;) (expression_statement "*(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;" (assignment_expression "*(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0" (pointer_expression "*(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_" * (cast_expression "(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&aVar9.object[1].relocs_must_follow_section_writes_" & (field_expression "aVar9.object[1].relocs_must_follow_section_writes_" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier)))) = number_literal) ;) (expression_statement "aVar9.object[1].rd_ = (Read_relocs_data *)0x0;" (assignment_expression "aVar9.object[1].rd_ = (Read_relocs_data *)0x0" (field_expression "aVar9.object[1].rd_" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) = (cast_expression "(Read_relocs_data *)0x0" ( (type_descriptor "Read_relocs_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "aVar9.object[1].sd_ = (Symbols_data *)0x0;" (assignment_expression "aVar9.object[1].sd_ = (Symbols_data *)0x0" (field_expression "aVar9.object[1].sd_" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) = (cast_expression "(Symbols_data *)0x0" ( (type_descriptor "Symbols_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "aVar9.object[1].reloc_counts_ = (uint *)0x0;" (assignment_expression "aVar9.object[1].reloc_counts_ = (uint *)0x0" (field_expression "aVar9.object[1].reloc_counts_" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "aVar9.object[1].reloc_bases_ = (uint *)0x0;" (assignment_expression "aVar9.object[1].reloc_bases_ = (uint *)0x0" (field_expression "aVar9.object[1].reloc_bases_" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x2)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb81a to 001fb81e has its CatchHandler @ 001fb8ad */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }" if (parenthesized_expression "((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x2))" ( (binary_expression "(pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x2))" (parenthesized_expression "(pp_Var10 != (_func_int_varargs **)0x0)" ( (binary_expression "pp_Var10 != (_func_int_varargs **)0x0" identifier != (cast_expression "(_func_int_varargs **)0x0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) || (parenthesized_expression "(aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x2))" ( (binary_expression "aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x2)" (field_expression "aVar9.object[1].map_to_relocatable_relocs_" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) != (parenthesized_expression "(vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x2)" ( (ERROR "vector<gold::Relocatable_relocs*,_std::allocator<gold::" (binary_expression "vector<gold" identifier < identifier) : : (type_descriptor "Relocatable_relocs*" type_identifier (abstract_pointer_declarator "*" *)) , identifier : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Relocatable_relocs*>_> *)0x2" (binary_expression "Relocatable_relocs*>_" identifier * (ERROR ">" >) identifier) > (pointer_expression "*)0x2" * (ERROR ")" )) number_literal)) ))) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb81a to 001fb81e has its CatchHandler @ 001fb8ad */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }" { comment comment (expression_statement "do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");" (call_expression "do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null")" identifier (argument_list "("../../gold/stringpool.h",0xcc,"set_no_zero_null")" ( (string_literal ""../../gold/stringpool.h"" " string_content ") , number_literal , (string_literal ""set_no_zero_null"" " string_content ") ))) ;) })) }) (else_clause "else if (entsize == 4) {\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435e18;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 4;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb693 to 001fb697 has its CatchHandler @ 001fb8c5 */\n      Stringpool_template<unsigned_int>::Stringpool_template\n                ((Stringpool_template<unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign);\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x4)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (entsize != 1) {\n        return false;\n      }\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435c48;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 1;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */\n      Stringpool_template<char>::Stringpool_template\n                ((Stringpool_template<char> *)&(aVar9.object)->reloc_counts_,addralign);\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x1)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" else (if_statement "if (entsize == 4) {\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435e18;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 4;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb693 to 001fb697 has its CatchHandler @ 001fb8c5 */\n      Stringpool_template<unsigned_int>::Stringpool_template\n                ((Stringpool_template<unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign);\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x4)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (entsize != 1) {\n        return false;\n      }\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435c48;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 1;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */\n      Stringpool_template<char>::Stringpool_template\n                ((Stringpool_template<char> *)&(aVar9.object)->reloc_counts_,addralign);\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x1)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" if (parenthesized_expression "(entsize == 4)" ( (binary_expression "entsize == 4" identifier == number_literal) )) (compound_statement "{\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435e18;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 4;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb693 to 001fb697 has its CatchHandler @ 001fb8c5 */\n      Stringpool_template<unsigned_int>::Stringpool_template\n                ((Stringpool_template<unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign);\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x4)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" { (expression_statement "aVar9.object = (Relobj *)operator_new(0x148);" (assignment_expression "aVar9.object = (Relobj *)operator_new(0x148)" (field_expression "aVar9.object" identifier . field_identifier) = (cast_expression "(Relobj *)operator_new(0x148)" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x148)" identifier (argument_list "(0x148)" ( number_literal ))))) ;) (expression_statement "((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;" (assignment_expression "((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0" (field_expression "((aVar9.object)->super_Object).name_._M_dataplus._M_p" (field_expression "((aVar9.object)->super_Object).name_._M_dataplus" (field_expression "((aVar9.object)->super_Object).name_" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "((aVar9.object)->super_Object).name_._M_string_length = 0;" (assignment_expression "((aVar9.object)->super_Object).name_._M_string_length = 0" (field_expression "((aVar9.object)->super_Object).name_._M_string_length" (field_expression "((aVar9.object)->super_Object).name_" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;" (assignment_expression "((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff" (field_expression "((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity" (field_expression "((aVar9.object)->super_Object).name_.field_2" (field_expression "((aVar9.object)->super_Object).name_" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(aVar9.pomb)->first_shndx_ = 0xffffffff;" (assignment_expression "(aVar9.pomb)->first_shndx_ = 0xffffffff" (field_expression "(aVar9.pomb)->first_shndx_" (parenthesized_expression "(aVar9.pomb)" ( (field_expression "aVar9.pomb" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (expression_statement "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;" (assignment_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_" (field_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish" (field_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl" (binary_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std" (binary_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold" (field_expression "((aVar9.object)->output_sections_).\n      super__Vector_base" (parenthesized_expression "((aVar9.object)->output_sections_)" ( (field_expression "(aVar9.object)->output_sections_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "(pointer)&(aVar9.object)->sd_" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "(aVar9.object)->sd_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier))) ;) (expression_statement "pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);" (assignment_expression "pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8)" identifier = (cast_expression "(byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8)" ( (binary_expression "((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8" (field_expression "((aVar9.object)->super_Object).name_.field_2._M_local_buf" (field_expression "((aVar9.object)->super_Object).name_.field_2" (field_expression "((aVar9.object)->super_Object).name_" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_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 "*(bool *)((long)aVar9 + 0x78) = false;" (assignment_expression "*(bool *)((long)aVar9 + 0x78) = false" (pointer_expression "*(bool *)((long)aVar9 + 0x78)" * (cast_expression "(bool *)((long)aVar9 + 0x78)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)aVar9 + 0x78)" ( (binary_expression "(long)aVar9 + 0x78" (cast_expression "(long)aVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = false) ;) (expression_statement "*(undefined7 *)((long)aVar9 + 0x79) = 0;" (assignment_expression "*(undefined7 *)((long)aVar9 + 0x79) = 0" (pointer_expression "*(undefined7 *)((long)aVar9 + 0x79)" * (cast_expression "(undefined7 *)((long)aVar9 + 0x79)" ( (type_descriptor "undefined7 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)aVar9 + 0x79)" ( (binary_expression "(long)aVar9 + 0x79" (cast_expression "(long)aVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;" (assignment_expression "*(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0" (pointer_expression "*(Read_relocs_data **)((long)aVar9 + 0x80)" * (cast_expression "(Read_relocs_data **)((long)aVar9 + 0x80)" ( (type_descriptor "Read_relocs_data **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((long)aVar9 + 0x80)" ( (binary_expression "(long)aVar9 + 0x80" (cast_expression "(long)aVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (cast_expression "(Read_relocs_data *)0x0" ( (type_descriptor "Read_relocs_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435e18;" (assignment_expression "((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435e18" (field_expression "((aVar9.object)->super_Object)._vptr_Object" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Output_merge_string_00435e18" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Output_merge_string_00435e18" & identifier))) ;) (expression_statement "((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;" (assignment_expression "((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0" (field_expression "((aVar9.object)->super_Object).input_file_" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(aVar9.posd)->addralign_ = addralign;" (assignment_expression "(aVar9.posd)->addralign_ = addralign" (field_expression "(aVar9.posd)->addralign_" (parenthesized_expression "(aVar9.posd)" ( (field_expression "aVar9.posd" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(aVar9.pomb)->entsize_ = 4;" (assignment_expression "(aVar9.pomb)->entsize_ = 4" (field_expression "(aVar9.pomb)->entsize_" (parenthesized_expression "(aVar9.pomb)" ( (field_expression "aVar9.pomb" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (expression_statement "(aVar9.pomb)->keeps_input_sections_ = false;" (assignment_expression "(aVar9.pomb)->keeps_input_sections_ = false" (field_expression "(aVar9.pomb)->keeps_input_sections_" (parenthesized_expression "(aVar9.pomb)" ( (field_expression "aVar9.pomb" identifier . field_identifier) )) -> field_identifier) = false) ;) (expression_statement "((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;" (assignment_expression "((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0" (field_expression "((aVar9.object)->super_Object).compressed_sections_" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (cast_expression "(Compressed_section_map *)0x0" ( (type_descriptor "Compressed_section_map *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(aVar9.object)->sd_ = (Symbols_data *)0x0;" (assignment_expression "(aVar9.object)->sd_ = (Symbols_data *)0x0" (field_expression "(aVar9.object)->sd_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Symbols_data *)0x0" ( (type_descriptor "Symbols_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;" (assignment_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1" (field_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage" (field_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl" (binary_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std" (binary_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold" (field_expression "((aVar9.object)->output_sections_).\n      super__Vector_base" (parenthesized_expression "((aVar9.object)->output_sections_)" ( (field_expression "(aVar9.object)->output_sections_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x1" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;" (assignment_expression "(aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0" (field_expression "(aVar9.object)->map_to_relocatable_relocs_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) = (parenthesized_expression "(vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0" ( (ERROR "vector<gold::Relocatable_relocs*,_std::allocator<gold::" (binary_expression "vector<gold" identifier < identifier) : : (type_descriptor "Relocatable_relocs*" type_identifier (abstract_pointer_declarator "*" *)) , identifier : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Relocatable_relocs*>_> *)0x0" (binary_expression "Relocatable_relocs*>_" identifier * (ERROR ">" >) identifier) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) ;) (expression_statement "(aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;" (assignment_expression "(aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0" (field_expression "(aVar9.object)->object_merge_map_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Object_merge_map *)0x0" ( (type_descriptor "Object_merge_map *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;" (assignment_expression "*(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000" (pointer_expression "*(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_" * (cast_expression "(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(aVar9.object)->relocs_must_follow_section_writes_" & (field_expression "(aVar9.object)->relocs_must_follow_section_writes_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier)))) = number_literal) ;) (expression_statement "(aVar9.object)->rd_ = (Read_relocs_data *)0x0;" (assignment_expression "(aVar9.object)->rd_ = (Read_relocs_data *)0x0" (field_expression "(aVar9.object)->rd_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Read_relocs_data *)0x0" ( (type_descriptor "Read_relocs_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) comment (expression_statement "Stringpool_template<unsigned_int>::Stringpool_template\n                ((Stringpool_template<unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign);" (binary_expression "Stringpool_template<unsigned_int>::Stringpool_template\n                ((Stringpool_template<unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign)" (binary_expression "Stringpool_template<unsigned_int" identifier < identifier) > (ERROR "::" : :) (call_expression "Stringpool_template\n                ((Stringpool_template<unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign)" identifier (argument_list "((Stringpool_template<unsigned_int> *)&(aVar9.object)->reloc_counts_,addralign)" ( (binary_expression "(Stringpool_template<unsigned_int> *)&(aVar9.object)->reloc_counts_" (parenthesized_expression "(Stringpool_template<unsigned_int> *)" ( (binary_expression "Stringpool_template<unsigned_int> *" (binary_expression "Stringpool_template<unsigned_int" identifier < identifier) > (pointer_expression "*" * identifier)) )) & (field_expression "(aVar9.object)->reloc_counts_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier)) , identifier )))) ;) (expression_statement "pp_Var10 = aVar9.object[1].super_Object._vptr_Object;" (assignment_expression "pp_Var10 = aVar9.object[1].super_Object._vptr_Object" identifier = (field_expression "aVar9.object[1].super_Object._vptr_Object" (field_expression "aVar9.object[1].super_Object" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier)) ;) (expression_statement "*(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;" (assignment_expression "*(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0" (pointer_expression "*(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_" * (cast_expression "(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&aVar9.object[1].relocs_must_follow_section_writes_" & (field_expression "aVar9.object[1].relocs_must_follow_section_writes_" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier)))) = number_literal) ;) (expression_statement "aVar9.object[1].rd_ = (Read_relocs_data *)0x0;" (assignment_expression "aVar9.object[1].rd_ = (Read_relocs_data *)0x0" (field_expression "aVar9.object[1].rd_" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) = (cast_expression "(Read_relocs_data *)0x0" ( (type_descriptor "Read_relocs_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "aVar9.object[1].sd_ = (Symbols_data *)0x0;" (assignment_expression "aVar9.object[1].sd_ = (Symbols_data *)0x0" (field_expression "aVar9.object[1].sd_" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) = (cast_expression "(Symbols_data *)0x0" ( (type_descriptor "Symbols_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "aVar9.object[1].reloc_counts_ = (uint *)0x0;" (assignment_expression "aVar9.object[1].reloc_counts_ = (uint *)0x0" (field_expression "aVar9.object[1].reloc_counts_" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "aVar9.object[1].reloc_bases_ = (uint *)0x0;" (assignment_expression "aVar9.object[1].reloc_bases_ = (uint *)0x0" (field_expression "aVar9.object[1].reloc_bases_" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x4)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }" if (parenthesized_expression "((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x4))" ( (binary_expression "(pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x4))" (parenthesized_expression "(pp_Var10 != (_func_int_varargs **)0x0)" ( (binary_expression "pp_Var10 != (_func_int_varargs **)0x0" identifier != (cast_expression "(_func_int_varargs **)0x0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) || (parenthesized_expression "(aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x4))" ( (binary_expression "aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x4)" (field_expression "aVar9.object[1].map_to_relocatable_relocs_" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) != (parenthesized_expression "(vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x4)" ( (ERROR "vector<gold::Relocatable_relocs*,_std::allocator<gold::" (binary_expression "vector<gold" identifier < identifier) : : (type_descriptor "Relocatable_relocs*" type_identifier (abstract_pointer_declarator "*" *)) , identifier : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Relocatable_relocs*>_> *)0x4" (binary_expression "Relocatable_relocs*>_" identifier * (ERROR ">" >) identifier) > (pointer_expression "*)0x4" * (ERROR ")" )) number_literal)) ))) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }" { comment comment (expression_statement "do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");" (call_expression "do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null")" identifier (argument_list "("../../gold/stringpool.h",0xcc,"set_no_zero_null")" ( (string_literal ""../../gold/stringpool.h"" " string_content ") , number_literal , (string_literal ""set_no_zero_null"" " string_content ") ))) ;) })) }) (else_clause "else {\n      if (entsize != 1) {\n        return false;\n      }\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435c48;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 1;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */\n      Stringpool_template<char>::Stringpool_template\n                ((Stringpool_template<char> *)&(aVar9.object)->reloc_counts_,addralign);\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x1)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" else (compound_statement "{\n      if (entsize != 1) {\n        return false;\n      }\n      aVar9.object = (Relobj *)operator_new(0x148);\n      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;\n      ((aVar9.object)->super_Object).name_._M_string_length = 0;\n      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;\n      (aVar9.pomb)->first_shndx_ = 0xffffffff;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;\n      pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);\n      *pbVar1 = *pbVar1 & 0xe0;\n      *(bool *)((long)aVar9 + 0x78) = false;\n      *(undefined7 *)((long)aVar9 + 0x79) = 0;\n      *(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;\n      ((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435c48;\n      ((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;\n      (aVar9.posd)->addralign_ = addralign;\n      (aVar9.pomb)->entsize_ = 1;\n      (aVar9.pomb)->keeps_input_sections_ = false;\n      ((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;\n      (aVar9.object)->sd_ = (Symbols_data *)0x0;\n      ((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;\n      (aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;\n      (aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;\n      *(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;\n      (aVar9.object)->rd_ = (Read_relocs_data *)0x0;\n                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */\n      Stringpool_template<char>::Stringpool_template\n                ((Stringpool_template<char> *)&(aVar9.object)->reloc_counts_,addralign);\n      pp_Var10 = aVar9.object[1].super_Object._vptr_Object;\n      *(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;\n      aVar9.object[1].rd_ = (Read_relocs_data *)0x0;\n      aVar9.object[1].sd_ = (Symbols_data *)0x0;\n      aVar9.object[1].reloc_counts_ = (uint *)0x0;\n      aVar9.object[1].reloc_bases_ = (uint *)0x0;\n      if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x1)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" { (if_statement "if (entsize != 1) {\n        return false;\n      }" if (parenthesized_expression "(entsize != 1)" ( (binary_expression "entsize != 1" identifier != number_literal) )) (compound_statement "{\n        return false;\n      }" { (return_statement "return false;" return false ;) })) (expression_statement "aVar9.object = (Relobj *)operator_new(0x148);" (assignment_expression "aVar9.object = (Relobj *)operator_new(0x148)" (field_expression "aVar9.object" identifier . field_identifier) = (cast_expression "(Relobj *)operator_new(0x148)" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x148)" identifier (argument_list "(0x148)" ( number_literal ))))) ;) (expression_statement "((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0;" (assignment_expression "((aVar9.object)->super_Object).name_._M_dataplus._M_p = (pointer)0x0" (field_expression "((aVar9.object)->super_Object).name_._M_dataplus._M_p" (field_expression "((aVar9.object)->super_Object).name_._M_dataplus" (field_expression "((aVar9.object)->super_Object).name_" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "((aVar9.object)->super_Object).name_._M_string_length = 0;" (assignment_expression "((aVar9.object)->super_Object).name_._M_string_length = 0" (field_expression "((aVar9.object)->super_Object).name_._M_string_length" (field_expression "((aVar9.object)->super_Object).name_" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;" (assignment_expression "((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff" (field_expression "((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity" (field_expression "((aVar9.object)->super_Object).name_.field_2" (field_expression "((aVar9.object)->super_Object).name_" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "(aVar9.pomb)->first_shndx_ = 0xffffffff;" (assignment_expression "(aVar9.pomb)->first_shndx_ = 0xffffffff" (field_expression "(aVar9.pomb)->first_shndx_" (parenthesized_expression "(aVar9.pomb)" ( (field_expression "aVar9.pomb" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (expression_statement "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_;" (assignment_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = (pointer)&(aVar9.object)->sd_" (field_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish" (field_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl" (binary_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std" (binary_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold" (field_expression "((aVar9.object)->output_sections_).\n      super__Vector_base" (parenthesized_expression "((aVar9.object)->output_sections_)" ( (field_expression "(aVar9.object)->output_sections_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "(pointer)&(aVar9.object)->sd_" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "(aVar9.object)->sd_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier))) ;) (expression_statement "pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);" (assignment_expression "pbVar1 = (byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8)" identifier = (cast_expression "(byte *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8)" ( (binary_expression "((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8" (field_expression "((aVar9.object)->super_Object).name_.field_2._M_local_buf" (field_expression "((aVar9.object)->super_Object).name_.field_2" (field_expression "((aVar9.object)->super_Object).name_" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_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 "*(bool *)((long)aVar9 + 0x78) = false;" (assignment_expression "*(bool *)((long)aVar9 + 0x78) = false" (pointer_expression "*(bool *)((long)aVar9 + 0x78)" * (cast_expression "(bool *)((long)aVar9 + 0x78)" ( (type_descriptor "bool *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)aVar9 + 0x78)" ( (binary_expression "(long)aVar9 + 0x78" (cast_expression "(long)aVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = false) ;) (expression_statement "*(undefined7 *)((long)aVar9 + 0x79) = 0;" (assignment_expression "*(undefined7 *)((long)aVar9 + 0x79) = 0" (pointer_expression "*(undefined7 *)((long)aVar9 + 0x79)" * (cast_expression "(undefined7 *)((long)aVar9 + 0x79)" ( (type_descriptor "undefined7 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)aVar9 + 0x79)" ( (binary_expression "(long)aVar9 + 0x79" (cast_expression "(long)aVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0;" (assignment_expression "*(Read_relocs_data **)((long)aVar9 + 0x80) = (Read_relocs_data *)0x0" (pointer_expression "*(Read_relocs_data **)((long)aVar9 + 0x80)" * (cast_expression "(Read_relocs_data **)((long)aVar9 + 0x80)" ( (type_descriptor "Read_relocs_data **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((long)aVar9 + 0x80)" ( (binary_expression "(long)aVar9 + 0x80" (cast_expression "(long)aVar9" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (cast_expression "(Read_relocs_data *)0x0" ( (type_descriptor "Read_relocs_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435c48;" (assignment_expression "((aVar9.object)->super_Object)._vptr_Object =\n           (_func_int_varargs **)&PTR__Output_merge_string_00435c48" (field_expression "((aVar9.object)->super_Object)._vptr_Object" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Output_merge_string_00435c48" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Output_merge_string_00435c48" & identifier))) ;) (expression_statement "((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0;" (assignment_expression "((aVar9.object)->super_Object).input_file_ = (Input_file *)0x0" (field_expression "((aVar9.object)->super_Object).input_file_" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(aVar9.posd)->addralign_ = addralign;" (assignment_expression "(aVar9.posd)->addralign_ = addralign" (field_expression "(aVar9.posd)->addralign_" (parenthesized_expression "(aVar9.posd)" ( (field_expression "aVar9.posd" identifier . field_identifier) )) -> field_identifier) = identifier) ;) (expression_statement "(aVar9.pomb)->entsize_ = 1;" (assignment_expression "(aVar9.pomb)->entsize_ = 1" (field_expression "(aVar9.pomb)->entsize_" (parenthesized_expression "(aVar9.pomb)" ( (field_expression "aVar9.pomb" identifier . field_identifier) )) -> field_identifier) = number_literal) ;) (expression_statement "(aVar9.pomb)->keeps_input_sections_ = false;" (assignment_expression "(aVar9.pomb)->keeps_input_sections_ = false" (field_expression "(aVar9.pomb)->keeps_input_sections_" (parenthesized_expression "(aVar9.pomb)" ( (field_expression "aVar9.pomb" identifier . field_identifier) )) -> field_identifier) = false) ;) (expression_statement "((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0;" (assignment_expression "((aVar9.object)->super_Object).compressed_sections_ = (Compressed_section_map *)0x0" (field_expression "((aVar9.object)->super_Object).compressed_sections_" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (cast_expression "(Compressed_section_map *)0x0" ( (type_descriptor "Compressed_section_map *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(aVar9.object)->sd_ = (Symbols_data *)0x0;" (assignment_expression "(aVar9.object)->sd_ = (Symbols_data *)0x0" (field_expression "(aVar9.object)->sd_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Symbols_data *)0x0" ( (type_descriptor "Symbols_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1;" (assignment_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = (pointer)0x1" (field_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage" (field_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl" (binary_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold::Output_section*,_std" (binary_expression "((aVar9.object)->output_sections_).\n      super__Vector_base<gold" (field_expression "((aVar9.object)->output_sections_).\n      super__Vector_base" (parenthesized_expression "((aVar9.object)->output_sections_)" ( (field_expression "(aVar9.object)->output_sections_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x1" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;" (assignment_expression "(aVar9.object)->map_to_relocatable_relocs_ =\n           (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0" (field_expression "(aVar9.object)->map_to_relocatable_relocs_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) = (parenthesized_expression "(vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0" ( (ERROR "vector<gold::Relocatable_relocs*,_std::allocator<gold::" (binary_expression "vector<gold" identifier < identifier) : : (type_descriptor "Relocatable_relocs*" type_identifier (abstract_pointer_declarator "*" *)) , identifier : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Relocatable_relocs*>_> *)0x0" (binary_expression "Relocatable_relocs*>_" identifier * (ERROR ">" >) identifier) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) ;) (expression_statement "(aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0;" (assignment_expression "(aVar9.object)->object_merge_map_ = (Object_merge_map *)0x0" (field_expression "(aVar9.object)->object_merge_map_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Object_merge_map *)0x0" ( (type_descriptor "Object_merge_map *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;" (assignment_expression "*(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000" (pointer_expression "*(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_" * (cast_expression "(undefined4 *)&(aVar9.object)->relocs_must_follow_section_writes_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(aVar9.object)->relocs_must_follow_section_writes_" & (field_expression "(aVar9.object)->relocs_must_follow_section_writes_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier)))) = number_literal) ;) (expression_statement "(aVar9.object)->rd_ = (Read_relocs_data *)0x0;" (assignment_expression "(aVar9.object)->rd_ = (Read_relocs_data *)0x0" (field_expression "(aVar9.object)->rd_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) = (cast_expression "(Read_relocs_data *)0x0" ( (type_descriptor "Read_relocs_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) comment (expression_statement "Stringpool_template<char>::Stringpool_template\n                ((Stringpool_template<char> *)&(aVar9.object)->reloc_counts_,addralign);" (binary_expression "Stringpool_template<char>::Stringpool_template\n                ((Stringpool_template<char> *)&(aVar9.object)->reloc_counts_,addralign)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "Stringpool_template\n                ((Stringpool_template<char> *)&(aVar9.object)->reloc_counts_,addralign)" identifier (argument_list "((Stringpool_template<char> *)&(aVar9.object)->reloc_counts_,addralign)" ( (binary_expression "(Stringpool_template<char> *)&(aVar9.object)->reloc_counts_" (parenthesized_expression "(Stringpool_template<char> *)" ( (binary_expression "Stringpool_template<char> *" (binary_expression "Stringpool_template<char" identifier < identifier) > (pointer_expression "*" * identifier)) )) & (field_expression "(aVar9.object)->reloc_counts_" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier)) , identifier )))) ;) (expression_statement "pp_Var10 = aVar9.object[1].super_Object._vptr_Object;" (assignment_expression "pp_Var10 = aVar9.object[1].super_Object._vptr_Object" identifier = (field_expression "aVar9.object[1].super_Object._vptr_Object" (field_expression "aVar9.object[1].super_Object" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) . field_identifier)) ;) (expression_statement "*(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;" (assignment_expression "*(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0" (pointer_expression "*(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_" * (cast_expression "(undefined8 *)&aVar9.object[1].relocs_must_follow_section_writes_" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&aVar9.object[1].relocs_must_follow_section_writes_" & (field_expression "aVar9.object[1].relocs_must_follow_section_writes_" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier)))) = number_literal) ;) (expression_statement "aVar9.object[1].rd_ = (Read_relocs_data *)0x0;" (assignment_expression "aVar9.object[1].rd_ = (Read_relocs_data *)0x0" (field_expression "aVar9.object[1].rd_" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) = (cast_expression "(Read_relocs_data *)0x0" ( (type_descriptor "Read_relocs_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "aVar9.object[1].sd_ = (Symbols_data *)0x0;" (assignment_expression "aVar9.object[1].sd_ = (Symbols_data *)0x0" (field_expression "aVar9.object[1].sd_" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) = (cast_expression "(Symbols_data *)0x0" ( (type_descriptor "Symbols_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "aVar9.object[1].reloc_counts_ = (uint *)0x0;" (assignment_expression "aVar9.object[1].reloc_counts_ = (uint *)0x0" (field_expression "aVar9.object[1].reloc_counts_" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "aVar9.object[1].reloc_bases_ = (uint *)0x0;" (assignment_expression "aVar9.object[1].reloc_bases_ = (uint *)0x0" (field_expression "aVar9.object[1].reloc_bases_" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x1)) {\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }" if (parenthesized_expression "((pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x1))" ( (binary_expression "(pp_Var10 != (_func_int_varargs **)0x0) ||\n         (aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x1))" (parenthesized_expression "(pp_Var10 != (_func_int_varargs **)0x0)" ( (binary_expression "pp_Var10 != (_func_int_varargs **)0x0" identifier != (cast_expression "(_func_int_varargs **)0x0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) || (parenthesized_expression "(aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x1))" ( (binary_expression "aVar9.object[1].map_to_relocatable_relocs_ !=\n          (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x1)" (field_expression "aVar9.object[1].map_to_relocatable_relocs_" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) != (parenthesized_expression "(vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x1)" ( (ERROR "vector<gold::Relocatable_relocs*,_std::allocator<gold::" (binary_expression "vector<gold" identifier < identifier) : : (type_descriptor "Relocatable_relocs*" type_identifier (abstract_pointer_declarator "*" *)) , identifier : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Relocatable_relocs*>_> *)0x1" (binary_expression "Relocatable_relocs*>_" identifier * (ERROR ">" >) identifier) > (pointer_expression "*)0x1" * (ERROR ")" )) number_literal)) ))) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */\n        do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }" { comment comment (expression_statement "do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null");" (call_expression "do_gold_unreachable("../../gold/stringpool.h",0xcc,"set_no_zero_null")" identifier (argument_list "("../../gold/stringpool.h",0xcc,"set_no_zero_null")" ( (string_literal ""../../gold/stringpool.h"" " string_content ") , number_literal , (string_literal ""set_no_zero_null"" " string_content ") ))) ;) })) }))))) (expression_statement "*(undefined1 *)\n     &aVar9.object[1].output_sections_.\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = 0;" (assignment_expression "*(undefined1 *)\n     &aVar9.object[1].output_sections_.\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage = 0" (field_expression "*(undefined1 *)\n     &aVar9.object[1].output_sections_.\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_end_of_storage" (field_expression "*(undefined1 *)\n     &aVar9.object[1].output_sections_.\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl" (binary_expression "*(undefined1 *)\n     &aVar9.object[1].output_sections_.\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "*(undefined1 *)\n     &aVar9.object[1].output_sections_.\n      super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "*(undefined1 *)\n     &aVar9.object[1].output_sections_.\n      super__Vector_base<gold::Output_section*,_std" (binary_expression "*(undefined1 *)\n     &aVar9.object[1].output_sections_.\n      super__Vector_base<gold" (pointer_expression "*(undefined1 *)\n     &aVar9.object[1].output_sections_.\n      super__Vector_base" * (cast_expression "(undefined1 *)\n     &aVar9.object[1].output_sections_.\n      super__Vector_base" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&aVar9.object[1].output_sections_.\n      super__Vector_base" & (field_expression "aVar9.object[1].output_sections_.\n      super__Vector_base" (field_expression "aVar9.object[1].output_sections_" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . 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) = number_literal) ;) (expression_statement "aVar9.object[1].map_to_relocatable_relocs_ =\n         (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0;" (assignment_expression "aVar9.object[1].map_to_relocatable_relocs_ =\n         (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0" (field_expression "aVar9.object[1].map_to_relocatable_relocs_" (subscript_expression "aVar9.object[1]" (field_expression "aVar9.object" identifier . field_identifier) [ number_literal ]) . field_identifier) = (parenthesized_expression "(vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)0x0" ( (ERROR "vector<gold::Relocatable_relocs*,_std::allocator<gold::" (binary_expression "vector<gold" identifier < identifier) : : (type_descriptor "Relocatable_relocs*" type_identifier (abstract_pointer_declarator "*" *)) , identifier : : (binary_expression "allocator<gold" identifier < identifier) : :) (binary_expression "Relocatable_relocs*>_> *)0x0" (binary_expression "Relocatable_relocs*>_" identifier * (ERROR ">" >) identifier) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) ))) ;) }))) (expression_statement "pp_Var10 = ((aVar9.object)->super_Object)._vptr_Object;" (assignment_expression "pp_Var10 = ((aVar9.object)->super_Object)._vptr_Object" identifier = (field_expression "((aVar9.object)->super_Object)._vptr_Object" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)) ;) (if_statement "if (keeps_input_sections) {\n    (*pp_Var10[0x1a])(aVar9.object);\n    pp_Var10 = ((aVar9.object)->super_Object)._vptr_Object;\n  }" if (parenthesized_expression "(keeps_input_sections)" ( identifier )) (compound_statement "{\n    (*pp_Var10[0x1a])(aVar9.object);\n    pp_Var10 = ((aVar9.object)->super_Object)._vptr_Object;\n  }" { (expression_statement "(*pp_Var10[0x1a])(aVar9.object);" (call_expression "(*pp_Var10[0x1a])(aVar9.object)" (parenthesized_expression "(*pp_Var10[0x1a])" ( (pointer_expression "*pp_Var10[0x1a]" * (subscript_expression "pp_Var10[0x1a]" identifier [ number_literal ])) )) (argument_list "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) ))) ;) (expression_statement "pp_Var10 = ((aVar9.object)->super_Object)._vptr_Object;" (assignment_expression "pp_Var10 = ((aVar9.object)->super_Object)._vptr_Object" identifier = (field_expression "((aVar9.object)->super_Object)._vptr_Object" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier)) ;) })) (expression_statement "iVar7 = (*pp_Var10[0x15])(aVar9.object,object,(ulong)shndx);" (assignment_expression "iVar7 = (*pp_Var10[0x15])(aVar9.object,object,(ulong)shndx)" identifier = (call_expression "(*pp_Var10[0x15])(aVar9.object,object,(ulong)shndx)" (parenthesized_expression "(*pp_Var10[0x15])" ( (pointer_expression "*pp_Var10[0x15]" * (subscript_expression "pp_Var10[0x15]" identifier [ number_literal ])) )) (argument_list "(aVar9.object,object,(ulong)shndx)" ( (field_expression "aVar9.object" identifier . field_identifier) , identifier , (cast_expression "(ulong)shndx" ( (type_descriptor "ulong" type_identifier) ) identifier) )))) ;) (if_statement "if ((char)iVar7 != '\0') {\n    inp.p2align_ = 0;\n    inp.shndx_ = ((flags & 0x20) == 0) - 3;\n    inp._24_8_ = (ulong)(uint)inp._28_4_ << 0x20;\n    inp.u1_.entsize = entsize;\n    inp.u2_ = aVar9;\n    add_output_section_data(this,&inp);\n    inp._1_7_ = msp._1_7_;\n    inp.shndx_._0_1_ = msp.is_string_;\n    inp.u2_ = (anon_union_8_4_139239c7_for_u2_)msp.addralign_;\n    inp.u1_.entsize = msp.entsize_;\n    inp._24_8_ = aVar9;\n    pVar14 = std::\n             _Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::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_emplace<std::pair<gold::Merge_section_properties,_gold::Output_merge_base*>&>\n                       ((_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                         *)&this->lookup_maps_->merge_sections_by_properties_,&inp);\n    if (pVar14.second != false) {\n      return pVar14.second;\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0xc22,"add_merge_section");\n  }" if (parenthesized_expression "((char)iVar7 != '\0')" ( (binary_expression "(char)iVar7 != '\0'" (cast_expression "(char)iVar7" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    inp.p2align_ = 0;\n    inp.shndx_ = ((flags & 0x20) == 0) - 3;\n    inp._24_8_ = (ulong)(uint)inp._28_4_ << 0x20;\n    inp.u1_.entsize = entsize;\n    inp.u2_ = aVar9;\n    add_output_section_data(this,&inp);\n    inp._1_7_ = msp._1_7_;\n    inp.shndx_._0_1_ = msp.is_string_;\n    inp.u2_ = (anon_union_8_4_139239c7_for_u2_)msp.addralign_;\n    inp.u1_.entsize = msp.entsize_;\n    inp._24_8_ = aVar9;\n    pVar14 = std::\n             _Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::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_emplace<std::pair<gold::Merge_section_properties,_gold::Output_merge_base*>&>\n                       ((_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                         *)&this->lookup_maps_->merge_sections_by_properties_,&inp);\n    if (pVar14.second != false) {\n      return pVar14.second;\n    }\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/output.h",0xc22,"add_merge_section");\n  }" { (expression_statement "inp.p2align_ = 0;" (assignment_expression "inp.p2align_ = 0" (field_expression "inp.p2align_" identifier . field_identifier) = number_literal) ;) (expression_statement "inp.shndx_ = ((flags & 0x20) == 0) - 3;" (assignment_expression "inp.shndx_ = ((flags & 0x20) == 0) - 3" (field_expression "inp.shndx_" identifier . field_identifier) = (binary_expression "((flags & 0x20) == 0) - 3" (parenthesized_expression "((flags & 0x20) == 0)" ( (binary_expression "(flags & 0x20) == 0" (parenthesized_expression "(flags & 0x20)" ( (binary_expression "flags & 0x20" identifier & number_literal) )) == number_literal) )) - number_literal)) ;) (expression_statement "inp._24_8_ = (ulong)(uint)inp._28_4_ << 0x20;" (assignment_expression "inp._24_8_ = (ulong)(uint)inp._28_4_ << 0x20" (field_expression "inp._24_8_" identifier . field_identifier) = (binary_expression "(ulong)(uint)inp._28_4_ << 0x20" (cast_expression "(ulong)(uint)inp._28_4_" ( (type_descriptor "ulong" type_identifier) ) (cast_expression "(uint)inp._28_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "inp._28_4_" identifier . field_identifier))) << number_literal)) ;) (expression_statement "inp.u1_.entsize = entsize;" (assignment_expression "inp.u1_.entsize = entsize" (field_expression "inp.u1_.entsize" (field_expression "inp.u1_" identifier . field_identifier) . field_identifier) = identifier) ;) (expression_statement "inp.u2_ = aVar9;" (assignment_expression "inp.u2_ = aVar9" (field_expression "inp.u2_" identifier . field_identifier) = identifier) ;) (expression_statement "add_output_section_data(this,&inp);" (call_expression "add_output_section_data(this,&inp)" identifier (argument_list "(this,&inp)" ( identifier , (pointer_expression "&inp" & identifier) ))) ;) (expression_statement "inp._1_7_ = msp._1_7_;" (assignment_expression "inp._1_7_ = msp._1_7_" (field_expression "inp._1_7_" identifier . field_identifier) = (field_expression "msp._1_7_" identifier . field_identifier)) ;) (expression_statement "inp.shndx_._0_1_ = msp.is_string_;" (assignment_expression "inp.shndx_._0_1_ = msp.is_string_" (field_expression "inp.shndx_._0_1_" (field_expression "inp.shndx_" identifier . field_identifier) . field_identifier) = (field_expression "msp.is_string_" identifier . field_identifier)) ;) (expression_statement "inp.u2_ = (anon_union_8_4_139239c7_for_u2_)msp.addralign_;" (assignment_expression "inp.u2_ = (anon_union_8_4_139239c7_for_u2_)msp.addralign_" (field_expression "inp.u2_" identifier . field_identifier) = (cast_expression "(anon_union_8_4_139239c7_for_u2_)msp.addralign_" ( (type_descriptor "anon_union_8_4_139239c7_for_u2_" type_identifier) ) (field_expression "msp.addralign_" identifier . field_identifier))) ;) (expression_statement "inp.u1_.entsize = msp.entsize_;" (assignment_expression "inp.u1_.entsize = msp.entsize_" (field_expression "inp.u1_.entsize" (field_expression "inp.u1_" identifier . field_identifier) . field_identifier) = (field_expression "msp.entsize_" identifier . field_identifier)) ;) (expression_statement "inp._24_8_ = aVar9;" (assignment_expression "inp._24_8_ = aVar9" (field_expression "inp._24_8_" identifier . field_identifier) = identifier) ;) (ERROR "pVar14 = std::\n             _Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::" (assignment_expression "pVar14 = std" identifier = identifier) : : (binary_expression "_Hashtable<gold" identifier < identifier) : : (comma_expression "Merge_section_properties,_std" identifier , identifier) : : (binary_expression "pair<const_gold" identifier < identifier) : : (comma_expression "Merge_section_properties,_gold" identifier , identifier) : : (comma_expression "Output_merge_base*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_gold" identifier < identifier) : : (comma_expression "Merge_section_properties,_gold" identifier , identifier) : : (binary_expression "Output_merge_base*>_>,_std" (binary_expression "Output_merge_base*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : :) (labeled_statement "__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::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_emplace<std::pair<gold::Merge_section_properties,_gold::Output_merge_base*>&>\n                       ((_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                         *)&this->lookup_maps_->merge_sections_by_properties_,&inp);" statement_identifier (ERROR "::_Select1st,_gold:" : : (comma_expression "_Select1st,_gold" identifier , identifier) :) : (labeled_statement "Merge_section_properties::equal_to,_gold::Merge_section_properties::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_emplace<std::pair<gold::Merge_section_properties,_gold::Output_merge_base*>&>\n                       ((_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                         *)&this->lookup_maps_->merge_sections_by_properties_,&inp);" statement_identifier (ERROR "::equal_to,_gold:" : : (comma_expression "equal_to,_gold" identifier , identifier) :) : (labeled_statement "Merge_section_properties::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_emplace<std::pair<gold::Merge_section_properties,_gold::Output_merge_base*>&>\n                       ((_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                         *)&this->lookup_maps_->merge_sections_by_properties_,&inp);" statement_identifier (ERROR "::hash,_std:" : : (comma_expression "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_emplace<std::pair<gold::Merge_section_properties,_gold::Output_merge_base*>&>\n                       ((_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                         *)&this->lookup_maps_->merge_sections_by_properties_,&inp);" 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_emplace<std::pair<gold::Merge_section_properties,_gold::Output_merge_base*>&>\n                       ((_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                         *)&this->lookup_maps_->merge_sections_by_properties_,&inp);" 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_emplace<std::pair<gold::Merge_section_properties,_gold::Output_merge_base*>&>\n                       ((_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                         *)&this->lookup_maps_->merge_sections_by_properties_,&inp);" statement_identifier (ERROR "::_Prime_rehash_policy,_std:" : : (comma_expression "_Prime_rehash_policy,_std" identifier , identifier) :) : (expression_statement "__detail::_Hashtable_traits<true,_false,_true>_>\n             ::_M_emplace<std::pair<gold::Merge_section_properties,_gold::Output_merge_base*>&>\n                       ((_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                         *)&this->lookup_maps_->merge_sections_by_properties_,&inp);" (binary_expression "__detail::_Hashtable_traits<true,_false,_true>_>\n             ::_M_emplace<std::pair<gold::Merge_section_properties,_gold::Output_merge_base*>&>\n                       ((_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                         *)&this->lookup_maps_->merge_sections_by_properties_,&inp)" identifier (ERROR "::_Hashtable_traits<true,_false,_true>_>\n             ::_M_emplace<std::pair<gold::Merge_section_properties,_gold::Output_merge_base*" : : (comma_expression "_Hashtable_traits<true,_false,_true>_>\n             ::_M_emplace<std" (binary_expression "_Hashtable_traits<true" identifier < true) , (comma_expression "_false,_true>_>\n             ::_M_emplace<std" identifier , (binary_expression "_true>_>\n             ::_M_emplace<std" (binary_expression "_true>_>\n             ::_M_emplace" (binary_expression "_true>_" identifier > identifier) > (ERROR "::" : :) identifier) < identifier))) : : (binary_expression "pair<gold" identifier < identifier) : : (comma_expression "Merge_section_properties,_gold" identifier , identifier) : : identifier *) > (pointer_expression "&>\n                       ((_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                         *)&this->lookup_maps_->merge_sections_by_properties_,&inp)" & (ERROR ">" >) (parenthesized_expression "((_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                         *)&this->lookup_maps_->merge_sections_by_properties_,&inp)" ( (comma_expression "(_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                         *)&this->lookup_maps_->merge_sections_by_properties_,&inp" (binary_expression "(_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::_Hashtable_traits<true,_false,_true>_>\n                         *)&this->lookup_maps_->merge_sections_by_properties_" (parenthesized_expression "(_Hashtable<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::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<gold::Merge_section_properties,_std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>,_std::allocator<std::pair<const_gold::Merge_section_properties,_gold::Output_merge_base*>_>,_std::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,_std::__detail::_Mod_range_hashing,_std::__detail::_Default_ranged_hash,_std::__detail::_Prime_rehash_policy,_std::__detail::" (binary_expression "_Hashtable<gold" identifier < identifier) : : (comma_expression "Merge_section_properties,_std" identifier , identifier) : : (binary_expression "pair<const_gold" identifier < identifier) : : (comma_expression "Merge_section_properties,_gold" identifier , identifier) : : (comma_expression "Output_merge_base*>,_std" identifier (ERROR "*>" * >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (binary_expression "pair<const_gold" identifier < identifier) : : (comma_expression "Merge_section_properties,_gold" identifier , identifier) : : (binary_expression "Output_merge_base*>_>,_std" (binary_expression "Output_merge_base*>_" identifier * (ERROR ">" >) identifier) > (ERROR "," ,) identifier) : : identifier : : (comma_expression "_Select1st,_gold" identifier , identifier) : : identifier : : (comma_expression "equal_to,_gold" identifier , identifier) : : identifier : : (comma_expression "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 "this->lookup_maps_->merge_sections_by_properties_" (field_expression "this->lookup_maps_" identifier -> field_identifier) -> field_identifier)) , (pointer_expression "&inp" & identifier)) )))) ;))))))) (if_statement "if (pVar14.second != false) {\n      return pVar14.second;\n    }" if (parenthesized_expression "(pVar14.second != false)" ( (binary_expression "pVar14.second != false" (field_expression "pVar14.second" identifier . field_identifier) != false) )) (compound_statement "{\n      return pVar14.second;\n    }" { (return_statement "return pVar14.second;" return (field_expression "pVar14.second" identifier . field_identifier) ;) })) comment (expression_statement "do_gold_unreachable("../../gold/output.h",0xc22,"add_merge_section");" (call_expression "do_gold_unreachable("../../gold/output.h",0xc22,"add_merge_section")" identifier (argument_list "("../../gold/output.h",0xc22,"add_merge_section")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""add_merge_section"" " string_content ") ))) ;) })) (expression_statement "(*((aVar9.object)->super_Object)._vptr_Object[1])(aVar9.object);" (call_expression "(*((aVar9.object)->super_Object)._vptr_Object[1])(aVar9.object)" (parenthesized_expression "(*((aVar9.object)->super_Object)._vptr_Object[1])" ( (pointer_expression "*((aVar9.object)->super_Object)._vptr_Object[1]" * (subscript_expression "((aVar9.object)->super_Object)._vptr_Object[1]" (field_expression "((aVar9.object)->super_Object)._vptr_Object" (parenthesized_expression "((aVar9.object)->super_Object)" ( (field_expression "(aVar9.object)->super_Object" (parenthesized_expression "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) [ number_literal ])) )) (argument_list "(aVar9.object)" ( (field_expression "aVar9.object" identifier . field_identifier) ))) ;) (return_statement "return false;" return false ;) })))
(translation_unit "ulong FUN_001fb0e0(long param_1,undefined8 param_2,undefined4 param_3,uint param_4,ulong param_5,\n                  ulong param_6,char param_7)\n\n{\n  char *pcVar1;\n  undefined4 uVar2;\n  char cVar3;\n  long *plVar4;\n  ulong uVar5;\n  long *plVar6;\n  long lVar7;\n  ulong extraout_RDX;\n  bool bVar8;\n  undefined1 local_78;\n  undefined7 uStack_77;\n  ulong uStack_70;\n  ulong local_68;\n  ulong local_58;\n  ulong uStack_50;\n  long *local_48;\n  undefined8 local_40;\n  \n  if (param_5 == 0) {\n    return 0;\n  }\n  param_4 = param_4 & 0x20;\n  bVar8 = param_4 != 0;\n  if (*(long *)(param_1 + 0xe8) != 0) {\n                    \n    FUN_0017c650("../../gold/output.cc",0xaa7,"add_merge_input_section");\n  }\n  pcVar1 = *(char **)(param_1 + 0xf0);\n  if (*pcVar1 == '\0') {\n                    \n    FUN_0017c650("../../gold/output.cc",0xaad,"add_merge_input_section");\n  }\n  local_78 = bVar8;\n  uStack_70 = param_5;\n  local_68 = param_6;\n  plVar4 = (long *)FUN_002139a0(pcVar1 + 8,\n                                (((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10),&local_78);\n  if (((plVar4 != (long *)0x0) && (*plVar4 != 0)) &&\n     (plVar4 = *(long **)(*plVar4 + 0x20), plVar4 != (long *)0x0)) {\n    cVar3 = (**(code **)(*plVar4 + 200))(plVar4);\n    if ((bVar8 == (bool)cVar3) && (param_5 == plVar4[7])) {\n      if (*(code **)(*plVar4 + 0x18) == FUN_00185200) {\n        uVar5 = plVar4[6];\n      }\n      else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }\n      if (param_6 == uVar5) {\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }\n    }\n                    \n    FUN_0017c650("../../gold/output.cc",0xab5,"add_merge_input_section");\n  }\n  if (param_4 == 0) {\n    plVar6 = (long *)FUN_002d9490(0xf8);\n    plVar6[1] = 0;\n    plVar6[2] = 0;\n    plVar6[3] = -1;\n    *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n    *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n    uVar2 = DAT_00377cb4;\n    plVar6[0xb] = (long)(plVar6 + 0x11);\n    *plVar6 = (long)&PTR_FUN_00438220;\n    plVar4 = plVar6 + 0x1e;\n    *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n    plVar6[5] = 0;\n    plVar6[6] = param_6;\n    plVar6[7] = param_5;\n    *(undefined1 *)(plVar6 + 8) = 0;\n    plVar6[9] = 0;\n    plVar6[0x11] = 0;\n    plVar6[0xc] = 1;\n    plVar6[0xd] = 0;\n    plVar6[0xe] = 0;\n    *(undefined4 *)(plVar6 + 0xf) = uVar2;\n    plVar6[0x10] = 0;\n    plVar6[0x12] = 0;\n    plVar6[0x13] = 0;\n    plVar6[0x14] = 0;\n    plVar6[0x15] = 0;\n    plVar6[0x16] = (long)plVar6;\n    plVar6[0x17] = (long)plVar6;\n    plVar6[0x18] = (long)plVar4;\n    plVar6[0x19] = 1;\n    plVar6[0x1a] = 0;\n    plVar6[0x1b] = 0;\n    *(undefined4 *)(plVar6 + 0x1c) = uVar2;\n    plVar6[0x1d] = 0;\n    plVar6[0x1e] = 0;\n                    \n    uVar5 = FUN_00319030(plVar6 + 0x1c,0x80);\n    if ((ulong)plVar6[0x19] < uVar5) {\n      if (uVar5 == 1) {\n        plVar6[0x1e] = 0;\n      }\n      else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }\n      plVar6[0x18] = (long)plVar4;\n      plVar6[0x19] = uVar5;\n    }\n  }\n  else {\n    if (param_5 == 2) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435d30;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 2;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b900(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    *(undefined1 *)(plVar6 + 0x21) = 0;\n    plVar6[0x22] = 0;\n  }\n  lVar7 = *plVar6;\n  if (param_7 != '\0') {\n    (**(code **)(lVar7 + 0xd0))(plVar6);\n    lVar7 = *plVar6;\n  }\n  cVar3 = (**(code **)(lVar7 + 0xa8))(plVar6,param_2,param_3);\n  if (cVar3 != '\0') {\n    local_58 = (ulong)((param_4 == 0) - 3);\n    local_40 = (long *)((ulong)local_40._4_4_ << 0x20);\n    uStack_50 = param_5;\n    local_48 = plVar6;\n    FUN_001f9b40(param_1,&local_58);\n    local_58 = CONCAT71(uStack_77,local_78);\n    local_48 = (long *)local_68;\n    uStack_50 = uStack_70;\n    local_40 = plVar6;\n    FUN_00226860(*(long *)(param_1 + 0xf0) + 8,&local_58);\n    if ((char)extraout_RDX != '\0') {\n      return extraout_RDX & 0xffffffff;\n    }\n                    \n    FUN_0017c650("../../gold/output.h",0xc22,"add_merge_section");\n  }\n  (**(code **)(*plVar6 + 8))(plVar6);\n  return 0;\n}\n\n" (function_definition "ulong FUN_001fb0e0(long param_1,undefined8 param_2,undefined4 param_3,uint param_4,ulong param_5,\n                  ulong param_6,char param_7)\n\n{\n  char *pcVar1;\n  undefined4 uVar2;\n  char cVar3;\n  long *plVar4;\n  ulong uVar5;\n  long *plVar6;\n  long lVar7;\n  ulong extraout_RDX;\n  bool bVar8;\n  undefined1 local_78;\n  undefined7 uStack_77;\n  ulong uStack_70;\n  ulong local_68;\n  ulong local_58;\n  ulong uStack_50;\n  long *local_48;\n  undefined8 local_40;\n  \n  if (param_5 == 0) {\n    return 0;\n  }\n  param_4 = param_4 & 0x20;\n  bVar8 = param_4 != 0;\n  if (*(long *)(param_1 + 0xe8) != 0) {\n                    \n    FUN_0017c650("../../gold/output.cc",0xaa7,"add_merge_input_section");\n  }\n  pcVar1 = *(char **)(param_1 + 0xf0);\n  if (*pcVar1 == '\0') {\n                    \n    FUN_0017c650("../../gold/output.cc",0xaad,"add_merge_input_section");\n  }\n  local_78 = bVar8;\n  uStack_70 = param_5;\n  local_68 = param_6;\n  plVar4 = (long *)FUN_002139a0(pcVar1 + 8,\n                                (((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10),&local_78);\n  if (((plVar4 != (long *)0x0) && (*plVar4 != 0)) &&\n     (plVar4 = *(long **)(*plVar4 + 0x20), plVar4 != (long *)0x0)) {\n    cVar3 = (**(code **)(*plVar4 + 200))(plVar4);\n    if ((bVar8 == (bool)cVar3) && (param_5 == plVar4[7])) {\n      if (*(code **)(*plVar4 + 0x18) == FUN_00185200) {\n        uVar5 = plVar4[6];\n      }\n      else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }\n      if (param_6 == uVar5) {\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }\n    }\n                    \n    FUN_0017c650("../../gold/output.cc",0xab5,"add_merge_input_section");\n  }\n  if (param_4 == 0) {\n    plVar6 = (long *)FUN_002d9490(0xf8);\n    plVar6[1] = 0;\n    plVar6[2] = 0;\n    plVar6[3] = -1;\n    *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n    *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n    uVar2 = DAT_00377cb4;\n    plVar6[0xb] = (long)(plVar6 + 0x11);\n    *plVar6 = (long)&PTR_FUN_00438220;\n    plVar4 = plVar6 + 0x1e;\n    *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n    plVar6[5] = 0;\n    plVar6[6] = param_6;\n    plVar6[7] = param_5;\n    *(undefined1 *)(plVar6 + 8) = 0;\n    plVar6[9] = 0;\n    plVar6[0x11] = 0;\n    plVar6[0xc] = 1;\n    plVar6[0xd] = 0;\n    plVar6[0xe] = 0;\n    *(undefined4 *)(plVar6 + 0xf) = uVar2;\n    plVar6[0x10] = 0;\n    plVar6[0x12] = 0;\n    plVar6[0x13] = 0;\n    plVar6[0x14] = 0;\n    plVar6[0x15] = 0;\n    plVar6[0x16] = (long)plVar6;\n    plVar6[0x17] = (long)plVar6;\n    plVar6[0x18] = (long)plVar4;\n    plVar6[0x19] = 1;\n    plVar6[0x1a] = 0;\n    plVar6[0x1b] = 0;\n    *(undefined4 *)(plVar6 + 0x1c) = uVar2;\n    plVar6[0x1d] = 0;\n    plVar6[0x1e] = 0;\n                    \n    uVar5 = FUN_00319030(plVar6 + 0x1c,0x80);\n    if ((ulong)plVar6[0x19] < uVar5) {\n      if (uVar5 == 1) {\n        plVar6[0x1e] = 0;\n      }\n      else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }\n      plVar6[0x18] = (long)plVar4;\n      plVar6[0x19] = uVar5;\n    }\n  }\n  else {\n    if (param_5 == 2) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435d30;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 2;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b900(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    *(undefined1 *)(plVar6 + 0x21) = 0;\n    plVar6[0x22] = 0;\n  }\n  lVar7 = *plVar6;\n  if (param_7 != '\0') {\n    (**(code **)(lVar7 + 0xd0))(plVar6);\n    lVar7 = *plVar6;\n  }\n  cVar3 = (**(code **)(lVar7 + 0xa8))(plVar6,param_2,param_3);\n  if (cVar3 != '\0') {\n    local_58 = (ulong)((param_4 == 0) - 3);\n    local_40 = (long *)((ulong)local_40._4_4_ << 0x20);\n    uStack_50 = param_5;\n    local_48 = plVar6;\n    FUN_001f9b40(param_1,&local_58);\n    local_58 = CONCAT71(uStack_77,local_78);\n    local_48 = (long *)local_68;\n    uStack_50 = uStack_70;\n    local_40 = plVar6;\n    FUN_00226860(*(long *)(param_1 + 0xf0) + 8,&local_58);\n    if ((char)extraout_RDX != '\0') {\n      return extraout_RDX & 0xffffffff;\n    }\n                    \n    FUN_0017c650("../../gold/output.h",0xc22,"add_merge_section");\n  }\n  (**(code **)(*plVar6 + 8))(plVar6);\n  return 0;\n}" type_identifier (function_declarator "FUN_001fb0e0(long param_1,undefined8 param_2,undefined4 param_3,uint param_4,ulong param_5,\n                  ulong param_6,char param_7)" identifier (parameter_list "(long param_1,undefined8 param_2,undefined4 param_3,uint param_4,ulong param_5,\n                  ulong param_6,char param_7)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "uint param_4" type_identifier identifier) , (parameter_declaration "ulong param_5" type_identifier identifier) , (parameter_declaration "ulong param_6" type_identifier identifier) , (parameter_declaration "char param_7" primitive_type identifier) ))) (compound_statement "{\n  char *pcVar1;\n  undefined4 uVar2;\n  char cVar3;\n  long *plVar4;\n  ulong uVar5;\n  long *plVar6;\n  long lVar7;\n  ulong extraout_RDX;\n  bool bVar8;\n  undefined1 local_78;\n  undefined7 uStack_77;\n  ulong uStack_70;\n  ulong local_68;\n  ulong local_58;\n  ulong uStack_50;\n  long *local_48;\n  undefined8 local_40;\n  \n  if (param_5 == 0) {\n    return 0;\n  }\n  param_4 = param_4 & 0x20;\n  bVar8 = param_4 != 0;\n  if (*(long *)(param_1 + 0xe8) != 0) {\n                    \n    FUN_0017c650("../../gold/output.cc",0xaa7,"add_merge_input_section");\n  }\n  pcVar1 = *(char **)(param_1 + 0xf0);\n  if (*pcVar1 == '\0') {\n                    \n    FUN_0017c650("../../gold/output.cc",0xaad,"add_merge_input_section");\n  }\n  local_78 = bVar8;\n  uStack_70 = param_5;\n  local_68 = param_6;\n  plVar4 = (long *)FUN_002139a0(pcVar1 + 8,\n                                (((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10),&local_78);\n  if (((plVar4 != (long *)0x0) && (*plVar4 != 0)) &&\n     (plVar4 = *(long **)(*plVar4 + 0x20), plVar4 != (long *)0x0)) {\n    cVar3 = (**(code **)(*plVar4 + 200))(plVar4);\n    if ((bVar8 == (bool)cVar3) && (param_5 == plVar4[7])) {\n      if (*(code **)(*plVar4 + 0x18) == FUN_00185200) {\n        uVar5 = plVar4[6];\n      }\n      else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }\n      if (param_6 == uVar5) {\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }\n    }\n                    \n    FUN_0017c650("../../gold/output.cc",0xab5,"add_merge_input_section");\n  }\n  if (param_4 == 0) {\n    plVar6 = (long *)FUN_002d9490(0xf8);\n    plVar6[1] = 0;\n    plVar6[2] = 0;\n    plVar6[3] = -1;\n    *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n    *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n    uVar2 = DAT_00377cb4;\n    plVar6[0xb] = (long)(plVar6 + 0x11);\n    *plVar6 = (long)&PTR_FUN_00438220;\n    plVar4 = plVar6 + 0x1e;\n    *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n    plVar6[5] = 0;\n    plVar6[6] = param_6;\n    plVar6[7] = param_5;\n    *(undefined1 *)(plVar6 + 8) = 0;\n    plVar6[9] = 0;\n    plVar6[0x11] = 0;\n    plVar6[0xc] = 1;\n    plVar6[0xd] = 0;\n    plVar6[0xe] = 0;\n    *(undefined4 *)(plVar6 + 0xf) = uVar2;\n    plVar6[0x10] = 0;\n    plVar6[0x12] = 0;\n    plVar6[0x13] = 0;\n    plVar6[0x14] = 0;\n    plVar6[0x15] = 0;\n    plVar6[0x16] = (long)plVar6;\n    plVar6[0x17] = (long)plVar6;\n    plVar6[0x18] = (long)plVar4;\n    plVar6[0x19] = 1;\n    plVar6[0x1a] = 0;\n    plVar6[0x1b] = 0;\n    *(undefined4 *)(plVar6 + 0x1c) = uVar2;\n    plVar6[0x1d] = 0;\n    plVar6[0x1e] = 0;\n                    \n    uVar5 = FUN_00319030(plVar6 + 0x1c,0x80);\n    if ((ulong)plVar6[0x19] < uVar5) {\n      if (uVar5 == 1) {\n        plVar6[0x1e] = 0;\n      }\n      else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }\n      plVar6[0x18] = (long)plVar4;\n      plVar6[0x19] = uVar5;\n    }\n  }\n  else {\n    if (param_5 == 2) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435d30;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 2;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b900(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    *(undefined1 *)(plVar6 + 0x21) = 0;\n    plVar6[0x22] = 0;\n  }\n  lVar7 = *plVar6;\n  if (param_7 != '\0') {\n    (**(code **)(lVar7 + 0xd0))(plVar6);\n    lVar7 = *plVar6;\n  }\n  cVar3 = (**(code **)(lVar7 + 0xa8))(plVar6,param_2,param_3);\n  if (cVar3 != '\0') {\n    local_58 = (ulong)((param_4 == 0) - 3);\n    local_40 = (long *)((ulong)local_40._4_4_ << 0x20);\n    uStack_50 = param_5;\n    local_48 = plVar6;\n    FUN_001f9b40(param_1,&local_58);\n    local_58 = CONCAT71(uStack_77,local_78);\n    local_48 = (long *)local_68;\n    uStack_50 = uStack_70;\n    local_40 = plVar6;\n    FUN_00226860(*(long *)(param_1 + 0xf0) + 8,&local_58);\n    if ((char)extraout_RDX != '\0') {\n      return extraout_RDX & 0xffffffff;\n    }\n                    \n    FUN_0017c650("../../gold/output.h",0xc22,"add_merge_section");\n  }\n  (**(code **)(*plVar6 + 8))(plVar6);\n  return 0;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "long *plVar4;" (sized_type_specifier "long" long) (pointer_declarator "*plVar4" * identifier) ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "long *plVar6;" (sized_type_specifier "long" long) (pointer_declarator "*plVar6" * identifier) ;) (declaration "long lVar7;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong extraout_RDX;" type_identifier identifier ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "undefined1 local_78;" type_identifier identifier ;) (declaration "undefined7 uStack_77;" type_identifier identifier ;) (declaration "ulong uStack_70;" type_identifier identifier ;) (declaration "ulong local_68;" type_identifier identifier ;) (declaration "ulong local_58;" type_identifier identifier ;) (declaration "ulong uStack_50;" type_identifier identifier ;) (declaration "long *local_48;" (sized_type_specifier "long" long) (pointer_declarator "*local_48" * identifier) ;) (declaration "undefined8 local_40;" type_identifier identifier ;) (if_statement "if (param_5 == 0) {\n    return 0;\n  }" if (parenthesized_expression "(param_5 == 0)" ( (binary_expression "param_5 == 0" identifier == number_literal) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "param_4 = param_4 & 0x20;" (assignment_expression "param_4 = param_4 & 0x20" identifier = (binary_expression "param_4 & 0x20" identifier & number_literal)) ;) (expression_statement "bVar8 = param_4 != 0;" (assignment_expression "bVar8 = param_4 != 0" identifier = (binary_expression "param_4 != 0" identifier != number_literal)) ;) (if_statement "if (*(long *)(param_1 + 0xe8) != 0) {\n                    \n    FUN_0017c650("../../gold/output.cc",0xaa7,"add_merge_input_section");\n  }" if (parenthesized_expression "(*(long *)(param_1 + 0xe8) != 0)" ( (binary_expression "*(long *)(param_1 + 0xe8) != 0" (pointer_expression "*(long *)(param_1 + 0xe8)" * (cast_expression "(long *)(param_1 + 0xe8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xe8)" ( (binary_expression "param_1 + 0xe8" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/output.cc",0xaa7,"add_merge_input_section");\n  }" { (expression_statement "FUN_0017c650("../../gold/output.cc",0xaa7,"add_merge_input_section");" (call_expression "FUN_0017c650("../../gold/output.cc",0xaa7,"add_merge_input_section")" identifier (argument_list "("../../gold/output.cc",0xaa7,"add_merge_input_section")" ( (string_literal ""../../gold/output.cc"" " string_content ") , number_literal , (string_literal ""add_merge_input_section"" " string_content ") ))) ;) })) (expression_statement "pcVar1 = *(char **)(param_1 + 0xf0);" (assignment_expression "pcVar1 = *(char **)(param_1 + 0xf0)" identifier = (pointer_expression "*(char **)(param_1 + 0xf0)" * (cast_expression "(char **)(param_1 + 0xf0)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xf0)" ( (binary_expression "param_1 + 0xf0" identifier + number_literal) ))))) ;) (if_statement "if (*pcVar1 == '\0') {\n                    \n    FUN_0017c650("../../gold/output.cc",0xaad,"add_merge_input_section");\n  }" if (parenthesized_expression "(*pcVar1 == '\0')" ( (binary_expression "*pcVar1 == '\0'" (pointer_expression "*pcVar1" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/output.cc",0xaad,"add_merge_input_section");\n  }" { (expression_statement "FUN_0017c650("../../gold/output.cc",0xaad,"add_merge_input_section");" (call_expression "FUN_0017c650("../../gold/output.cc",0xaad,"add_merge_input_section")" identifier (argument_list "("../../gold/output.cc",0xaad,"add_merge_input_section")" ( (string_literal ""../../gold/output.cc"" " string_content ") , number_literal , (string_literal ""add_merge_input_section"" " string_content ") ))) ;) })) (expression_statement "local_78 = bVar8;" (assignment_expression "local_78 = bVar8" identifier = identifier) ;) (expression_statement "uStack_70 = param_5;" (assignment_expression "uStack_70 = param_5" identifier = identifier) ;) (expression_statement "local_68 = param_6;" (assignment_expression "local_68 = param_6" identifier = identifier) ;) (expression_statement "plVar4 = (long *)FUN_002139a0(pcVar1 + 8,\n                                (((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10),&local_78);" (assignment_expression "plVar4 = (long *)FUN_002139a0(pcVar1 + 8,\n                                (((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10),&local_78)" identifier = (cast_expression "(long *)FUN_002139a0(pcVar1 + 8,\n                                (((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10),&local_78)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002139a0(pcVar1 + 8,\n                                (((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10),&local_78)" identifier (argument_list "(pcVar1 + 8,\n                                (((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10),&local_78)" ( (binary_expression "pcVar1 + 8" identifier + number_literal) , (binary_expression "(((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10)" (parenthesized_expression "(((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3)" ( (binary_expression "((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3" (parenthesized_expression "((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6)" ( (binary_expression "(((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6" (binary_expression "(((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3" (parenthesized_expression "(((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5)" ( (binary_expression "((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5" (binary_expression "((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3" (parenthesized_expression "((ulong)bVar8 ^ 0xcbf29ce484222325)" ( (binary_expression "(ulong)bVar8 ^ 0xcbf29ce484222325" (cast_expression "(ulong)bVar8" ( (type_descriptor "ulong" type_identifier) ) identifier) ^ number_literal) )) * number_literal) ^ identifier) )) * number_literal) ^ identifier) )) * number_literal) )) % (pointer_expression "*(ulong *)(pcVar1 + 0x10)" * (cast_expression "(ulong *)(pcVar1 + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar1 + 0x10)" ( (binary_expression "pcVar1 + 0x10" identifier + number_literal) ))))) , (pointer_expression "&local_78" & identifier) ))))) ;) (if_statement "if (((plVar4 != (long *)0x0) && (*plVar4 != 0)) &&\n     (plVar4 = *(long **)(*plVar4 + 0x20), plVar4 != (long *)0x0)) {\n    cVar3 = (**(code **)(*plVar4 + 200))(plVar4);\n    if ((bVar8 == (bool)cVar3) && (param_5 == plVar4[7])) {\n      if (*(code **)(*plVar4 + 0x18) == FUN_00185200) {\n        uVar5 = plVar4[6];\n      }\n      else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }\n      if (param_6 == uVar5) {\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }\n    }\n                    \n    FUN_0017c650("../../gold/output.cc",0xab5,"add_merge_input_section");\n  }" if (parenthesized_expression "(((plVar4 != (long *)0x0) && (*plVar4 != 0)) &&\n     (plVar4 = *(long **)(*plVar4 + 0x20), plVar4 != (long *)0x0))" ( (binary_expression "((plVar4 != (long *)0x0) && (*plVar4 != 0)) &&\n     (plVar4 = *(long **)(*plVar4 + 0x20), plVar4 != (long *)0x0)" (parenthesized_expression "((plVar4 != (long *)0x0) && (*plVar4 != 0))" ( (binary_expression "(plVar4 != (long *)0x0) && (*plVar4 != 0)" (parenthesized_expression "(plVar4 != (long *)0x0)" ( (binary_expression "plVar4 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*plVar4 != 0)" ( (binary_expression "*plVar4 != 0" (pointer_expression "*plVar4" * identifier) != number_literal) ))) )) && (parenthesized_expression "(plVar4 = *(long **)(*plVar4 + 0x20), plVar4 != (long *)0x0)" ( (comma_expression "plVar4 = *(long **)(*plVar4 + 0x20), plVar4 != (long *)0x0" (assignment_expression "plVar4 = *(long **)(*plVar4 + 0x20)" identifier = (pointer_expression "*(long **)(*plVar4 + 0x20)" * (cast_expression "(long **)(*plVar4 + 0x20)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x20)" ( (binary_expression "*plVar4 + 0x20" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) , (binary_expression "plVar4 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    cVar3 = (**(code **)(*plVar4 + 200))(plVar4);\n    if ((bVar8 == (bool)cVar3) && (param_5 == plVar4[7])) {\n      if (*(code **)(*plVar4 + 0x18) == FUN_00185200) {\n        uVar5 = plVar4[6];\n      }\n      else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }\n      if (param_6 == uVar5) {\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }\n    }\n                    \n    FUN_0017c650("../../gold/output.cc",0xab5,"add_merge_input_section");\n  }" { (expression_statement "cVar3 = (**(code **)(*plVar4 + 200))(plVar4);" (assignment_expression "cVar3 = (**(code **)(*plVar4 + 200))(plVar4)" identifier = (call_expression "(**(code **)(*plVar4 + 200))(plVar4)" (parenthesized_expression "(**(code **)(*plVar4 + 200))" ( (pointer_expression "**(code **)(*plVar4 + 200)" * (pointer_expression "*(code **)(*plVar4 + 200)" * (cast_expression "(code **)(*plVar4 + 200)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 200)" ( (binary_expression "*plVar4 + 200" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "(plVar4)" ( identifier )))) ;) (if_statement "if ((bVar8 == (bool)cVar3) && (param_5 == plVar4[7])) {\n      if (*(code **)(*plVar4 + 0x18) == FUN_00185200) {\n        uVar5 = plVar4[6];\n      }\n      else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }\n      if (param_6 == uVar5) {\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }\n    }" if (parenthesized_expression "((bVar8 == (bool)cVar3) && (param_5 == plVar4[7]))" ( (binary_expression "(bVar8 == (bool)cVar3) && (param_5 == plVar4[7])" (parenthesized_expression "(bVar8 == (bool)cVar3)" ( (binary_expression "bVar8 == (bool)cVar3" identifier == (cast_expression "(bool)cVar3" ( (type_descriptor "bool" primitive_type) ) identifier)) )) && (parenthesized_expression "(param_5 == plVar4[7])" ( (binary_expression "param_5 == plVar4[7]" identifier == (subscript_expression "plVar4[7]" identifier [ number_literal ])) ))) )) (compound_statement "{\n      if (*(code **)(*plVar4 + 0x18) == FUN_00185200) {\n        uVar5 = plVar4[6];\n      }\n      else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }\n      if (param_6 == uVar5) {\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }\n    }" { (if_statement "if (*(code **)(*plVar4 + 0x18) == FUN_00185200) {\n        uVar5 = plVar4[6];\n      }\n      else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }" if (parenthesized_expression "(*(code **)(*plVar4 + 0x18) == FUN_00185200)" ( (binary_expression "*(code **)(*plVar4 + 0x18) == FUN_00185200" (pointer_expression "*(code **)(*plVar4 + 0x18)" * (cast_expression "(code **)(*plVar4 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x18)" ( (binary_expression "*plVar4 + 0x18" (pointer_expression "*plVar4" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n        uVar5 = plVar4[6];\n      }" { (expression_statement "uVar5 = plVar4[6];" (assignment_expression "uVar5 = plVar4[6]" identifier = (subscript_expression "plVar4[6]" identifier [ number_literal ])) ;) }) (else_clause "else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }" else (compound_statement "{\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }" { (expression_statement "uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);" (assignment_expression "uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4)" identifier = (call_expression "(**(code **)(*plVar4 + 0x18))(plVar4)" (parenthesized_expression "(**(code **)(*plVar4 + 0x18))" ( (pointer_expression "**(code **)(*plVar4 + 0x18)" * (pointer_expression "*(code **)(*plVar4 + 0x18)" * (cast_expression "(code **)(*plVar4 + 0x18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0x18)" ( (binary_expression "*plVar4 + 0x18" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "(plVar4)" ( identifier )))) ;) }))) (if_statement "if (param_6 == uVar5) {\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }" if (parenthesized_expression "(param_6 == uVar5)" ( (binary_expression "param_6 == uVar5" identifier == identifier) )) (compound_statement "{\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }" { (expression_statement "uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);" (assignment_expression "uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3)" identifier = (call_expression "(**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3)" (parenthesized_expression "(**(code **)(*plVar4 + 0xa8))" ( (pointer_expression "**(code **)(*plVar4 + 0xa8)" * (pointer_expression "*(code **)(*plVar4 + 0xa8)" * (cast_expression "(code **)(*plVar4 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar4 + 0xa8)" ( (binary_expression "*plVar4 + 0xa8" (pointer_expression "*plVar4" * identifier) + number_literal) ))))) )) (argument_list "(plVar4,param_2,param_3)" ( identifier , identifier , identifier )))) ;) (return_statement "return uVar5;" return identifier ;) })) })) (expression_statement "FUN_0017c650("../../gold/output.cc",0xab5,"add_merge_input_section");" (call_expression "FUN_0017c650("../../gold/output.cc",0xab5,"add_merge_input_section")" identifier (argument_list "("../../gold/output.cc",0xab5,"add_merge_input_section")" ( (string_literal ""../../gold/output.cc"" " string_content ") , number_literal , (string_literal ""add_merge_input_section"" " string_content ") ))) ;) })) (if_statement "if (param_4 == 0) {\n    plVar6 = (long *)FUN_002d9490(0xf8);\n    plVar6[1] = 0;\n    plVar6[2] = 0;\n    plVar6[3] = -1;\n    *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n    *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n    uVar2 = DAT_00377cb4;\n    plVar6[0xb] = (long)(plVar6 + 0x11);\n    *plVar6 = (long)&PTR_FUN_00438220;\n    plVar4 = plVar6 + 0x1e;\n    *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n    plVar6[5] = 0;\n    plVar6[6] = param_6;\n    plVar6[7] = param_5;\n    *(undefined1 *)(plVar6 + 8) = 0;\n    plVar6[9] = 0;\n    plVar6[0x11] = 0;\n    plVar6[0xc] = 1;\n    plVar6[0xd] = 0;\n    plVar6[0xe] = 0;\n    *(undefined4 *)(plVar6 + 0xf) = uVar2;\n    plVar6[0x10] = 0;\n    plVar6[0x12] = 0;\n    plVar6[0x13] = 0;\n    plVar6[0x14] = 0;\n    plVar6[0x15] = 0;\n    plVar6[0x16] = (long)plVar6;\n    plVar6[0x17] = (long)plVar6;\n    plVar6[0x18] = (long)plVar4;\n    plVar6[0x19] = 1;\n    plVar6[0x1a] = 0;\n    plVar6[0x1b] = 0;\n    *(undefined4 *)(plVar6 + 0x1c) = uVar2;\n    plVar6[0x1d] = 0;\n    plVar6[0x1e] = 0;\n                    \n    uVar5 = FUN_00319030(plVar6 + 0x1c,0x80);\n    if ((ulong)plVar6[0x19] < uVar5) {\n      if (uVar5 == 1) {\n        plVar6[0x1e] = 0;\n      }\n      else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }\n      plVar6[0x18] = (long)plVar4;\n      plVar6[0x19] = uVar5;\n    }\n  }\n  else {\n    if (param_5 == 2) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435d30;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 2;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b900(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    *(undefined1 *)(plVar6 + 0x21) = 0;\n    plVar6[0x22] = 0;\n  }" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n    plVar6 = (long *)FUN_002d9490(0xf8);\n    plVar6[1] = 0;\n    plVar6[2] = 0;\n    plVar6[3] = -1;\n    *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n    *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n    uVar2 = DAT_00377cb4;\n    plVar6[0xb] = (long)(plVar6 + 0x11);\n    *plVar6 = (long)&PTR_FUN_00438220;\n    plVar4 = plVar6 + 0x1e;\n    *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n    plVar6[5] = 0;\n    plVar6[6] = param_6;\n    plVar6[7] = param_5;\n    *(undefined1 *)(plVar6 + 8) = 0;\n    plVar6[9] = 0;\n    plVar6[0x11] = 0;\n    plVar6[0xc] = 1;\n    plVar6[0xd] = 0;\n    plVar6[0xe] = 0;\n    *(undefined4 *)(plVar6 + 0xf) = uVar2;\n    plVar6[0x10] = 0;\n    plVar6[0x12] = 0;\n    plVar6[0x13] = 0;\n    plVar6[0x14] = 0;\n    plVar6[0x15] = 0;\n    plVar6[0x16] = (long)plVar6;\n    plVar6[0x17] = (long)plVar6;\n    plVar6[0x18] = (long)plVar4;\n    plVar6[0x19] = 1;\n    plVar6[0x1a] = 0;\n    plVar6[0x1b] = 0;\n    *(undefined4 *)(plVar6 + 0x1c) = uVar2;\n    plVar6[0x1d] = 0;\n    plVar6[0x1e] = 0;\n                    \n    uVar5 = FUN_00319030(plVar6 + 0x1c,0x80);\n    if ((ulong)plVar6[0x19] < uVar5) {\n      if (uVar5 == 1) {\n        plVar6[0x1e] = 0;\n      }\n      else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }\n      plVar6[0x18] = (long)plVar4;\n      plVar6[0x19] = uVar5;\n    }\n  }" { (expression_statement "plVar6 = (long *)FUN_002d9490(0xf8);" (assignment_expression "plVar6 = (long *)FUN_002d9490(0xf8)" identifier = (cast_expression "(long *)FUN_002d9490(0xf8)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0xf8)" identifier (argument_list "(0xf8)" ( number_literal ))))) ;) (expression_statement "plVar6[1] = 0;" (assignment_expression "plVar6[1] = 0" (subscript_expression "plVar6[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[2] = 0;" (assignment_expression "plVar6[2] = 0" (subscript_expression "plVar6[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[3] = -1;" (assignment_expression "plVar6[3] = -1" (subscript_expression "plVar6[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(plVar6 + 10) = 0xffffffff;" (assignment_expression "*(undefined4 *)(plVar6 + 10) = 0xffffffff" (pointer_expression "*(undefined4 *)(plVar6 + 10)" * (cast_expression "(undefined4 *)(plVar6 + 10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 10)" ( (binary_expression "plVar6 + 10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;" (assignment_expression "*(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0" (pointer_expression "*(undefined1 (*) [16])(plVar6 + 0xf)" * (cast_expression "(undefined1 (*) [16])(plVar6 + 0xf)" ( (type_descriptor "undefined1 (*) [16]" type_identifier (abstract_array_declarator "(*) [16]" (abstract_parenthesized_declarator "(*)" ( (abstract_pointer_declarator "*" *) )) [ number_literal ])) ) (parenthesized_expression "(plVar6 + 0xf)" ( (binary_expression "plVar6 + 0xf" identifier + number_literal) )))) = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "uVar2 = DAT_00377cb4;" (assignment_expression "uVar2 = DAT_00377cb4" identifier = identifier) ;) (expression_statement "plVar6[0xb] = (long)(plVar6 + 0x11);" (assignment_expression "plVar6[0xb] = (long)(plVar6 + 0x11)" (subscript_expression "plVar6[0xb]" identifier [ number_literal ]) = (cast_expression "(long)(plVar6 + 0x11)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(plVar6 + 0x11)" ( (binary_expression "plVar6 + 0x11" identifier + number_literal) )))) ;) (expression_statement "*plVar6 = (long)&PTR_FUN_00438220;" (assignment_expression "*plVar6 = (long)&PTR_FUN_00438220" (pointer_expression "*plVar6" * identifier) = (cast_expression "(long)&PTR_FUN_00438220" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&PTR_FUN_00438220" & identifier))) ;) (expression_statement "plVar4 = plVar6 + 0x1e;" (assignment_expression "plVar4 = plVar6 + 0x1e" identifier = (binary_expression "plVar6 + 0x1e" identifier + number_literal)) ;) (expression_statement "*(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;" (assignment_expression "*(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) = (binary_expression "*(byte *)(plVar6 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "plVar6[5] = 0;" (assignment_expression "plVar6[5] = 0" (subscript_expression "plVar6[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[6] = param_6;" (assignment_expression "plVar6[6] = param_6" (subscript_expression "plVar6[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "plVar6[7] = param_5;" (assignment_expression "plVar6[7] = param_5" (subscript_expression "plVar6[7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined1 *)(plVar6 + 8) = 0;" (assignment_expression "*(undefined1 *)(plVar6 + 8) = 0" (pointer_expression "*(undefined1 *)(plVar6 + 8)" * (cast_expression "(undefined1 *)(plVar6 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 8)" ( (binary_expression "plVar6 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar6[9] = 0;" (assignment_expression "plVar6[9] = 0" (subscript_expression "plVar6[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x11] = 0;" (assignment_expression "plVar6[0x11] = 0" (subscript_expression "plVar6[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0xc] = 1;" (assignment_expression "plVar6[0xc] = 1" (subscript_expression "plVar6[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0xd] = 0;" (assignment_expression "plVar6[0xd] = 0" (subscript_expression "plVar6[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0xe] = 0;" (assignment_expression "plVar6[0xe] = 0" (subscript_expression "plVar6[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(plVar6 + 0xf) = uVar2;" (assignment_expression "*(undefined4 *)(plVar6 + 0xf) = uVar2" (pointer_expression "*(undefined4 *)(plVar6 + 0xf)" * (cast_expression "(undefined4 *)(plVar6 + 0xf)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0xf)" ( (binary_expression "plVar6 + 0xf" identifier + number_literal) )))) = identifier) ;) (expression_statement "plVar6[0x10] = 0;" (assignment_expression "plVar6[0x10] = 0" (subscript_expression "plVar6[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x12] = 0;" (assignment_expression "plVar6[0x12] = 0" (subscript_expression "plVar6[0x12]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x13] = 0;" (assignment_expression "plVar6[0x13] = 0" (subscript_expression "plVar6[0x13]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x14] = 0;" (assignment_expression "plVar6[0x14] = 0" (subscript_expression "plVar6[0x14]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x15] = 0;" (assignment_expression "plVar6[0x15] = 0" (subscript_expression "plVar6[0x15]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x16] = (long)plVar6;" (assignment_expression "plVar6[0x16] = (long)plVar6" (subscript_expression "plVar6[0x16]" identifier [ number_literal ]) = (cast_expression "(long)plVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "plVar6[0x17] = (long)plVar6;" (assignment_expression "plVar6[0x17] = (long)plVar6" (subscript_expression "plVar6[0x17]" identifier [ number_literal ]) = (cast_expression "(long)plVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "plVar6[0x18] = (long)plVar4;" (assignment_expression "plVar6[0x18] = (long)plVar4" (subscript_expression "plVar6[0x18]" identifier [ number_literal ]) = (cast_expression "(long)plVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "plVar6[0x19] = 1;" (assignment_expression "plVar6[0x19] = 1" (subscript_expression "plVar6[0x19]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x1a] = 0;" (assignment_expression "plVar6[0x1a] = 0" (subscript_expression "plVar6[0x1a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x1b] = 0;" (assignment_expression "plVar6[0x1b] = 0" (subscript_expression "plVar6[0x1b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(plVar6 + 0x1c) = uVar2;" (assignment_expression "*(undefined4 *)(plVar6 + 0x1c) = uVar2" (pointer_expression "*(undefined4 *)(plVar6 + 0x1c)" * (cast_expression "(undefined4 *)(plVar6 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0x1c)" ( (binary_expression "plVar6 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "plVar6[0x1d] = 0;" (assignment_expression "plVar6[0x1d] = 0" (subscript_expression "plVar6[0x1d]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x1e] = 0;" (assignment_expression "plVar6[0x1e] = 0" (subscript_expression "plVar6[0x1e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar5 = FUN_00319030(plVar6 + 0x1c,0x80);" (assignment_expression "uVar5 = FUN_00319030(plVar6 + 0x1c,0x80)" identifier = (call_expression "FUN_00319030(plVar6 + 0x1c,0x80)" identifier (argument_list "(plVar6 + 0x1c,0x80)" ( (binary_expression "plVar6 + 0x1c" identifier + number_literal) , number_literal )))) ;) (if_statement "if ((ulong)plVar6[0x19] < uVar5) {\n      if (uVar5 == 1) {\n        plVar6[0x1e] = 0;\n      }\n      else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }\n      plVar6[0x18] = (long)plVar4;\n      plVar6[0x19] = uVar5;\n    }" if (parenthesized_expression "((ulong)plVar6[0x19] < uVar5)" ( (binary_expression "(ulong)plVar6[0x19] < uVar5" (cast_expression "(ulong)plVar6[0x19]" ( (type_descriptor "ulong" type_identifier) ) (subscript_expression "plVar6[0x19]" identifier [ number_literal ])) < identifier) )) (compound_statement "{\n      if (uVar5 == 1) {\n        plVar6[0x1e] = 0;\n      }\n      else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }\n      plVar6[0x18] = (long)plVar4;\n      plVar6[0x19] = uVar5;\n    }" { (if_statement "if (uVar5 == 1) {\n        plVar6[0x1e] = 0;\n      }\n      else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }" if (parenthesized_expression "(uVar5 == 1)" ( (binary_expression "uVar5 == 1" identifier == number_literal) )) (compound_statement "{\n        plVar6[0x1e] = 0;\n      }" { (expression_statement "plVar6[0x1e] = 0;" (assignment_expression "plVar6[0x1e] = 0" (subscript_expression "plVar6[0x1e]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }" else (compound_statement "{\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }" { (expression_statement "plVar4 = (long *)FUN_001f4a30(uVar5);" (assignment_expression "plVar4 = (long *)FUN_001f4a30(uVar5)" identifier = (cast_expression "(long *)FUN_001f4a30(uVar5)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_001f4a30(uVar5)" identifier (argument_list "(uVar5)" ( identifier ))))) ;) }))) (expression_statement "plVar6[0x18] = (long)plVar4;" (assignment_expression "plVar6[0x18] = (long)plVar4" (subscript_expression "plVar6[0x18]" identifier [ number_literal ]) = (cast_expression "(long)plVar4" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "plVar6[0x19] = uVar5;" (assignment_expression "plVar6[0x19] = uVar5" (subscript_expression "plVar6[0x19]" identifier [ number_literal ]) = identifier) ;) })) }) (else_clause "else {\n    if (param_5 == 2) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435d30;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 2;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b900(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    *(undefined1 *)(plVar6 + 0x21) = 0;\n    plVar6[0x22] = 0;\n  }" else (compound_statement "{\n    if (param_5 == 2) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435d30;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 2;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b900(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    *(undefined1 *)(plVar6 + 0x21) = 0;\n    plVar6[0x22] = 0;\n  }" { (if_statement "if (param_5 == 2) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435d30;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 2;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b900(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" if (parenthesized_expression "(param_5 == 2)" ( (binary_expression "param_5 == 2" identifier == number_literal) )) (compound_statement "{\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435d30;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 2;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b900(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" { (expression_statement "plVar6 = (long *)FUN_002d9490(0x148);" (assignment_expression "plVar6 = (long *)FUN_002d9490(0x148)" identifier = (cast_expression "(long *)FUN_002d9490(0x148)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x148)" identifier (argument_list "(0x148)" ( number_literal ))))) ;) (expression_statement "plVar6[1] = 0;" (assignment_expression "plVar6[1] = 0" (subscript_expression "plVar6[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[2] = 0;" (assignment_expression "plVar6[2] = 0" (subscript_expression "plVar6[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[3] = -1;" (assignment_expression "plVar6[3] = -1" (subscript_expression "plVar6[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(plVar6 + 10) = 0xffffffff;" (assignment_expression "*(undefined4 *)(plVar6 + 10) = 0xffffffff" (pointer_expression "*(undefined4 *)(plVar6 + 10)" * (cast_expression "(undefined4 *)(plVar6 + 10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 10)" ( (binary_expression "plVar6 + 10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar6[0xb] = (long)(plVar6 + 0x11);" (assignment_expression "plVar6[0xb] = (long)(plVar6 + 0x11)" (subscript_expression "plVar6[0xb]" identifier [ number_literal ]) = (cast_expression "(long)(plVar6 + 0x11)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(plVar6 + 0x11)" ( (binary_expression "plVar6 + 0x11" identifier + number_literal) )))) ;) (expression_statement "*(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;" (assignment_expression "*(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) = (binary_expression "*(byte *)(plVar6 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "*(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;" (assignment_expression "*(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0" (pointer_expression "*(undefined1 (*) [16])(plVar6 + 0xf)" * (cast_expression "(undefined1 (*) [16])(plVar6 + 0xf)" ( (type_descriptor "undefined1 (*) [16]" type_identifier (abstract_array_declarator "(*) [16]" (abstract_parenthesized_declarator "(*)" ( (abstract_pointer_declarator "*" *) )) [ number_literal ])) ) (parenthesized_expression "(plVar6 + 0xf)" ( (binary_expression "plVar6 + 0xf" identifier + number_literal) )))) = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "*plVar6 = (long)&PTR_FUN_00435d30;" (assignment_expression "*plVar6 = (long)&PTR_FUN_00435d30" (pointer_expression "*plVar6" * identifier) = (cast_expression "(long)&PTR_FUN_00435d30" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&PTR_FUN_00435d30" & identifier))) ;) (expression_statement "plVar6[5] = 0;" (assignment_expression "plVar6[5] = 0" (subscript_expression "plVar6[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[6] = param_6;" (assignment_expression "plVar6[6] = param_6" (subscript_expression "plVar6[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "plVar6[7] = 2;" (assignment_expression "plVar6[7] = 2" (subscript_expression "plVar6[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(plVar6 + 8) = 0;" (assignment_expression "*(undefined1 *)(plVar6 + 8) = 0" (pointer_expression "*(undefined1 *)(plVar6 + 8)" * (cast_expression "(undefined1 *)(plVar6 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 8)" ( (binary_expression "plVar6 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar6[9] = 0;" (assignment_expression "plVar6[9] = 0" (subscript_expression "plVar6[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x11] = 0;" (assignment_expression "plVar6[0x11] = 0" (subscript_expression "plVar6[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0xc] = 1;" (assignment_expression "plVar6[0xc] = 1" (subscript_expression "plVar6[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0xd] = 0;" (assignment_expression "plVar6[0xd] = 0" (subscript_expression "plVar6[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0xe] = 0;" (assignment_expression "plVar6[0xe] = 0" (subscript_expression "plVar6[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(plVar6 + 0xf) = 0x3f800000;" (assignment_expression "*(undefined4 *)(plVar6 + 0xf) = 0x3f800000" (pointer_expression "*(undefined4 *)(plVar6 + 0xf)" * (cast_expression "(undefined4 *)(plVar6 + 0xf)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0xf)" ( (binary_expression "plVar6 + 0xf" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar6[0x10] = 0;" (assignment_expression "plVar6[0x10] = 0" (subscript_expression "plVar6[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0026b900(plVar6 + 0x12,param_6);" (call_expression "FUN_0026b900(plVar6 + 0x12,param_6)" identifier (argument_list "(plVar6 + 0x12,param_6)" ( (binary_expression "plVar6 + 0x12" identifier + number_literal) , identifier ))) ;) (expression_statement "plVar6[0x24] = 0;" (assignment_expression "plVar6[0x24] = 0" (subscript_expression "plVar6[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x25] = 0;" (assignment_expression "plVar6[0x25] = 0" (subscript_expression "plVar6[0x25]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x26] = 0;" (assignment_expression "plVar6[0x26] = 0" (subscript_expression "plVar6[0x26]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x27] = 0;" (assignment_expression "plVar6[0x27] = 0" (subscript_expression "plVar6[0x27]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x28] = 0;" (assignment_expression "plVar6[0x28] = 0" (subscript_expression "plVar6[0x28]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }" if (parenthesized_expression "((plVar6[0x15] != 0) || (plVar6[0x22] != 2))" ( (binary_expression "(plVar6[0x15] != 0) || (plVar6[0x22] != 2)" (parenthesized_expression "(plVar6[0x15] != 0)" ( (binary_expression "plVar6[0x15] != 0" (subscript_expression "plVar6[0x15]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "(plVar6[0x22] != 2)" ( (binary_expression "plVar6[0x22] != 2" (subscript_expression "plVar6[0x22]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }" { (expression_statement "FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");" (call_expression "FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null")" identifier (argument_list "("../../gold/stringpool.h",0xcc,"set_no_zero_null")" ( (string_literal ""../../gold/stringpool.h"" " string_content ") , number_literal , (string_literal ""set_no_zero_null"" " string_content ") ))) ;) })) }) (else_clause "else if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" else (if_statement "if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" if (parenthesized_expression "(param_5 == 4)" ( (binary_expression "param_5 == 4" identifier == number_literal) )) (compound_statement "{\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" { (expression_statement "plVar6 = (long *)FUN_002d9490(0x148);" (assignment_expression "plVar6 = (long *)FUN_002d9490(0x148)" identifier = (cast_expression "(long *)FUN_002d9490(0x148)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x148)" identifier (argument_list "(0x148)" ( number_literal ))))) ;) (expression_statement "plVar6[1] = 0;" (assignment_expression "plVar6[1] = 0" (subscript_expression "plVar6[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[2] = 0;" (assignment_expression "plVar6[2] = 0" (subscript_expression "plVar6[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[3] = -1;" (assignment_expression "plVar6[3] = -1" (subscript_expression "plVar6[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(plVar6 + 10) = 0xffffffff;" (assignment_expression "*(undefined4 *)(plVar6 + 10) = 0xffffffff" (pointer_expression "*(undefined4 *)(plVar6 + 10)" * (cast_expression "(undefined4 *)(plVar6 + 10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 10)" ( (binary_expression "plVar6 + 10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar6[0xb] = (long)(plVar6 + 0x11);" (assignment_expression "plVar6[0xb] = (long)(plVar6 + 0x11)" (subscript_expression "plVar6[0xb]" identifier [ number_literal ]) = (cast_expression "(long)(plVar6 + 0x11)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(plVar6 + 0x11)" ( (binary_expression "plVar6 + 0x11" identifier + number_literal) )))) ;) (expression_statement "*(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;" (assignment_expression "*(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) = (binary_expression "*(byte *)(plVar6 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "*(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;" (assignment_expression "*(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0" (pointer_expression "*(undefined1 (*) [16])(plVar6 + 0xf)" * (cast_expression "(undefined1 (*) [16])(plVar6 + 0xf)" ( (type_descriptor "undefined1 (*) [16]" type_identifier (abstract_array_declarator "(*) [16]" (abstract_parenthesized_declarator "(*)" ( (abstract_pointer_declarator "*" *) )) [ number_literal ])) ) (parenthesized_expression "(plVar6 + 0xf)" ( (binary_expression "plVar6 + 0xf" identifier + number_literal) )))) = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "*plVar6 = (long)&PTR_FUN_00435e18;" (assignment_expression "*plVar6 = (long)&PTR_FUN_00435e18" (pointer_expression "*plVar6" * identifier) = (cast_expression "(long)&PTR_FUN_00435e18" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&PTR_FUN_00435e18" & identifier))) ;) (expression_statement "plVar6[5] = 0;" (assignment_expression "plVar6[5] = 0" (subscript_expression "plVar6[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[6] = param_6;" (assignment_expression "plVar6[6] = param_6" (subscript_expression "plVar6[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "plVar6[7] = 4;" (assignment_expression "plVar6[7] = 4" (subscript_expression "plVar6[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(plVar6 + 8) = 0;" (assignment_expression "*(undefined1 *)(plVar6 + 8) = 0" (pointer_expression "*(undefined1 *)(plVar6 + 8)" * (cast_expression "(undefined1 *)(plVar6 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 8)" ( (binary_expression "plVar6 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar6[9] = 0;" (assignment_expression "plVar6[9] = 0" (subscript_expression "plVar6[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x11] = 0;" (assignment_expression "plVar6[0x11] = 0" (subscript_expression "plVar6[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0xc] = 1;" (assignment_expression "plVar6[0xc] = 1" (subscript_expression "plVar6[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0xd] = 0;" (assignment_expression "plVar6[0xd] = 0" (subscript_expression "plVar6[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0xe] = 0;" (assignment_expression "plVar6[0xe] = 0" (subscript_expression "plVar6[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(plVar6 + 0xf) = 0x3f800000;" (assignment_expression "*(undefined4 *)(plVar6 + 0xf) = 0x3f800000" (pointer_expression "*(undefined4 *)(plVar6 + 0xf)" * (cast_expression "(undefined4 *)(plVar6 + 0xf)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0xf)" ( (binary_expression "plVar6 + 0xf" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar6[0x10] = 0;" (assignment_expression "plVar6[0x10] = 0" (subscript_expression "plVar6[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0026bfb0(plVar6 + 0x12,param_6);" (call_expression "FUN_0026bfb0(plVar6 + 0x12,param_6)" identifier (argument_list "(plVar6 + 0x12,param_6)" ( (binary_expression "plVar6 + 0x12" identifier + number_literal) , identifier ))) ;) (expression_statement "plVar6[0x24] = 0;" (assignment_expression "plVar6[0x24] = 0" (subscript_expression "plVar6[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x25] = 0;" (assignment_expression "plVar6[0x25] = 0" (subscript_expression "plVar6[0x25]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x26] = 0;" (assignment_expression "plVar6[0x26] = 0" (subscript_expression "plVar6[0x26]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x27] = 0;" (assignment_expression "plVar6[0x27] = 0" (subscript_expression "plVar6[0x27]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x28] = 0;" (assignment_expression "plVar6[0x28] = 0" (subscript_expression "plVar6[0x28]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }" if (parenthesized_expression "((plVar6[0x15] != 0) || (plVar6[0x22] != 4))" ( (binary_expression "(plVar6[0x15] != 0) || (plVar6[0x22] != 4)" (parenthesized_expression "(plVar6[0x15] != 0)" ( (binary_expression "plVar6[0x15] != 0" (subscript_expression "plVar6[0x15]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "(plVar6[0x22] != 4)" ( (binary_expression "plVar6[0x22] != 4" (subscript_expression "plVar6[0x22]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }" { (expression_statement "FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");" (call_expression "FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null")" identifier (argument_list "("../../gold/stringpool.h",0xcc,"set_no_zero_null")" ( (string_literal ""../../gold/stringpool.h"" " string_content ") , number_literal , (string_literal ""set_no_zero_null"" " string_content ") ))) ;) })) }) (else_clause "else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" else (compound_statement "{\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" { (if_statement "if (param_5 != 1) {\n        return 0;\n      }" if (parenthesized_expression "(param_5 != 1)" ( (binary_expression "param_5 != 1" identifier != number_literal) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "plVar6 = (long *)FUN_002d9490(0x148);" (assignment_expression "plVar6 = (long *)FUN_002d9490(0x148)" identifier = (cast_expression "(long *)FUN_002d9490(0x148)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_002d9490(0x148)" identifier (argument_list "(0x148)" ( number_literal ))))) ;) (expression_statement "plVar6[1] = 0;" (assignment_expression "plVar6[1] = 0" (subscript_expression "plVar6[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[2] = 0;" (assignment_expression "plVar6[2] = 0" (subscript_expression "plVar6[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[3] = -1;" (assignment_expression "plVar6[3] = -1" (subscript_expression "plVar6[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(plVar6 + 10) = 0xffffffff;" (assignment_expression "*(undefined4 *)(plVar6 + 10) = 0xffffffff" (pointer_expression "*(undefined4 *)(plVar6 + 10)" * (cast_expression "(undefined4 *)(plVar6 + 10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 10)" ( (binary_expression "plVar6 + 10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar6[0xb] = (long)(plVar6 + 0x11);" (assignment_expression "plVar6[0xb] = (long)(plVar6 + 0x11)" (subscript_expression "plVar6[0xb]" identifier [ number_literal ]) = (cast_expression "(long)(plVar6 + 0x11)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(plVar6 + 0x11)" ( (binary_expression "plVar6 + 0x11" identifier + number_literal) )))) ;) (expression_statement "*(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;" (assignment_expression "*(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) = (binary_expression "*(byte *)(plVar6 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar6 + 4)" * (cast_expression "(byte *)(plVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 4)" ( (binary_expression "plVar6 + 4" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "*(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;" (assignment_expression "*(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0" (pointer_expression "*(undefined1 (*) [16])(plVar6 + 0xf)" * (cast_expression "(undefined1 (*) [16])(plVar6 + 0xf)" ( (type_descriptor "undefined1 (*) [16]" type_identifier (abstract_array_declarator "(*) [16]" (abstract_parenthesized_declarator "(*)" ( (abstract_pointer_declarator "*" *) )) [ number_literal ])) ) (parenthesized_expression "(plVar6 + 0xf)" ( (binary_expression "plVar6 + 0xf" identifier + number_literal) )))) = (cast_expression "(undefined1  [16])0x0" ( (type_descriptor "undefined1  [16]" type_identifier (abstract_array_declarator "[16]" [ number_literal ])) ) number_literal)) ;) (expression_statement "*plVar6 = (long)&PTR_FUN_00435c48;" (assignment_expression "*plVar6 = (long)&PTR_FUN_00435c48" (pointer_expression "*plVar6" * identifier) = (cast_expression "(long)&PTR_FUN_00435c48" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&PTR_FUN_00435c48" & identifier))) ;) (expression_statement "plVar6[5] = 0;" (assignment_expression "plVar6[5] = 0" (subscript_expression "plVar6[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[6] = param_6;" (assignment_expression "plVar6[6] = param_6" (subscript_expression "plVar6[6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "plVar6[7] = 1;" (assignment_expression "plVar6[7] = 1" (subscript_expression "plVar6[7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(plVar6 + 8) = 0;" (assignment_expression "*(undefined1 *)(plVar6 + 8) = 0" (pointer_expression "*(undefined1 *)(plVar6 + 8)" * (cast_expression "(undefined1 *)(plVar6 + 8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 8)" ( (binary_expression "plVar6 + 8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar6[9] = 0;" (assignment_expression "plVar6[9] = 0" (subscript_expression "plVar6[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x11] = 0;" (assignment_expression "plVar6[0x11] = 0" (subscript_expression "plVar6[0x11]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0xc] = 1;" (assignment_expression "plVar6[0xc] = 1" (subscript_expression "plVar6[0xc]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0xd] = 0;" (assignment_expression "plVar6[0xd] = 0" (subscript_expression "plVar6[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0xe] = 0;" (assignment_expression "plVar6[0xe] = 0" (subscript_expression "plVar6[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(plVar6 + 0xf) = 0x3f800000;" (assignment_expression "*(undefined4 *)(plVar6 + 0xf) = 0x3f800000" (pointer_expression "*(undefined4 *)(plVar6 + 0xf)" * (cast_expression "(undefined4 *)(plVar6 + 0xf)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0xf)" ( (binary_expression "plVar6 + 0xf" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar6[0x10] = 0;" (assignment_expression "plVar6[0x10] = 0" (subscript_expression "plVar6[0x10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0026b2b0(plVar6 + 0x12,param_6);" (call_expression "FUN_0026b2b0(plVar6 + 0x12,param_6)" identifier (argument_list "(plVar6 + 0x12,param_6)" ( (binary_expression "plVar6 + 0x12" identifier + number_literal) , identifier ))) ;) (expression_statement "plVar6[0x24] = 0;" (assignment_expression "plVar6[0x24] = 0" (subscript_expression "plVar6[0x24]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x25] = 0;" (assignment_expression "plVar6[0x25] = 0" (subscript_expression "plVar6[0x25]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x26] = 0;" (assignment_expression "plVar6[0x26] = 0" (subscript_expression "plVar6[0x26]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x27] = 0;" (assignment_expression "plVar6[0x27] = 0" (subscript_expression "plVar6[0x27]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar6[0x28] = 0;" (assignment_expression "plVar6[0x28] = 0" (subscript_expression "plVar6[0x28]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }" if (parenthesized_expression "((plVar6[0x15] != 0) || (plVar6[0x22] != 1))" ( (binary_expression "(plVar6[0x15] != 0) || (plVar6[0x22] != 1)" (parenthesized_expression "(plVar6[0x15] != 0)" ( (binary_expression "plVar6[0x15] != 0" (subscript_expression "plVar6[0x15]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "(plVar6[0x22] != 1)" ( (binary_expression "plVar6[0x22] != 1" (subscript_expression "plVar6[0x22]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }" { (expression_statement "FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");" (call_expression "FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null")" identifier (argument_list "("../../gold/stringpool.h",0xcc,"set_no_zero_null")" ( (string_literal ""../../gold/stringpool.h"" " string_content ") , number_literal , (string_literal ""set_no_zero_null"" " string_content ") ))) ;) })) }))))) (expression_statement "*(undefined1 *)(plVar6 + 0x21) = 0;" (assignment_expression "*(undefined1 *)(plVar6 + 0x21) = 0" (pointer_expression "*(undefined1 *)(plVar6 + 0x21)" * (cast_expression "(undefined1 *)(plVar6 + 0x21)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(plVar6 + 0x21)" ( (binary_expression "plVar6 + 0x21" identifier + number_literal) )))) = number_literal) ;) (expression_statement "plVar6[0x22] = 0;" (assignment_expression "plVar6[0x22] = 0" (subscript_expression "plVar6[0x22]" identifier [ number_literal ]) = number_literal) ;) }))) (expression_statement "lVar7 = *plVar6;" (assignment_expression "lVar7 = *plVar6" identifier = (pointer_expression "*plVar6" * identifier)) ;) (if_statement "if (param_7 != '\0') {\n    (**(code **)(lVar7 + 0xd0))(plVar6);\n    lVar7 = *plVar6;\n  }" if (parenthesized_expression "(param_7 != '\0')" ( (binary_expression "param_7 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    (**(code **)(lVar7 + 0xd0))(plVar6);\n    lVar7 = *plVar6;\n  }" { (expression_statement "(**(code **)(lVar7 + 0xd0))(plVar6);" (call_expression "(**(code **)(lVar7 + 0xd0))(plVar6)" (parenthesized_expression "(**(code **)(lVar7 + 0xd0))" ( (pointer_expression "**(code **)(lVar7 + 0xd0)" * (pointer_expression "*(code **)(lVar7 + 0xd0)" * (cast_expression "(code **)(lVar7 + 0xd0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar7 + 0xd0)" ( (binary_expression "lVar7 + 0xd0" identifier + number_literal) ))))) )) (argument_list "(plVar6)" ( identifier ))) ;) (expression_statement "lVar7 = *plVar6;" (assignment_expression "lVar7 = *plVar6" identifier = (pointer_expression "*plVar6" * identifier)) ;) })) (expression_statement "cVar3 = (**(code **)(lVar7 + 0xa8))(plVar6,param_2,param_3);" (assignment_expression "cVar3 = (**(code **)(lVar7 + 0xa8))(plVar6,param_2,param_3)" identifier = (call_expression "(**(code **)(lVar7 + 0xa8))(plVar6,param_2,param_3)" (parenthesized_expression "(**(code **)(lVar7 + 0xa8))" ( (pointer_expression "**(code **)(lVar7 + 0xa8)" * (pointer_expression "*(code **)(lVar7 + 0xa8)" * (cast_expression "(code **)(lVar7 + 0xa8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(lVar7 + 0xa8)" ( (binary_expression "lVar7 + 0xa8" identifier + number_literal) ))))) )) (argument_list "(plVar6,param_2,param_3)" ( identifier , identifier , identifier )))) ;) (if_statement "if (cVar3 != '\0') {\n    local_58 = (ulong)((param_4 == 0) - 3);\n    local_40 = (long *)((ulong)local_40._4_4_ << 0x20);\n    uStack_50 = param_5;\n    local_48 = plVar6;\n    FUN_001f9b40(param_1,&local_58);\n    local_58 = CONCAT71(uStack_77,local_78);\n    local_48 = (long *)local_68;\n    uStack_50 = uStack_70;\n    local_40 = plVar6;\n    FUN_00226860(*(long *)(param_1 + 0xf0) + 8,&local_58);\n    if ((char)extraout_RDX != '\0') {\n      return extraout_RDX & 0xffffffff;\n    }\n                    \n    FUN_0017c650("../../gold/output.h",0xc22,"add_merge_section");\n  }" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_58 = (ulong)((param_4 == 0) - 3);\n    local_40 = (long *)((ulong)local_40._4_4_ << 0x20);\n    uStack_50 = param_5;\n    local_48 = plVar6;\n    FUN_001f9b40(param_1,&local_58);\n    local_58 = CONCAT71(uStack_77,local_78);\n    local_48 = (long *)local_68;\n    uStack_50 = uStack_70;\n    local_40 = plVar6;\n    FUN_00226860(*(long *)(param_1 + 0xf0) + 8,&local_58);\n    if ((char)extraout_RDX != '\0') {\n      return extraout_RDX & 0xffffffff;\n    }\n                    \n    FUN_0017c650("../../gold/output.h",0xc22,"add_merge_section");\n  }" { (expression_statement "local_58 = (ulong)((param_4 == 0) - 3);" (assignment_expression "local_58 = (ulong)((param_4 == 0) - 3)" identifier = (call_expression "(ulong)((param_4 == 0) - 3)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((param_4 == 0) - 3)" ( (binary_expression "(param_4 == 0) - 3" (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) - number_literal) )))) ;) (expression_statement "local_40 = (long *)((ulong)local_40._4_4_ << 0x20);" (assignment_expression "local_40 = (long *)((ulong)local_40._4_4_ << 0x20)" identifier = (cast_expression "(long *)((ulong)local_40._4_4_ << 0x20)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulong)local_40._4_4_ << 0x20)" ( (binary_expression "(ulong)local_40._4_4_ << 0x20" (cast_expression "(ulong)local_40._4_4_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "local_40._4_4_" identifier . field_identifier)) << number_literal) )))) ;) (expression_statement "uStack_50 = param_5;" (assignment_expression "uStack_50 = param_5" identifier = identifier) ;) (expression_statement "local_48 = plVar6;" (assignment_expression "local_48 = plVar6" identifier = identifier) ;) (expression_statement "FUN_001f9b40(param_1,&local_58);" (call_expression "FUN_001f9b40(param_1,&local_58)" identifier (argument_list "(param_1,&local_58)" ( identifier , (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "local_58 = CONCAT71(uStack_77,local_78);" (assignment_expression "local_58 = CONCAT71(uStack_77,local_78)" identifier = (call_expression "CONCAT71(uStack_77,local_78)" identifier (argument_list "(uStack_77,local_78)" ( identifier , identifier )))) ;) (expression_statement "local_48 = (long *)local_68;" (assignment_expression "local_48 = (long *)local_68" identifier = (cast_expression "(long *)local_68" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uStack_50 = uStack_70;" (assignment_expression "uStack_50 = uStack_70" identifier = identifier) ;) (expression_statement "local_40 = plVar6;" (assignment_expression "local_40 = plVar6" identifier = identifier) ;) (expression_statement "FUN_00226860(*(long *)(param_1 + 0xf0) + 8,&local_58);" (call_expression "FUN_00226860(*(long *)(param_1 + 0xf0) + 8,&local_58)" identifier (argument_list "(*(long *)(param_1 + 0xf0) + 8,&local_58)" ( (binary_expression "*(long *)(param_1 + 0xf0) + 8" (pointer_expression "*(long *)(param_1 + 0xf0)" * (cast_expression "(long *)(param_1 + 0xf0)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xf0)" ( (binary_expression "param_1 + 0xf0" identifier + number_literal) )))) + number_literal) , (pointer_expression "&local_58" & identifier) ))) ;) (if_statement "if ((char)extraout_RDX != '\0') {\n      return extraout_RDX & 0xffffffff;\n    }" if (parenthesized_expression "((char)extraout_RDX != '\0')" ( (binary_expression "(char)extraout_RDX != '\0'" (cast_expression "(char)extraout_RDX" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      return extraout_RDX & 0xffffffff;\n    }" { (return_statement "return extraout_RDX & 0xffffffff;" return (binary_expression "extraout_RDX & 0xffffffff" identifier & number_literal) ;) })) (expression_statement "FUN_0017c650("../../gold/output.h",0xc22,"add_merge_section");" (call_expression "FUN_0017c650("../../gold/output.h",0xc22,"add_merge_section")" identifier (argument_list "("../../gold/output.h",0xc22,"add_merge_section")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""add_merge_section"" " string_content ") ))) ;) })) (expression_statement "(**(code **)(*plVar6 + 8))(plVar6);" (call_expression "(**(code **)(*plVar6 + 8))(plVar6)" (parenthesized_expression "(**(code **)(*plVar6 + 8))" ( (pointer_expression "**(code **)(*plVar6 + 8)" * (pointer_expression "*(code **)(*plVar6 + 8)" * (cast_expression "(code **)(*plVar6 + 8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar6 + 8)" ( (binary_expression "*plVar6 + 8" (pointer_expression "*plVar6" * identifier) + number_literal) ))))) )) (argument_list "(plVar6)" ( identifier ))) ;) (return_statement "return 0;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) (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 TYPE IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_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) , (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) ^ LIT) )) * LIT) ^ IDENT) )) * LIT) ^ IDENT) )) * LIT) )) % (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (pointer_expression & IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (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) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) && (parenthesized_expression ( (binary_expression IDENT == (subscript_expression IDENT [ LIT ])) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression 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 (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) (return_statement return IDENT ;) })) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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) )))) = 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 IDENT = 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 * IDENT) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT))) ;) (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) )))) = (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 ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 (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)) ;) (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) )))) = IDENT) ;) (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 IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (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 (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (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) )))) = 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_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 (pointer_expression * IDENT) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 (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 (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , 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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (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) )))) = 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_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 (pointer_expression * IDENT) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 (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 (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , 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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return LIT ;) })) (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) )))) = 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_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 (pointer_expression * IDENT) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 (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 (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , 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 (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) || (parenthesized_expression ( (binary_expression (subscript_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 (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 IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( 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 , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) - LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) << LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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) , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return (binary_expression IDENT & LIT) ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT ))) ;) (return_statement return LIT ;) })))
(function_definition "ulong FUN_001fb0e0(long param_1,undefined8 param_2,undefined4 param_3,uint param_4,ulong param_5,\n                  ulong param_6,char param_7)\n\n{\n  char *pcVar1;\n  undefined4 uVar2;\n  char cVar3;\n  long *plVar4;\n  ulong uVar5;\n  long *plVar6;\n  long lVar7;\n  ulong extraout_RDX;\n  bool bVar8;\n  undefined1 local_78;\n  undefined7 uStack_77;\n  ulong uStack_70;\n  ulong local_68;\n  ulong local_58;\n  ulong uStack_50;\n  long *local_48;\n  undefined8 local_40;\n  \n  if (param_5 == 0) {\n    return 0;\n  }\n  param_4 = param_4 & 0x20;\n  bVar8 = param_4 != 0;\n  if (*(long *)(param_1 + 0xe8) != 0) {\n                    \n    FUN_0017c650("../../gold/output.cc",0xaa7,"add_merge_input_section");\n  }\n  pcVar1 = *(char **)(param_1 + 0xf0);\n  if (*pcVar1 == '\0') {\n                    \n    FUN_0017c650("../../gold/output.cc",0xaad,"add_merge_input_section");\n  }\n  local_78 = bVar8;\n  uStack_70 = param_5;\n  local_68 = param_6;\n  plVar4 = (long *)FUN_002139a0(pcVar1 + 8,\n                                (((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10),&local_78);\n  if (((plVar4 != (long *)0x0) && (*plVar4 != 0)) &&\n     (plVar4 = *(long **)(*plVar4 + 0x20), plVar4 != (long *)0x0)) {\n    cVar3 = (**(code **)(*plVar4 + 200))(plVar4);\n    if ((bVar8 == (bool)cVar3) && (param_5 == plVar4[7])) {\n      if (*(code **)(*plVar4 + 0x18) == FUN_00185200) {\n        uVar5 = plVar4[6];\n      }\n      else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }\n      if (param_6 == uVar5) {\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }\n    }\n                    \n    FUN_0017c650("../../gold/output.cc",0xab5,"add_merge_input_section");\n  }\n  if (param_4 == 0) {\n    plVar6 = (long *)FUN_002d9490(0xf8);\n    plVar6[1] = 0;\n    plVar6[2] = 0;\n    plVar6[3] = -1;\n    *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n    *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n    uVar2 = DAT_00377cb4;\n    plVar6[0xb] = (long)(plVar6 + 0x11);\n    *plVar6 = (long)&PTR_FUN_00438220;\n    plVar4 = plVar6 + 0x1e;\n    *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n    plVar6[5] = 0;\n    plVar6[6] = param_6;\n    plVar6[7] = param_5;\n    *(undefined1 *)(plVar6 + 8) = 0;\n    plVar6[9] = 0;\n    plVar6[0x11] = 0;\n    plVar6[0xc] = 1;\n    plVar6[0xd] = 0;\n    plVar6[0xe] = 0;\n    *(undefined4 *)(plVar6 + 0xf) = uVar2;\n    plVar6[0x10] = 0;\n    plVar6[0x12] = 0;\n    plVar6[0x13] = 0;\n    plVar6[0x14] = 0;\n    plVar6[0x15] = 0;\n    plVar6[0x16] = (long)plVar6;\n    plVar6[0x17] = (long)plVar6;\n    plVar6[0x18] = (long)plVar4;\n    plVar6[0x19] = 1;\n    plVar6[0x1a] = 0;\n    plVar6[0x1b] = 0;\n    *(undefined4 *)(plVar6 + 0x1c) = uVar2;\n    plVar6[0x1d] = 0;\n    plVar6[0x1e] = 0;\n                    \n    uVar5 = FUN_00319030(plVar6 + 0x1c,0x80);\n    if ((ulong)plVar6[0x19] < uVar5) {\n      if (uVar5 == 1) {\n        plVar6[0x1e] = 0;\n      }\n      else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }\n      plVar6[0x18] = (long)plVar4;\n      plVar6[0x19] = uVar5;\n    }\n  }\n  else {\n    if (param_5 == 2) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435d30;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 2;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b900(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    *(undefined1 *)(plVar6 + 0x21) = 0;\n    plVar6[0x22] = 0;\n  }\n  lVar7 = *plVar6;\n  if (param_7 != '\0') {\n    (**(code **)(lVar7 + 0xd0))(plVar6);\n    lVar7 = *plVar6;\n  }\n  cVar3 = (**(code **)(lVar7 + 0xa8))(plVar6,param_2,param_3);\n  if (cVar3 != '\0') {\n    local_58 = (ulong)((param_4 == 0) - 3);\n    local_40 = (long *)((ulong)local_40._4_4_ << 0x20);\n    uStack_50 = param_5;\n    local_48 = plVar6;\n    FUN_001f9b40(param_1,&local_58);\n    local_58 = CONCAT71(uStack_77,local_78);\n    local_48 = (long *)local_68;\n    uStack_50 = uStack_70;\n    local_40 = plVar6;\n    FUN_00226860(*(long *)(param_1 + 0xf0) + 8,&local_58);\n    if ((char)extraout_RDX != '\0') {\n      return extraout_RDX & 0xffffffff;\n    }\n                    \n    FUN_0017c650("../../gold/output.h",0xc22,"add_merge_section");\n  }\n  (**(code **)(*plVar6 + 8))(plVar6);\n  return 0;\n}" (type_identifier "ulong") (function_declarator "FUN_001fb0e0(long param_1,undefined8 param_2,undefined4 param_3,uint param_4,ulong param_5,\n                  ulong param_6,char param_7)" (identifier "FUN_001fb0e0") (parameter_list "(long param_1,undefined8 param_2,undefined4 param_3,uint param_4,ulong param_5,\n                  ulong param_6,char param_7)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "uint param_4" (type_identifier "uint") (identifier "param_4")) (, ",") (parameter_declaration "ulong param_5" (type_identifier "ulong") (identifier "param_5")) (, ",") (parameter_declaration "ulong param_6" (type_identifier "ulong") (identifier "param_6")) (, ",") (parameter_declaration "char param_7" (primitive_type "char") (identifier "param_7")) () ")"))) (compound_statement "{\n  char *pcVar1;\n  undefined4 uVar2;\n  char cVar3;\n  long *plVar4;\n  ulong uVar5;\n  long *plVar6;\n  long lVar7;\n  ulong extraout_RDX;\n  bool bVar8;\n  undefined1 local_78;\n  undefined7 uStack_77;\n  ulong uStack_70;\n  ulong local_68;\n  ulong local_58;\n  ulong uStack_50;\n  long *local_48;\n  undefined8 local_40;\n  \n  if (param_5 == 0) {\n    return 0;\n  }\n  param_4 = param_4 & 0x20;\n  bVar8 = param_4 != 0;\n  if (*(long *)(param_1 + 0xe8) != 0) {\n                    \n    FUN_0017c650("../../gold/output.cc",0xaa7,"add_merge_input_section");\n  }\n  pcVar1 = *(char **)(param_1 + 0xf0);\n  if (*pcVar1 == '\0') {\n                    \n    FUN_0017c650("../../gold/output.cc",0xaad,"add_merge_input_section");\n  }\n  local_78 = bVar8;\n  uStack_70 = param_5;\n  local_68 = param_6;\n  plVar4 = (long *)FUN_002139a0(pcVar1 + 8,\n                                (((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10),&local_78);\n  if (((plVar4 != (long *)0x0) && (*plVar4 != 0)) &&\n     (plVar4 = *(long **)(*plVar4 + 0x20), plVar4 != (long *)0x0)) {\n    cVar3 = (**(code **)(*plVar4 + 200))(plVar4);\n    if ((bVar8 == (bool)cVar3) && (param_5 == plVar4[7])) {\n      if (*(code **)(*plVar4 + 0x18) == FUN_00185200) {\n        uVar5 = plVar4[6];\n      }\n      else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }\n      if (param_6 == uVar5) {\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }\n    }\n                    \n    FUN_0017c650("../../gold/output.cc",0xab5,"add_merge_input_section");\n  }\n  if (param_4 == 0) {\n    plVar6 = (long *)FUN_002d9490(0xf8);\n    plVar6[1] = 0;\n    plVar6[2] = 0;\n    plVar6[3] = -1;\n    *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n    *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n    uVar2 = DAT_00377cb4;\n    plVar6[0xb] = (long)(plVar6 + 0x11);\n    *plVar6 = (long)&PTR_FUN_00438220;\n    plVar4 = plVar6 + 0x1e;\n    *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n    plVar6[5] = 0;\n    plVar6[6] = param_6;\n    plVar6[7] = param_5;\n    *(undefined1 *)(plVar6 + 8) = 0;\n    plVar6[9] = 0;\n    plVar6[0x11] = 0;\n    plVar6[0xc] = 1;\n    plVar6[0xd] = 0;\n    plVar6[0xe] = 0;\n    *(undefined4 *)(plVar6 + 0xf) = uVar2;\n    plVar6[0x10] = 0;\n    plVar6[0x12] = 0;\n    plVar6[0x13] = 0;\n    plVar6[0x14] = 0;\n    plVar6[0x15] = 0;\n    plVar6[0x16] = (long)plVar6;\n    plVar6[0x17] = (long)plVar6;\n    plVar6[0x18] = (long)plVar4;\n    plVar6[0x19] = 1;\n    plVar6[0x1a] = 0;\n    plVar6[0x1b] = 0;\n    *(undefined4 *)(plVar6 + 0x1c) = uVar2;\n    plVar6[0x1d] = 0;\n    plVar6[0x1e] = 0;\n                    \n    uVar5 = FUN_00319030(plVar6 + 0x1c,0x80);\n    if ((ulong)plVar6[0x19] < uVar5) {\n      if (uVar5 == 1) {\n        plVar6[0x1e] = 0;\n      }\n      else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }\n      plVar6[0x18] = (long)plVar4;\n      plVar6[0x19] = uVar5;\n    }\n  }\n  else {\n    if (param_5 == 2) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435d30;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 2;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b900(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    *(undefined1 *)(plVar6 + 0x21) = 0;\n    plVar6[0x22] = 0;\n  }\n  lVar7 = *plVar6;\n  if (param_7 != '\0') {\n    (**(code **)(lVar7 + 0xd0))(plVar6);\n    lVar7 = *plVar6;\n  }\n  cVar3 = (**(code **)(lVar7 + 0xa8))(plVar6,param_2,param_3);\n  if (cVar3 != '\0') {\n    local_58 = (ulong)((param_4 == 0) - 3);\n    local_40 = (long *)((ulong)local_40._4_4_ << 0x20);\n    uStack_50 = param_5;\n    local_48 = plVar6;\n    FUN_001f9b40(param_1,&local_58);\n    local_58 = CONCAT71(uStack_77,local_78);\n    local_48 = (long *)local_68;\n    uStack_50 = uStack_70;\n    local_40 = plVar6;\n    FUN_00226860(*(long *)(param_1 + 0xf0) + 8,&local_58);\n    if ((char)extraout_RDX != '\0') {\n      return extraout_RDX & 0xffffffff;\n    }\n                    \n    FUN_0017c650("../../gold/output.h",0xc22,"add_merge_section");\n  }\n  (**(code **)(*plVar6 + 8))(plVar6);\n  return 0;\n}" ({ "{") (declaration "char *pcVar1;" (primitive_type "char") (pointer_declarator "*pcVar1" (* "*") (identifier "pcVar1")) (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "long *plVar4;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar4" (* "*") (identifier "plVar4")) (; ";")) (declaration "ulong uVar5;" (type_identifier "ulong") (identifier "uVar5") (; ";")) (declaration "long *plVar6;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar6" (* "*") (identifier "plVar6")) (; ";")) (declaration "long lVar7;" (sized_type_specifier "long" (long "long")) (identifier "lVar7") (; ";")) (declaration "ulong extraout_RDX;" (type_identifier "ulong") (identifier "extraout_RDX") (; ";")) (declaration "bool bVar8;" (primitive_type "bool") (identifier "bVar8") (; ";")) (declaration "undefined1 local_78;" (type_identifier "undefined1") (identifier "local_78") (; ";")) (declaration "undefined7 uStack_77;" (type_identifier "undefined7") (identifier "uStack_77") (; ";")) (declaration "ulong uStack_70;" (type_identifier "ulong") (identifier "uStack_70") (; ";")) (declaration "ulong local_68;" (type_identifier "ulong") (identifier "local_68") (; ";")) (declaration "ulong local_58;" (type_identifier "ulong") (identifier "local_58") (; ";")) (declaration "ulong uStack_50;" (type_identifier "ulong") (identifier "uStack_50") (; ";")) (declaration "long *local_48;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*local_48" (* "*") (identifier "local_48")) (; ";")) (declaration "undefined8 local_40;" (type_identifier "undefined8") (identifier "local_40") (; ";")) (if_statement "if (param_5 == 0) {\n    return 0;\n  }" (if "if") (parenthesized_expression "(param_5 == 0)" (( "(") (binary_expression "param_5 == 0" (identifier "param_5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return 0;\n  }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "param_4 = param_4 & 0x20;" (assignment_expression "param_4 = param_4 & 0x20" (identifier "param_4") (= "=") (binary_expression "param_4 & 0x20" (identifier "param_4") (& "&") (number_literal "0x20"))) (; ";")) (expression_statement "bVar8 = param_4 != 0;" (assignment_expression "bVar8 = param_4 != 0" (identifier "bVar8") (= "=") (binary_expression "param_4 != 0" (identifier "param_4") (!= "!=") (number_literal "0"))) (; ";")) (if_statement "if (*(long *)(param_1 + 0xe8) != 0) {\n                    \n    FUN_0017c650("../../gold/output.cc",0xaa7,"add_merge_input_section");\n  }" (if "if") (parenthesized_expression "(*(long *)(param_1 + 0xe8) != 0)" (( "(") (binary_expression "*(long *)(param_1 + 0xe8) != 0" (pointer_expression "*(long *)(param_1 + 0xe8)" (* "*") (cast_expression "(long *)(param_1 + 0xe8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xe8)" (( "(") (binary_expression "param_1 + 0xe8" (identifier "param_1") (+ "+") (number_literal "0xe8")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/output.cc",0xaa7,"add_merge_input_section");\n  }" ({ "{") (expression_statement "FUN_0017c650("../../gold/output.cc",0xaa7,"add_merge_input_section");" (call_expression "FUN_0017c650("../../gold/output.cc",0xaa7,"add_merge_input_section")" (identifier "FUN_0017c650") (argument_list "("../../gold/output.cc",0xaa7,"add_merge_input_section")" (( "(") (string_literal ""../../gold/output.cc"" (" """) (string_content "../../gold/output.cc") (" """)) (, ",") (number_literal "0xaa7") (, ",") (string_literal ""add_merge_input_section"" (" """) (string_content "add_merge_input_section") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "pcVar1 = *(char **)(param_1 + 0xf0);" (assignment_expression "pcVar1 = *(char **)(param_1 + 0xf0)" (identifier "pcVar1") (= "=") (pointer_expression "*(char **)(param_1 + 0xf0)" (* "*") (cast_expression "(char **)(param_1 + 0xf0)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0xf0)" (( "(") (binary_expression "param_1 + 0xf0" (identifier "param_1") (+ "+") (number_literal "0xf0")) () ")"))))) (; ";")) (if_statement "if (*pcVar1 == '\0') {\n                    \n    FUN_0017c650("../../gold/output.cc",0xaad,"add_merge_input_section");\n  }" (if "if") (parenthesized_expression "(*pcVar1 == '\0')" (( "(") (binary_expression "*pcVar1 == '\0'" (pointer_expression "*pcVar1" (* "*") (identifier "pcVar1")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    \n    FUN_0017c650("../../gold/output.cc",0xaad,"add_merge_input_section");\n  }" ({ "{") (expression_statement "FUN_0017c650("../../gold/output.cc",0xaad,"add_merge_input_section");" (call_expression "FUN_0017c650("../../gold/output.cc",0xaad,"add_merge_input_section")" (identifier "FUN_0017c650") (argument_list "("../../gold/output.cc",0xaad,"add_merge_input_section")" (( "(") (string_literal ""../../gold/output.cc"" (" """) (string_content "../../gold/output.cc") (" """)) (, ",") (number_literal "0xaad") (, ",") (string_literal ""add_merge_input_section"" (" """) (string_content "add_merge_input_section") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "local_78 = bVar8;" (assignment_expression "local_78 = bVar8" (identifier "local_78") (= "=") (identifier "bVar8")) (; ";")) (expression_statement "uStack_70 = param_5;" (assignment_expression "uStack_70 = param_5" (identifier "uStack_70") (= "=") (identifier "param_5")) (; ";")) (expression_statement "local_68 = param_6;" (assignment_expression "local_68 = param_6" (identifier "local_68") (= "=") (identifier "param_6")) (; ";")) (expression_statement "plVar4 = (long *)FUN_002139a0(pcVar1 + 8,\n                                (((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10),&local_78);" (assignment_expression "plVar4 = (long *)FUN_002139a0(pcVar1 + 8,\n                                (((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10),&local_78)" (identifier "plVar4") (= "=") (cast_expression "(long *)FUN_002139a0(pcVar1 + 8,\n                                (((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10),&local_78)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002139a0(pcVar1 + 8,\n                                (((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10),&local_78)" (identifier "FUN_002139a0") (argument_list "(pcVar1 + 8,\n                                (((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10),&local_78)" (( "(") (binary_expression "pcVar1 + 8" (identifier "pcVar1") (+ "+") (number_literal "8")) (, ",") (binary_expression "(((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3) %\n                                *(ulong *)(pcVar1 + 0x10)" (parenthesized_expression "(((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3)" (( "(") (binary_expression "((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6) * 0x100000001b3" (parenthesized_expression "((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6)" (( "(") (binary_expression "(((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3 ^ param_6" (binary_expression "(((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *\n                                  0x100000001b3" (parenthesized_expression "(((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5)" (( "(") (binary_expression "((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5" (binary_expression "((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3" (parenthesized_expression "((ulong)bVar8 ^ 0xcbf29ce484222325)" (( "(") (binary_expression "(ulong)bVar8 ^ 0xcbf29ce484222325" (cast_expression "(ulong)bVar8" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "bVar8")) (^ "^") (number_literal "0xcbf29ce484222325")) () ")")) (* "*") (number_literal "0x100000001b3")) (^ "^") (identifier "param_5")) () ")")) (* "*") (number_literal "0x100000001b3")) (^ "^") (identifier "param_6")) () ")")) (* "*") (number_literal "0x100000001b3")) () ")")) (% "%") (pointer_expression "*(ulong *)(pcVar1 + 0x10)" (* "*") (cast_expression "(ulong *)(pcVar1 + 0x10)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar1 + 0x10)" (( "(") (binary_expression "pcVar1 + 0x10" (identifier "pcVar1") (+ "+") (number_literal "0x10")) () ")"))))) (, ",") (pointer_expression "&local_78" (& "&") (identifier "local_78")) () ")"))))) (; ";")) (if_statement "if (((plVar4 != (long *)0x0) && (*plVar4 != 0)) &&\n     (plVar4 = *(long **)(*plVar4 + 0x20), plVar4 != (long *)0x0)) {\n    cVar3 = (**(code **)(*plVar4 + 200))(plVar4);\n    if ((bVar8 == (bool)cVar3) && (param_5 == plVar4[7])) {\n      if (*(code **)(*plVar4 + 0x18) == FUN_00185200) {\n        uVar5 = plVar4[6];\n      }\n      else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }\n      if (param_6 == uVar5) {\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }\n    }\n                    \n    FUN_0017c650("../../gold/output.cc",0xab5,"add_merge_input_section");\n  }" (if "if") (parenthesized_expression "(((plVar4 != (long *)0x0) && (*plVar4 != 0)) &&\n     (plVar4 = *(long **)(*plVar4 + 0x20), plVar4 != (long *)0x0))" (( "(") (binary_expression "((plVar4 != (long *)0x0) && (*plVar4 != 0)) &&\n     (plVar4 = *(long **)(*plVar4 + 0x20), plVar4 != (long *)0x0)" (parenthesized_expression "((plVar4 != (long *)0x0) && (*plVar4 != 0))" (( "(") (binary_expression "(plVar4 != (long *)0x0) && (*plVar4 != 0)" (parenthesized_expression "(plVar4 != (long *)0x0)" (( "(") (binary_expression "plVar4 != (long *)0x0" (identifier "plVar4") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(*plVar4 != 0)" (( "(") (binary_expression "*plVar4 != 0" (pointer_expression "*plVar4" (* "*") (identifier "plVar4")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(plVar4 = *(long **)(*plVar4 + 0x20), plVar4 != (long *)0x0)" (( "(") (comma_expression "plVar4 = *(long **)(*plVar4 + 0x20), plVar4 != (long *)0x0" (assignment_expression "plVar4 = *(long **)(*plVar4 + 0x20)" (identifier "plVar4") (= "=") (pointer_expression "*(long **)(*plVar4 + 0x20)" (* "*") (cast_expression "(long **)(*plVar4 + 0x20)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar4 + 0x20)" (( "(") (binary_expression "*plVar4 + 0x20" (pointer_expression "*plVar4" (* "*") (identifier "plVar4")) (+ "+") (number_literal "0x20")) () ")"))))) (, ",") (binary_expression "plVar4 != (long *)0x0" (identifier "plVar4") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n    cVar3 = (**(code **)(*plVar4 + 200))(plVar4);\n    if ((bVar8 == (bool)cVar3) && (param_5 == plVar4[7])) {\n      if (*(code **)(*plVar4 + 0x18) == FUN_00185200) {\n        uVar5 = plVar4[6];\n      }\n      else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }\n      if (param_6 == uVar5) {\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }\n    }\n                    \n    FUN_0017c650("../../gold/output.cc",0xab5,"add_merge_input_section");\n  }" ({ "{") (expression_statement "cVar3 = (**(code **)(*plVar4 + 200))(plVar4);" (assignment_expression "cVar3 = (**(code **)(*plVar4 + 200))(plVar4)" (identifier "cVar3") (= "=") (call_expression "(**(code **)(*plVar4 + 200))(plVar4)" (parenthesized_expression "(**(code **)(*plVar4 + 200))" (( "(") (pointer_expression "**(code **)(*plVar4 + 200)" (* "*") (pointer_expression "*(code **)(*plVar4 + 200)" (* "*") (cast_expression "(code **)(*plVar4 + 200)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar4 + 200)" (( "(") (binary_expression "*plVar4 + 200" (pointer_expression "*plVar4" (* "*") (identifier "plVar4")) (+ "+") (number_literal "200")) () ")"))))) () ")")) (argument_list "(plVar4)" (( "(") (identifier "plVar4") () ")")))) (; ";")) (if_statement "if ((bVar8 == (bool)cVar3) && (param_5 == plVar4[7])) {\n      if (*(code **)(*plVar4 + 0x18) == FUN_00185200) {\n        uVar5 = plVar4[6];\n      }\n      else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }\n      if (param_6 == uVar5) {\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }\n    }" (if "if") (parenthesized_expression "((bVar8 == (bool)cVar3) && (param_5 == plVar4[7]))" (( "(") (binary_expression "(bVar8 == (bool)cVar3) && (param_5 == plVar4[7])" (parenthesized_expression "(bVar8 == (bool)cVar3)" (( "(") (binary_expression "bVar8 == (bool)cVar3" (identifier "bVar8") (== "==") (cast_expression "(bool)cVar3" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "cVar3"))) () ")")) (&& "&&") (parenthesized_expression "(param_5 == plVar4[7])" (( "(") (binary_expression "param_5 == plVar4[7]" (identifier "param_5") (== "==") (subscript_expression "plVar4[7]" (identifier "plVar4") ([ "[") (number_literal "7") (] "]"))) () ")"))) () ")")) (compound_statement "{\n      if (*(code **)(*plVar4 + 0x18) == FUN_00185200) {\n        uVar5 = plVar4[6];\n      }\n      else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }\n      if (param_6 == uVar5) {\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }\n    }" ({ "{") (if_statement "if (*(code **)(*plVar4 + 0x18) == FUN_00185200) {\n        uVar5 = plVar4[6];\n      }\n      else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }" (if "if") (parenthesized_expression "(*(code **)(*plVar4 + 0x18) == FUN_00185200)" (( "(") (binary_expression "*(code **)(*plVar4 + 0x18) == FUN_00185200" (pointer_expression "*(code **)(*plVar4 + 0x18)" (* "*") (cast_expression "(code **)(*plVar4 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar4 + 0x18)" (( "(") (binary_expression "*plVar4 + 0x18" (pointer_expression "*plVar4" (* "*") (identifier "plVar4")) (+ "+") (number_literal "0x18")) () ")")))) (== "==") (identifier "FUN_00185200")) () ")")) (compound_statement "{\n        uVar5 = plVar4[6];\n      }" ({ "{") (expression_statement "uVar5 = plVar4[6];" (assignment_expression "uVar5 = plVar4[6]" (identifier "uVar5") (= "=") (subscript_expression "plVar4[6]" (identifier "plVar4") ([ "[") (number_literal "6") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }" (else "else") (compound_statement "{\n        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);\n      }" ({ "{") (expression_statement "uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);" (assignment_expression "uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4)" (identifier "uVar5") (= "=") (call_expression "(**(code **)(*plVar4 + 0x18))(plVar4)" (parenthesized_expression "(**(code **)(*plVar4 + 0x18))" (( "(") (pointer_expression "**(code **)(*plVar4 + 0x18)" (* "*") (pointer_expression "*(code **)(*plVar4 + 0x18)" (* "*") (cast_expression "(code **)(*plVar4 + 0x18)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar4 + 0x18)" (( "(") (binary_expression "*plVar4 + 0x18" (pointer_expression "*plVar4" (* "*") (identifier "plVar4")) (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (argument_list "(plVar4)" (( "(") (identifier "plVar4") () ")")))) (; ";")) (} "}")))) (if_statement "if (param_6 == uVar5) {\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }" (if "if") (parenthesized_expression "(param_6 == uVar5)" (( "(") (binary_expression "param_6 == uVar5" (identifier "param_6") (== "==") (identifier "uVar5")) () ")")) (compound_statement "{\n        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);\n        return uVar5;\n      }" ({ "{") (expression_statement "uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);" (assignment_expression "uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3)" (identifier "uVar5") (= "=") (call_expression "(**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3)" (parenthesized_expression "(**(code **)(*plVar4 + 0xa8))" (( "(") (pointer_expression "**(code **)(*plVar4 + 0xa8)" (* "*") (pointer_expression "*(code **)(*plVar4 + 0xa8)" (* "*") (cast_expression "(code **)(*plVar4 + 0xa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar4 + 0xa8)" (( "(") (binary_expression "*plVar4 + 0xa8" (pointer_expression "*plVar4" (* "*") (identifier "plVar4")) (+ "+") (number_literal "0xa8")) () ")"))))) () ")")) (argument_list "(plVar4,param_2,param_3)" (( "(") (identifier "plVar4") (, ",") (identifier "param_2") (, ",") (identifier "param_3") () ")")))) (; ";")) (return_statement "return uVar5;" (return "return") (identifier "uVar5") (; ";")) (} "}"))) (} "}"))) (expression_statement "FUN_0017c650("../../gold/output.cc",0xab5,"add_merge_input_section");" (call_expression "FUN_0017c650("../../gold/output.cc",0xab5,"add_merge_input_section")" (identifier "FUN_0017c650") (argument_list "("../../gold/output.cc",0xab5,"add_merge_input_section")" (( "(") (string_literal ""../../gold/output.cc"" (" """) (string_content "../../gold/output.cc") (" """)) (, ",") (number_literal "0xab5") (, ",") (string_literal ""add_merge_input_section"" (" """) (string_content "add_merge_input_section") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_4 == 0) {\n    plVar6 = (long *)FUN_002d9490(0xf8);\n    plVar6[1] = 0;\n    plVar6[2] = 0;\n    plVar6[3] = -1;\n    *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n    *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n    uVar2 = DAT_00377cb4;\n    plVar6[0xb] = (long)(plVar6 + 0x11);\n    *plVar6 = (long)&PTR_FUN_00438220;\n    plVar4 = plVar6 + 0x1e;\n    *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n    plVar6[5] = 0;\n    plVar6[6] = param_6;\n    plVar6[7] = param_5;\n    *(undefined1 *)(plVar6 + 8) = 0;\n    plVar6[9] = 0;\n    plVar6[0x11] = 0;\n    plVar6[0xc] = 1;\n    plVar6[0xd] = 0;\n    plVar6[0xe] = 0;\n    *(undefined4 *)(plVar6 + 0xf) = uVar2;\n    plVar6[0x10] = 0;\n    plVar6[0x12] = 0;\n    plVar6[0x13] = 0;\n    plVar6[0x14] = 0;\n    plVar6[0x15] = 0;\n    plVar6[0x16] = (long)plVar6;\n    plVar6[0x17] = (long)plVar6;\n    plVar6[0x18] = (long)plVar4;\n    plVar6[0x19] = 1;\n    plVar6[0x1a] = 0;\n    plVar6[0x1b] = 0;\n    *(undefined4 *)(plVar6 + 0x1c) = uVar2;\n    plVar6[0x1d] = 0;\n    plVar6[0x1e] = 0;\n                    \n    uVar5 = FUN_00319030(plVar6 + 0x1c,0x80);\n    if ((ulong)plVar6[0x19] < uVar5) {\n      if (uVar5 == 1) {\n        plVar6[0x1e] = 0;\n      }\n      else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }\n      plVar6[0x18] = (long)plVar4;\n      plVar6[0x19] = uVar5;\n    }\n  }\n  else {\n    if (param_5 == 2) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435d30;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 2;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b900(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    *(undefined1 *)(plVar6 + 0x21) = 0;\n    plVar6[0x22] = 0;\n  }" (if "if") (parenthesized_expression "(param_4 == 0)" (( "(") (binary_expression "param_4 == 0" (identifier "param_4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    plVar6 = (long *)FUN_002d9490(0xf8);\n    plVar6[1] = 0;\n    plVar6[2] = 0;\n    plVar6[3] = -1;\n    *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n    *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n    uVar2 = DAT_00377cb4;\n    plVar6[0xb] = (long)(plVar6 + 0x11);\n    *plVar6 = (long)&PTR_FUN_00438220;\n    plVar4 = plVar6 + 0x1e;\n    *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n    plVar6[5] = 0;\n    plVar6[6] = param_6;\n    plVar6[7] = param_5;\n    *(undefined1 *)(plVar6 + 8) = 0;\n    plVar6[9] = 0;\n    plVar6[0x11] = 0;\n    plVar6[0xc] = 1;\n    plVar6[0xd] = 0;\n    plVar6[0xe] = 0;\n    *(undefined4 *)(plVar6 + 0xf) = uVar2;\n    plVar6[0x10] = 0;\n    plVar6[0x12] = 0;\n    plVar6[0x13] = 0;\n    plVar6[0x14] = 0;\n    plVar6[0x15] = 0;\n    plVar6[0x16] = (long)plVar6;\n    plVar6[0x17] = (long)plVar6;\n    plVar6[0x18] = (long)plVar4;\n    plVar6[0x19] = 1;\n    plVar6[0x1a] = 0;\n    plVar6[0x1b] = 0;\n    *(undefined4 *)(plVar6 + 0x1c) = uVar2;\n    plVar6[0x1d] = 0;\n    plVar6[0x1e] = 0;\n                    \n    uVar5 = FUN_00319030(plVar6 + 0x1c,0x80);\n    if ((ulong)plVar6[0x19] < uVar5) {\n      if (uVar5 == 1) {\n        plVar6[0x1e] = 0;\n      }\n      else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }\n      plVar6[0x18] = (long)plVar4;\n      plVar6[0x19] = uVar5;\n    }\n  }" ({ "{") (expression_statement "plVar6 = (long *)FUN_002d9490(0xf8);" (assignment_expression "plVar6 = (long *)FUN_002d9490(0xf8)" (identifier "plVar6") (= "=") (cast_expression "(long *)FUN_002d9490(0xf8)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002d9490(0xf8)" (identifier "FUN_002d9490") (argument_list "(0xf8)" (( "(") (number_literal "0xf8") () ")"))))) (; ";")) (expression_statement "plVar6[1] = 0;" (assignment_expression "plVar6[1] = 0" (subscript_expression "plVar6[1]" (identifier "plVar6") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[2] = 0;" (assignment_expression "plVar6[2] = 0" (subscript_expression "plVar6[2]" (identifier "plVar6") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[3] = -1;" (assignment_expression "plVar6[3] = -1" (subscript_expression "plVar6[3]" (identifier "plVar6") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "*(undefined4 *)(plVar6 + 10) = 0xffffffff;" (assignment_expression "*(undefined4 *)(plVar6 + 10) = 0xffffffff" (pointer_expression "*(undefined4 *)(plVar6 + 10)" (* "*") (cast_expression "(undefined4 *)(plVar6 + 10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 10)" (( "(") (binary_expression "plVar6 + 10" (identifier "plVar6") (+ "+") (number_literal "10")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "*(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;" (assignment_expression "*(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0" (pointer_expression "*(undefined1 (*) [16])(plVar6 + 0xf)" (* "*") (cast_expression "(undefined1 (*) [16])(plVar6 + 0xf)" (( "(") (type_descriptor "undefined1 (*) [16]" (type_identifier "undefined1") (abstract_array_declarator "(*) [16]" (abstract_parenthesized_declarator "(*)" (( "(") (abstract_pointer_declarator "*" (* "*")) () ")")) ([ "[") (number_literal "16") (] "]"))) () ")") (parenthesized_expression "(plVar6 + 0xf)" (( "(") (binary_expression "plVar6 + 0xf" (identifier "plVar6") (+ "+") (number_literal "0xf")) () ")")))) (= "=") (cast_expression "(undefined1  [16])0x0" (( "(") (type_descriptor "undefined1  [16]" (type_identifier "undefined1") (abstract_array_declarator "[16]" ([ "[") (number_literal "16") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uVar2 = DAT_00377cb4;" (assignment_expression "uVar2 = DAT_00377cb4" (identifier "uVar2") (= "=") (identifier "DAT_00377cb4")) (; ";")) (expression_statement "plVar6[0xb] = (long)(plVar6 + 0x11);" (assignment_expression "plVar6[0xb] = (long)(plVar6 + 0x11)" (subscript_expression "plVar6[0xb]" (identifier "plVar6") ([ "[") (number_literal "0xb") (] "]")) (= "=") (cast_expression "(long)(plVar6 + 0x11)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "(plVar6 + 0x11)" (( "(") (binary_expression "plVar6 + 0x11" (identifier "plVar6") (+ "+") (number_literal "0x11")) () ")")))) (; ";")) (expression_statement "*plVar6 = (long)&PTR_FUN_00438220;" (assignment_expression "*plVar6 = (long)&PTR_FUN_00438220" (pointer_expression "*plVar6" (* "*") (identifier "plVar6")) (= "=") (cast_expression "(long)&PTR_FUN_00438220" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&PTR_FUN_00438220" (& "&") (identifier "PTR_FUN_00438220")))) (; ";")) (expression_statement "plVar4 = plVar6 + 0x1e;" (assignment_expression "plVar4 = plVar6 + 0x1e" (identifier "plVar4") (= "=") (binary_expression "plVar6 + 0x1e" (identifier "plVar6") (+ "+") (number_literal "0x1e"))) (; ";")) (expression_statement "*(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;" (assignment_expression "*(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar6 + 4)" (* "*") (cast_expression "(byte *)(plVar6 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 4)" (( "(") (binary_expression "plVar6 + 4" (identifier "plVar6") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(byte *)(plVar6 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar6 + 4)" (* "*") (cast_expression "(byte *)(plVar6 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 4)" (( "(") (binary_expression "plVar6 + 4" (identifier "plVar6") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "0xe0"))) (; ";")) (expression_statement "plVar6[5] = 0;" (assignment_expression "plVar6[5] = 0" (subscript_expression "plVar6[5]" (identifier "plVar6") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[6] = param_6;" (assignment_expression "plVar6[6] = param_6" (subscript_expression "plVar6[6]" (identifier "plVar6") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "param_6")) (; ";")) (expression_statement "plVar6[7] = param_5;" (assignment_expression "plVar6[7] = param_5" (subscript_expression "plVar6[7]" (identifier "plVar6") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "param_5")) (; ";")) (expression_statement "*(undefined1 *)(plVar6 + 8) = 0;" (assignment_expression "*(undefined1 *)(plVar6 + 8) = 0" (pointer_expression "*(undefined1 *)(plVar6 + 8)" (* "*") (cast_expression "(undefined1 *)(plVar6 + 8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 8)" (( "(") (binary_expression "plVar6 + 8" (identifier "plVar6") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[9] = 0;" (assignment_expression "plVar6[9] = 0" (subscript_expression "plVar6[9]" (identifier "plVar6") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0x11] = 0;" (assignment_expression "plVar6[0x11] = 0" (subscript_expression "plVar6[0x11]" (identifier "plVar6") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0xc] = 1;" (assignment_expression "plVar6[0xc] = 1" (subscript_expression "plVar6[0xc]" (identifier "plVar6") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "plVar6[0xd] = 0;" (assignment_expression "plVar6[0xd] = 0" (subscript_expression "plVar6[0xd]" (identifier "plVar6") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0xe] = 0;" (assignment_expression "plVar6[0xe] = 0" (subscript_expression "plVar6[0xe]" (identifier "plVar6") ([ "[") (number_literal "0xe") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(plVar6 + 0xf) = uVar2;" (assignment_expression "*(undefined4 *)(plVar6 + 0xf) = uVar2" (pointer_expression "*(undefined4 *)(plVar6 + 0xf)" (* "*") (cast_expression "(undefined4 *)(plVar6 + 0xf)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 0xf)" (( "(") (binary_expression "plVar6 + 0xf" (identifier "plVar6") (+ "+") (number_literal "0xf")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "plVar6[0x10] = 0;" (assignment_expression "plVar6[0x10] = 0" (subscript_expression "plVar6[0x10]" (identifier "plVar6") ([ "[") (number_literal "0x10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0x12] = 0;" (assignment_expression "plVar6[0x12] = 0" (subscript_expression "plVar6[0x12]" (identifier "plVar6") ([ "[") (number_literal "0x12") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0x13] = 0;" (assignment_expression "plVar6[0x13] = 0" (subscript_expression "plVar6[0x13]" (identifier "plVar6") ([ "[") (number_literal "0x13") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0x14] = 0;" (assignment_expression "plVar6[0x14] = 0" (subscript_expression "plVar6[0x14]" (identifier "plVar6") ([ "[") (number_literal "0x14") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0x15] = 0;" (assignment_expression "plVar6[0x15] = 0" (subscript_expression "plVar6[0x15]" (identifier "plVar6") ([ "[") (number_literal "0x15") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0x16] = (long)plVar6;" (assignment_expression "plVar6[0x16] = (long)plVar6" (subscript_expression "plVar6[0x16]" (identifier "plVar6") ([ "[") (number_literal "0x16") (] "]")) (= "=") (cast_expression "(long)plVar6" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar6"))) (; ";")) (expression_statement "plVar6[0x17] = (long)plVar6;" (assignment_expression "plVar6[0x17] = (long)plVar6" (subscript_expression "plVar6[0x17]" (identifier "plVar6") ([ "[") (number_literal "0x17") (] "]")) (= "=") (cast_expression "(long)plVar6" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar6"))) (; ";")) (expression_statement "plVar6[0x18] = (long)plVar4;" (assignment_expression "plVar6[0x18] = (long)plVar4" (subscript_expression "plVar6[0x18]" (identifier "plVar6") ([ "[") (number_literal "0x18") (] "]")) (= "=") (cast_expression "(long)plVar4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar4"))) (; ";")) (expression_statement "plVar6[0x19] = 1;" (assignment_expression "plVar6[0x19] = 1" (subscript_expression "plVar6[0x19]" (identifier "plVar6") ([ "[") (number_literal "0x19") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "plVar6[0x1a] = 0;" (assignment_expression "plVar6[0x1a] = 0" (subscript_expression "plVar6[0x1a]" (identifier "plVar6") ([ "[") (number_literal "0x1a") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0x1b] = 0;" (assignment_expression "plVar6[0x1b] = 0" (subscript_expression "plVar6[0x1b]" (identifier "plVar6") ([ "[") (number_literal "0x1b") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(plVar6 + 0x1c) = uVar2;" (assignment_expression "*(undefined4 *)(plVar6 + 0x1c) = uVar2" (pointer_expression "*(undefined4 *)(plVar6 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(plVar6 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 0x1c)" (( "(") (binary_expression "plVar6 + 0x1c" (identifier "plVar6") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "uVar2")) (; ";")) (expression_statement "plVar6[0x1d] = 0;" (assignment_expression "plVar6[0x1d] = 0" (subscript_expression "plVar6[0x1d]" (identifier "plVar6") ([ "[") (number_literal "0x1d") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0x1e] = 0;" (assignment_expression "plVar6[0x1e] = 0" (subscript_expression "plVar6[0x1e]" (identifier "plVar6") ([ "[") (number_literal "0x1e") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar5 = FUN_00319030(plVar6 + 0x1c,0x80);" (assignment_expression "uVar5 = FUN_00319030(plVar6 + 0x1c,0x80)" (identifier "uVar5") (= "=") (call_expression "FUN_00319030(plVar6 + 0x1c,0x80)" (identifier "FUN_00319030") (argument_list "(plVar6 + 0x1c,0x80)" (( "(") (binary_expression "plVar6 + 0x1c" (identifier "plVar6") (+ "+") (number_literal "0x1c")) (, ",") (number_literal "0x80") () ")")))) (; ";")) (if_statement "if ((ulong)plVar6[0x19] < uVar5) {\n      if (uVar5 == 1) {\n        plVar6[0x1e] = 0;\n      }\n      else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }\n      plVar6[0x18] = (long)plVar4;\n      plVar6[0x19] = uVar5;\n    }" (if "if") (parenthesized_expression "((ulong)plVar6[0x19] < uVar5)" (( "(") (binary_expression "(ulong)plVar6[0x19] < uVar5" (cast_expression "(ulong)plVar6[0x19]" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (subscript_expression "plVar6[0x19]" (identifier "plVar6") ([ "[") (number_literal "0x19") (] "]"))) (< "<") (identifier "uVar5")) () ")")) (compound_statement "{\n      if (uVar5 == 1) {\n        plVar6[0x1e] = 0;\n      }\n      else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }\n      plVar6[0x18] = (long)plVar4;\n      plVar6[0x19] = uVar5;\n    }" ({ "{") (if_statement "if (uVar5 == 1) {\n        plVar6[0x1e] = 0;\n      }\n      else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }" (if "if") (parenthesized_expression "(uVar5 == 1)" (( "(") (binary_expression "uVar5 == 1" (identifier "uVar5") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        plVar6[0x1e] = 0;\n      }" ({ "{") (expression_statement "plVar6[0x1e] = 0;" (assignment_expression "plVar6[0x1e] = 0" (subscript_expression "plVar6[0x1e]" (identifier "plVar6") ([ "[") (number_literal "0x1e") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }" (else "else") (compound_statement "{\n        plVar4 = (long *)FUN_001f4a30(uVar5);\n      }" ({ "{") (expression_statement "plVar4 = (long *)FUN_001f4a30(uVar5);" (assignment_expression "plVar4 = (long *)FUN_001f4a30(uVar5)" (identifier "plVar4") (= "=") (cast_expression "(long *)FUN_001f4a30(uVar5)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_001f4a30(uVar5)" (identifier "FUN_001f4a30") (argument_list "(uVar5)" (( "(") (identifier "uVar5") () ")"))))) (; ";")) (} "}")))) (expression_statement "plVar6[0x18] = (long)plVar4;" (assignment_expression "plVar6[0x18] = (long)plVar4" (subscript_expression "plVar6[0x18]" (identifier "plVar6") ([ "[") (number_literal "0x18") (] "]")) (= "=") (cast_expression "(long)plVar4" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "plVar4"))) (; ";")) (expression_statement "plVar6[0x19] = uVar5;" (assignment_expression "plVar6[0x19] = uVar5" (subscript_expression "plVar6[0x19]" (identifier "plVar6") ([ "[") (number_literal "0x19") (] "]")) (= "=") (identifier "uVar5")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    if (param_5 == 2) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435d30;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 2;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b900(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    *(undefined1 *)(plVar6 + 0x21) = 0;\n    plVar6[0x22] = 0;\n  }" (else "else") (compound_statement "{\n    if (param_5 == 2) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435d30;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 2;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b900(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    *(undefined1 *)(plVar6 + 0x21) = 0;\n    plVar6[0x22] = 0;\n  }" ({ "{") (if_statement "if (param_5 == 2) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435d30;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 2;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b900(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" (if "if") (parenthesized_expression "(param_5 == 2)" (( "(") (binary_expression "param_5 == 2" (identifier "param_5") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435d30;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 2;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b900(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" ({ "{") (expression_statement "plVar6 = (long *)FUN_002d9490(0x148);" (assignment_expression "plVar6 = (long *)FUN_002d9490(0x148)" (identifier "plVar6") (= "=") (cast_expression "(long *)FUN_002d9490(0x148)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002d9490(0x148)" (identifier "FUN_002d9490") (argument_list "(0x148)" (( "(") (number_literal "0x148") () ")"))))) (; ";")) (expression_statement "plVar6[1] = 0;" (assignment_expression "plVar6[1] = 0" (subscript_expression "plVar6[1]" (identifier "plVar6") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[2] = 0;" (assignment_expression "plVar6[2] = 0" (subscript_expression "plVar6[2]" (identifier "plVar6") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[3] = -1;" (assignment_expression "plVar6[3] = -1" (subscript_expression "plVar6[3]" (identifier "plVar6") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "*(undefined4 *)(plVar6 + 10) = 0xffffffff;" (assignment_expression "*(undefined4 *)(plVar6 + 10) = 0xffffffff" (pointer_expression "*(undefined4 *)(plVar6 + 10)" (* "*") (cast_expression "(undefined4 *)(plVar6 + 10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 10)" (( "(") (binary_expression "plVar6 + 10" (identifier "plVar6") (+ "+") (number_literal "10")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "plVar6[0xb] = (long)(plVar6 + 0x11);" (assignment_expression "plVar6[0xb] = (long)(plVar6 + 0x11)" (subscript_expression "plVar6[0xb]" (identifier "plVar6") ([ "[") (number_literal "0xb") (] "]")) (= "=") (cast_expression "(long)(plVar6 + 0x11)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "(plVar6 + 0x11)" (( "(") (binary_expression "plVar6 + 0x11" (identifier "plVar6") (+ "+") (number_literal "0x11")) () ")")))) (; ";")) (expression_statement "*(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;" (assignment_expression "*(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar6 + 4)" (* "*") (cast_expression "(byte *)(plVar6 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 4)" (( "(") (binary_expression "plVar6 + 4" (identifier "plVar6") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(byte *)(plVar6 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar6 + 4)" (* "*") (cast_expression "(byte *)(plVar6 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 4)" (( "(") (binary_expression "plVar6 + 4" (identifier "plVar6") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "0xe0"))) (; ";")) (expression_statement "*(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;" (assignment_expression "*(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0" (pointer_expression "*(undefined1 (*) [16])(plVar6 + 0xf)" (* "*") (cast_expression "(undefined1 (*) [16])(plVar6 + 0xf)" (( "(") (type_descriptor "undefined1 (*) [16]" (type_identifier "undefined1") (abstract_array_declarator "(*) [16]" (abstract_parenthesized_declarator "(*)" (( "(") (abstract_pointer_declarator "*" (* "*")) () ")")) ([ "[") (number_literal "16") (] "]"))) () ")") (parenthesized_expression "(plVar6 + 0xf)" (( "(") (binary_expression "plVar6 + 0xf" (identifier "plVar6") (+ "+") (number_literal "0xf")) () ")")))) (= "=") (cast_expression "(undefined1  [16])0x0" (( "(") (type_descriptor "undefined1  [16]" (type_identifier "undefined1") (abstract_array_declarator "[16]" ([ "[") (number_literal "16") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*plVar6 = (long)&PTR_FUN_00435d30;" (assignment_expression "*plVar6 = (long)&PTR_FUN_00435d30" (pointer_expression "*plVar6" (* "*") (identifier "plVar6")) (= "=") (cast_expression "(long)&PTR_FUN_00435d30" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&PTR_FUN_00435d30" (& "&") (identifier "PTR_FUN_00435d30")))) (; ";")) (expression_statement "plVar6[5] = 0;" (assignment_expression "plVar6[5] = 0" (subscript_expression "plVar6[5]" (identifier "plVar6") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[6] = param_6;" (assignment_expression "plVar6[6] = param_6" (subscript_expression "plVar6[6]" (identifier "plVar6") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "param_6")) (; ";")) (expression_statement "plVar6[7] = 2;" (assignment_expression "plVar6[7] = 2" (subscript_expression "plVar6[7]" (identifier "plVar6") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "2")) (; ";")) (expression_statement "*(undefined1 *)(plVar6 + 8) = 0;" (assignment_expression "*(undefined1 *)(plVar6 + 8) = 0" (pointer_expression "*(undefined1 *)(plVar6 + 8)" (* "*") (cast_expression "(undefined1 *)(plVar6 + 8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 8)" (( "(") (binary_expression "plVar6 + 8" (identifier "plVar6") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[9] = 0;" (assignment_expression "plVar6[9] = 0" (subscript_expression "plVar6[9]" (identifier "plVar6") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0x11] = 0;" (assignment_expression "plVar6[0x11] = 0" (subscript_expression "plVar6[0x11]" (identifier "plVar6") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0xc] = 1;" (assignment_expression "plVar6[0xc] = 1" (subscript_expression "plVar6[0xc]" (identifier "plVar6") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "plVar6[0xd] = 0;" (assignment_expression "plVar6[0xd] = 0" (subscript_expression "plVar6[0xd]" (identifier "plVar6") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0xe] = 0;" (assignment_expression "plVar6[0xe] = 0" (subscript_expression "plVar6[0xe]" (identifier "plVar6") ([ "[") (number_literal "0xe") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(plVar6 + 0xf) = 0x3f800000;" (assignment_expression "*(undefined4 *)(plVar6 + 0xf) = 0x3f800000" (pointer_expression "*(undefined4 *)(plVar6 + 0xf)" (* "*") (cast_expression "(undefined4 *)(plVar6 + 0xf)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 0xf)" (( "(") (binary_expression "plVar6 + 0xf" (identifier "plVar6") (+ "+") (number_literal "0xf")) () ")")))) (= "=") (number_literal "0x3f800000")) (; ";")) (expression_statement "plVar6[0x10] = 0;" (assignment_expression "plVar6[0x10] = 0" (subscript_expression "plVar6[0x10]" (identifier "plVar6") ([ "[") (number_literal "0x10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0026b900(plVar6 + 0x12,param_6);" (call_expression "FUN_0026b900(plVar6 + 0x12,param_6)" (identifier "FUN_0026b900") (argument_list "(plVar6 + 0x12,param_6)" (( "(") (binary_expression "plVar6 + 0x12" (identifier "plVar6") (+ "+") (number_literal "0x12")) (, ",") (identifier "param_6") () ")"))) (; ";")) (expression_statement "plVar6[0x24] = 0;" (assignment_expression "plVar6[0x24] = 0" (subscript_expression "plVar6[0x24]" (identifier "plVar6") ([ "[") (number_literal "0x24") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0x25] = 0;" (assignment_expression "plVar6[0x25] = 0" (subscript_expression "plVar6[0x25]" (identifier "plVar6") ([ "[") (number_literal "0x25") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0x26] = 0;" (assignment_expression "plVar6[0x26] = 0" (subscript_expression "plVar6[0x26]" (identifier "plVar6") ([ "[") (number_literal "0x26") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0x27] = 0;" (assignment_expression "plVar6[0x27] = 0" (subscript_expression "plVar6[0x27]" (identifier "plVar6") ([ "[") (number_literal "0x27") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0x28] = 0;" (assignment_expression "plVar6[0x28] = 0" (subscript_expression "plVar6[0x28]" (identifier "plVar6") ([ "[") (number_literal "0x28") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }" (if "if") (parenthesized_expression "((plVar6[0x15] != 0) || (plVar6[0x22] != 2))" (( "(") (binary_expression "(plVar6[0x15] != 0) || (plVar6[0x22] != 2)" (parenthesized_expression "(plVar6[0x15] != 0)" (( "(") (binary_expression "plVar6[0x15] != 0" (subscript_expression "plVar6[0x15]" (identifier "plVar6") ([ "[") (number_literal "0x15") (] "]")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(plVar6[0x22] != 2)" (( "(") (binary_expression "plVar6[0x22] != 2" (subscript_expression "plVar6[0x22]" (identifier "plVar6") ([ "[") (number_literal "0x22") (] "]")) (!= "!=") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }" ({ "{") (expression_statement "FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");" (call_expression "FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null")" (identifier "FUN_0017c650") (argument_list "("../../gold/stringpool.h",0xcc,"set_no_zero_null")" (( "(") (string_literal ""../../gold/stringpool.h"" (" """) (string_content "../../gold/stringpool.h") (" """)) (, ",") (number_literal "0xcc") (, ",") (string_literal ""set_no_zero_null"" (" """) (string_content "set_no_zero_null") (" """)) () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" (else "else") (if_statement "if (param_5 == 4) {\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }\n    else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" (if "if") (parenthesized_expression "(param_5 == 4)" (( "(") (binary_expression "param_5 == 4" (identifier "param_5") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435e18;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 4;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026bfb0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" ({ "{") (expression_statement "plVar6 = (long *)FUN_002d9490(0x148);" (assignment_expression "plVar6 = (long *)FUN_002d9490(0x148)" (identifier "plVar6") (= "=") (cast_expression "(long *)FUN_002d9490(0x148)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002d9490(0x148)" (identifier "FUN_002d9490") (argument_list "(0x148)" (( "(") (number_literal "0x148") () ")"))))) (; ";")) (expression_statement "plVar6[1] = 0;" (assignment_expression "plVar6[1] = 0" (subscript_expression "plVar6[1]" (identifier "plVar6") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[2] = 0;" (assignment_expression "plVar6[2] = 0" (subscript_expression "plVar6[2]" (identifier "plVar6") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[3] = -1;" (assignment_expression "plVar6[3] = -1" (subscript_expression "plVar6[3]" (identifier "plVar6") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "*(undefined4 *)(plVar6 + 10) = 0xffffffff;" (assignment_expression "*(undefined4 *)(plVar6 + 10) = 0xffffffff" (pointer_expression "*(undefined4 *)(plVar6 + 10)" (* "*") (cast_expression "(undefined4 *)(plVar6 + 10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 10)" (( "(") (binary_expression "plVar6 + 10" (identifier "plVar6") (+ "+") (number_literal "10")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "plVar6[0xb] = (long)(plVar6 + 0x11);" (assignment_expression "plVar6[0xb] = (long)(plVar6 + 0x11)" (subscript_expression "plVar6[0xb]" (identifier "plVar6") ([ "[") (number_literal "0xb") (] "]")) (= "=") (cast_expression "(long)(plVar6 + 0x11)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "(plVar6 + 0x11)" (( "(") (binary_expression "plVar6 + 0x11" (identifier "plVar6") (+ "+") (number_literal "0x11")) () ")")))) (; ";")) (expression_statement "*(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;" (assignment_expression "*(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar6 + 4)" (* "*") (cast_expression "(byte *)(plVar6 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 4)" (( "(") (binary_expression "plVar6 + 4" (identifier "plVar6") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(byte *)(plVar6 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar6 + 4)" (* "*") (cast_expression "(byte *)(plVar6 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 4)" (( "(") (binary_expression "plVar6 + 4" (identifier "plVar6") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "0xe0"))) (; ";")) (expression_statement "*(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;" (assignment_expression "*(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0" (pointer_expression "*(undefined1 (*) [16])(plVar6 + 0xf)" (* "*") (cast_expression "(undefined1 (*) [16])(plVar6 + 0xf)" (( "(") (type_descriptor "undefined1 (*) [16]" (type_identifier "undefined1") (abstract_array_declarator "(*) [16]" (abstract_parenthesized_declarator "(*)" (( "(") (abstract_pointer_declarator "*" (* "*")) () ")")) ([ "[") (number_literal "16") (] "]"))) () ")") (parenthesized_expression "(plVar6 + 0xf)" (( "(") (binary_expression "plVar6 + 0xf" (identifier "plVar6") (+ "+") (number_literal "0xf")) () ")")))) (= "=") (cast_expression "(undefined1  [16])0x0" (( "(") (type_descriptor "undefined1  [16]" (type_identifier "undefined1") (abstract_array_declarator "[16]" ([ "[") (number_literal "16") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*plVar6 = (long)&PTR_FUN_00435e18;" (assignment_expression "*plVar6 = (long)&PTR_FUN_00435e18" (pointer_expression "*plVar6" (* "*") (identifier "plVar6")) (= "=") (cast_expression "(long)&PTR_FUN_00435e18" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&PTR_FUN_00435e18" (& "&") (identifier "PTR_FUN_00435e18")))) (; ";")) (expression_statement "plVar6[5] = 0;" (assignment_expression "plVar6[5] = 0" (subscript_expression "plVar6[5]" (identifier "plVar6") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[6] = param_6;" (assignment_expression "plVar6[6] = param_6" (subscript_expression "plVar6[6]" (identifier "plVar6") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "param_6")) (; ";")) (expression_statement "plVar6[7] = 4;" (assignment_expression "plVar6[7] = 4" (subscript_expression "plVar6[7]" (identifier "plVar6") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "4")) (; ";")) (expression_statement "*(undefined1 *)(plVar6 + 8) = 0;" (assignment_expression "*(undefined1 *)(plVar6 + 8) = 0" (pointer_expression "*(undefined1 *)(plVar6 + 8)" (* "*") (cast_expression "(undefined1 *)(plVar6 + 8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 8)" (( "(") (binary_expression "plVar6 + 8" (identifier "plVar6") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[9] = 0;" (assignment_expression "plVar6[9] = 0" (subscript_expression "plVar6[9]" (identifier "plVar6") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0x11] = 0;" (assignment_expression "plVar6[0x11] = 0" (subscript_expression "plVar6[0x11]" (identifier "plVar6") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0xc] = 1;" (assignment_expression "plVar6[0xc] = 1" (subscript_expression "plVar6[0xc]" (identifier "plVar6") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "plVar6[0xd] = 0;" (assignment_expression "plVar6[0xd] = 0" (subscript_expression "plVar6[0xd]" (identifier "plVar6") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0xe] = 0;" (assignment_expression "plVar6[0xe] = 0" (subscript_expression "plVar6[0xe]" (identifier "plVar6") ([ "[") (number_literal "0xe") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(plVar6 + 0xf) = 0x3f800000;" (assignment_expression "*(undefined4 *)(plVar6 + 0xf) = 0x3f800000" (pointer_expression "*(undefined4 *)(plVar6 + 0xf)" (* "*") (cast_expression "(undefined4 *)(plVar6 + 0xf)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 0xf)" (( "(") (binary_expression "plVar6 + 0xf" (identifier "plVar6") (+ "+") (number_literal "0xf")) () ")")))) (= "=") (number_literal "0x3f800000")) (; ";")) (expression_statement "plVar6[0x10] = 0;" (assignment_expression "plVar6[0x10] = 0" (subscript_expression "plVar6[0x10]" (identifier "plVar6") ([ "[") (number_literal "0x10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0026bfb0(plVar6 + 0x12,param_6);" (call_expression "FUN_0026bfb0(plVar6 + 0x12,param_6)" (identifier "FUN_0026bfb0") (argument_list "(plVar6 + 0x12,param_6)" (( "(") (binary_expression "plVar6 + 0x12" (identifier "plVar6") (+ "+") (number_literal "0x12")) (, ",") (identifier "param_6") () ")"))) (; ";")) (expression_statement "plVar6[0x24] = 0;" (assignment_expression "plVar6[0x24] = 0" (subscript_expression "plVar6[0x24]" (identifier "plVar6") ([ "[") (number_literal "0x24") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0x25] = 0;" (assignment_expression "plVar6[0x25] = 0" (subscript_expression "plVar6[0x25]" (identifier "plVar6") ([ "[") (number_literal "0x25") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0x26] = 0;" (assignment_expression "plVar6[0x26] = 0" (subscript_expression "plVar6[0x26]" (identifier "plVar6") ([ "[") (number_literal "0x26") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0x27] = 0;" (assignment_expression "plVar6[0x27] = 0" (subscript_expression "plVar6[0x27]" (identifier "plVar6") ([ "[") (number_literal "0x27") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0x28] = 0;" (assignment_expression "plVar6[0x28] = 0" (subscript_expression "plVar6[0x28]" (identifier "plVar6") ([ "[") (number_literal "0x28") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }" (if "if") (parenthesized_expression "((plVar6[0x15] != 0) || (plVar6[0x22] != 4))" (( "(") (binary_expression "(plVar6[0x15] != 0) || (plVar6[0x22] != 4)" (parenthesized_expression "(plVar6[0x15] != 0)" (( "(") (binary_expression "plVar6[0x15] != 0" (subscript_expression "plVar6[0x15]" (identifier "plVar6") ([ "[") (number_literal "0x15") (] "]")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(plVar6[0x22] != 4)" (( "(") (binary_expression "plVar6[0x22] != 4" (subscript_expression "plVar6[0x22]" (identifier "plVar6") ([ "[") (number_literal "0x22") (] "]")) (!= "!=") (number_literal "4")) () ")"))) () ")")) (compound_statement "{\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }" ({ "{") (expression_statement "FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");" (call_expression "FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null")" (identifier "FUN_0017c650") (argument_list "("../../gold/stringpool.h",0xcc,"set_no_zero_null")" (( "(") (string_literal ""../../gold/stringpool.h"" (" """) (string_content "../../gold/stringpool.h") (" """)) (, ",") (number_literal "0xcc") (, ",") (string_literal ""set_no_zero_null"" (" """) (string_content "set_no_zero_null") (" """)) () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" (else "else") (compound_statement "{\n      if (param_5 != 1) {\n        return 0;\n      }\n      plVar6 = (long *)FUN_002d9490(0x148);\n      plVar6[1] = 0;\n      plVar6[2] = 0;\n      plVar6[3] = -1;\n      *(undefined4 *)(plVar6 + 10) = 0xffffffff;\n      plVar6[0xb] = (long)(plVar6 + 0x11);\n      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;\n      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;\n      *plVar6 = (long)&PTR_FUN_00435c48;\n      plVar6[5] = 0;\n      plVar6[6] = param_6;\n      plVar6[7] = 1;\n      *(undefined1 *)(plVar6 + 8) = 0;\n      plVar6[9] = 0;\n      plVar6[0x11] = 0;\n      plVar6[0xc] = 1;\n      plVar6[0xd] = 0;\n      plVar6[0xe] = 0;\n      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;\n      plVar6[0x10] = 0;\n                    \n      FUN_0026b2b0(plVar6 + 0x12,param_6);\n      plVar6[0x24] = 0;\n      plVar6[0x25] = 0;\n      plVar6[0x26] = 0;\n      plVar6[0x27] = 0;\n      plVar6[0x28] = 0;\n      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }\n    }" ({ "{") (if_statement "if (param_5 != 1) {\n        return 0;\n      }" (if "if") (parenthesized_expression "(param_5 != 1)" (( "(") (binary_expression "param_5 != 1" (identifier "param_5") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n        return 0;\n      }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "plVar6 = (long *)FUN_002d9490(0x148);" (assignment_expression "plVar6 = (long *)FUN_002d9490(0x148)" (identifier "plVar6") (= "=") (cast_expression "(long *)FUN_002d9490(0x148)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_002d9490(0x148)" (identifier "FUN_002d9490") (argument_list "(0x148)" (( "(") (number_literal "0x148") () ")"))))) (; ";")) (expression_statement "plVar6[1] = 0;" (assignment_expression "plVar6[1] = 0" (subscript_expression "plVar6[1]" (identifier "plVar6") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[2] = 0;" (assignment_expression "plVar6[2] = 0" (subscript_expression "plVar6[2]" (identifier "plVar6") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[3] = -1;" (assignment_expression "plVar6[3] = -1" (subscript_expression "plVar6[3]" (identifier "plVar6") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "-1")) (; ";")) (expression_statement "*(undefined4 *)(plVar6 + 10) = 0xffffffff;" (assignment_expression "*(undefined4 *)(plVar6 + 10) = 0xffffffff" (pointer_expression "*(undefined4 *)(plVar6 + 10)" (* "*") (cast_expression "(undefined4 *)(plVar6 + 10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 10)" (( "(") (binary_expression "plVar6 + 10" (identifier "plVar6") (+ "+") (number_literal "10")) () ")")))) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "plVar6[0xb] = (long)(plVar6 + 0x11);" (assignment_expression "plVar6[0xb] = (long)(plVar6 + 0x11)" (subscript_expression "plVar6[0xb]" (identifier "plVar6") ([ "[") (number_literal "0xb") (] "]")) (= "=") (cast_expression "(long)(plVar6 + 0x11)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "(plVar6 + 0x11)" (( "(") (binary_expression "plVar6 + 0x11" (identifier "plVar6") (+ "+") (number_literal "0x11")) () ")")))) (; ";")) (expression_statement "*(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;" (assignment_expression "*(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar6 + 4)" (* "*") (cast_expression "(byte *)(plVar6 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 4)" (( "(") (binary_expression "plVar6 + 4" (identifier "plVar6") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "*(byte *)(plVar6 + 4) & 0xe0" (pointer_expression "*(byte *)(plVar6 + 4)" (* "*") (cast_expression "(byte *)(plVar6 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 4)" (( "(") (binary_expression "plVar6 + 4" (identifier "plVar6") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "0xe0"))) (; ";")) (expression_statement "*(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;" (assignment_expression "*(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0" (pointer_expression "*(undefined1 (*) [16])(plVar6 + 0xf)" (* "*") (cast_expression "(undefined1 (*) [16])(plVar6 + 0xf)" (( "(") (type_descriptor "undefined1 (*) [16]" (type_identifier "undefined1") (abstract_array_declarator "(*) [16]" (abstract_parenthesized_declarator "(*)" (( "(") (abstract_pointer_declarator "*" (* "*")) () ")")) ([ "[") (number_literal "16") (] "]"))) () ")") (parenthesized_expression "(plVar6 + 0xf)" (( "(") (binary_expression "plVar6 + 0xf" (identifier "plVar6") (+ "+") (number_literal "0xf")) () ")")))) (= "=") (cast_expression "(undefined1  [16])0x0" (( "(") (type_descriptor "undefined1  [16]" (type_identifier "undefined1") (abstract_array_declarator "[16]" ([ "[") (number_literal "16") (] "]"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*plVar6 = (long)&PTR_FUN_00435c48;" (assignment_expression "*plVar6 = (long)&PTR_FUN_00435c48" (pointer_expression "*plVar6" (* "*") (identifier "plVar6")) (= "=") (cast_expression "(long)&PTR_FUN_00435c48" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (pointer_expression "&PTR_FUN_00435c48" (& "&") (identifier "PTR_FUN_00435c48")))) (; ";")) (expression_statement "plVar6[5] = 0;" (assignment_expression "plVar6[5] = 0" (subscript_expression "plVar6[5]" (identifier "plVar6") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[6] = param_6;" (assignment_expression "plVar6[6] = param_6" (subscript_expression "plVar6[6]" (identifier "plVar6") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "param_6")) (; ";")) (expression_statement "plVar6[7] = 1;" (assignment_expression "plVar6[7] = 1" (subscript_expression "plVar6[7]" (identifier "plVar6") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined1 *)(plVar6 + 8) = 0;" (assignment_expression "*(undefined1 *)(plVar6 + 8) = 0" (pointer_expression "*(undefined1 *)(plVar6 + 8)" (* "*") (cast_expression "(undefined1 *)(plVar6 + 8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 8)" (( "(") (binary_expression "plVar6 + 8" (identifier "plVar6") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[9] = 0;" (assignment_expression "plVar6[9] = 0" (subscript_expression "plVar6[9]" (identifier "plVar6") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0x11] = 0;" (assignment_expression "plVar6[0x11] = 0" (subscript_expression "plVar6[0x11]" (identifier "plVar6") ([ "[") (number_literal "0x11") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0xc] = 1;" (assignment_expression "plVar6[0xc] = 1" (subscript_expression "plVar6[0xc]" (identifier "plVar6") ([ "[") (number_literal "0xc") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "plVar6[0xd] = 0;" (assignment_expression "plVar6[0xd] = 0" (subscript_expression "plVar6[0xd]" (identifier "plVar6") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0xe] = 0;" (assignment_expression "plVar6[0xe] = 0" (subscript_expression "plVar6[0xe]" (identifier "plVar6") ([ "[") (number_literal "0xe") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(plVar6 + 0xf) = 0x3f800000;" (assignment_expression "*(undefined4 *)(plVar6 + 0xf) = 0x3f800000" (pointer_expression "*(undefined4 *)(plVar6 + 0xf)" (* "*") (cast_expression "(undefined4 *)(plVar6 + 0xf)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 0xf)" (( "(") (binary_expression "plVar6 + 0xf" (identifier "plVar6") (+ "+") (number_literal "0xf")) () ")")))) (= "=") (number_literal "0x3f800000")) (; ";")) (expression_statement "plVar6[0x10] = 0;" (assignment_expression "plVar6[0x10] = 0" (subscript_expression "plVar6[0x10]" (identifier "plVar6") ([ "[") (number_literal "0x10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0026b2b0(plVar6 + 0x12,param_6);" (call_expression "FUN_0026b2b0(plVar6 + 0x12,param_6)" (identifier "FUN_0026b2b0") (argument_list "(plVar6 + 0x12,param_6)" (( "(") (binary_expression "plVar6 + 0x12" (identifier "plVar6") (+ "+") (number_literal "0x12")) (, ",") (identifier "param_6") () ")"))) (; ";")) (expression_statement "plVar6[0x24] = 0;" (assignment_expression "plVar6[0x24] = 0" (subscript_expression "plVar6[0x24]" (identifier "plVar6") ([ "[") (number_literal "0x24") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0x25] = 0;" (assignment_expression "plVar6[0x25] = 0" (subscript_expression "plVar6[0x25]" (identifier "plVar6") ([ "[") (number_literal "0x25") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0x26] = 0;" (assignment_expression "plVar6[0x26] = 0" (subscript_expression "plVar6[0x26]" (identifier "plVar6") ([ "[") (number_literal "0x26") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0x27] = 0;" (assignment_expression "plVar6[0x27] = 0" (subscript_expression "plVar6[0x27]" (identifier "plVar6") ([ "[") (number_literal "0x27") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0x28] = 0;" (assignment_expression "plVar6[0x28] = 0" (subscript_expression "plVar6[0x28]" (identifier "plVar6") ([ "[") (number_literal "0x28") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }" (if "if") (parenthesized_expression "((plVar6[0x15] != 0) || (plVar6[0x22] != 1))" (( "(") (binary_expression "(plVar6[0x15] != 0) || (plVar6[0x22] != 1)" (parenthesized_expression "(plVar6[0x15] != 0)" (( "(") (binary_expression "plVar6[0x15] != 0" (subscript_expression "plVar6[0x15]" (identifier "plVar6") ([ "[") (number_literal "0x15") (] "]")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(plVar6[0x22] != 1)" (( "(") (binary_expression "plVar6[0x22] != 1" (subscript_expression "plVar6[0x22]" (identifier "plVar6") ([ "[") (number_literal "0x22") (] "]")) (!= "!=") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n                    \n                    \n        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");\n      }" ({ "{") (expression_statement "FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");" (call_expression "FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null")" (identifier "FUN_0017c650") (argument_list "("../../gold/stringpool.h",0xcc,"set_no_zero_null")" (( "(") (string_literal ""../../gold/stringpool.h"" (" """) (string_content "../../gold/stringpool.h") (" """)) (, ",") (number_literal "0xcc") (, ",") (string_literal ""set_no_zero_null"" (" """) (string_content "set_no_zero_null") (" """)) () ")"))) (; ";")) (} "}"))) (} "}")))))) (expression_statement "*(undefined1 *)(plVar6 + 0x21) = 0;" (assignment_expression "*(undefined1 *)(plVar6 + 0x21) = 0" (pointer_expression "*(undefined1 *)(plVar6 + 0x21)" (* "*") (cast_expression "(undefined1 *)(plVar6 + 0x21)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(plVar6 + 0x21)" (( "(") (binary_expression "plVar6 + 0x21" (identifier "plVar6") (+ "+") (number_literal "0x21")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar6[0x22] = 0;" (assignment_expression "plVar6[0x22] = 0" (subscript_expression "plVar6[0x22]" (identifier "plVar6") ([ "[") (number_literal "0x22") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "lVar7 = *plVar6;" (assignment_expression "lVar7 = *plVar6" (identifier "lVar7") (= "=") (pointer_expression "*plVar6" (* "*") (identifier "plVar6"))) (; ";")) (if_statement "if (param_7 != '\0') {\n    (**(code **)(lVar7 + 0xd0))(plVar6);\n    lVar7 = *plVar6;\n  }" (if "if") (parenthesized_expression "(param_7 != '\0')" (( "(") (binary_expression "param_7 != '\0'" (identifier "param_7") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    (**(code **)(lVar7 + 0xd0))(plVar6);\n    lVar7 = *plVar6;\n  }" ({ "{") (expression_statement "(**(code **)(lVar7 + 0xd0))(plVar6);" (call_expression "(**(code **)(lVar7 + 0xd0))(plVar6)" (parenthesized_expression "(**(code **)(lVar7 + 0xd0))" (( "(") (pointer_expression "**(code **)(lVar7 + 0xd0)" (* "*") (pointer_expression "*(code **)(lVar7 + 0xd0)" (* "*") (cast_expression "(code **)(lVar7 + 0xd0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar7 + 0xd0)" (( "(") (binary_expression "lVar7 + 0xd0" (identifier "lVar7") (+ "+") (number_literal "0xd0")) () ")"))))) () ")")) (argument_list "(plVar6)" (( "(") (identifier "plVar6") () ")"))) (; ";")) (expression_statement "lVar7 = *plVar6;" (assignment_expression "lVar7 = *plVar6" (identifier "lVar7") (= "=") (pointer_expression "*plVar6" (* "*") (identifier "plVar6"))) (; ";")) (} "}"))) (expression_statement "cVar3 = (**(code **)(lVar7 + 0xa8))(plVar6,param_2,param_3);" (assignment_expression "cVar3 = (**(code **)(lVar7 + 0xa8))(plVar6,param_2,param_3)" (identifier "cVar3") (= "=") (call_expression "(**(code **)(lVar7 + 0xa8))(plVar6,param_2,param_3)" (parenthesized_expression "(**(code **)(lVar7 + 0xa8))" (( "(") (pointer_expression "**(code **)(lVar7 + 0xa8)" (* "*") (pointer_expression "*(code **)(lVar7 + 0xa8)" (* "*") (cast_expression "(code **)(lVar7 + 0xa8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(lVar7 + 0xa8)" (( "(") (binary_expression "lVar7 + 0xa8" (identifier "lVar7") (+ "+") (number_literal "0xa8")) () ")"))))) () ")")) (argument_list "(plVar6,param_2,param_3)" (( "(") (identifier "plVar6") (, ",") (identifier "param_2") (, ",") (identifier "param_3") () ")")))) (; ";")) (if_statement "if (cVar3 != '\0') {\n    local_58 = (ulong)((param_4 == 0) - 3);\n    local_40 = (long *)((ulong)local_40._4_4_ << 0x20);\n    uStack_50 = param_5;\n    local_48 = plVar6;\n    FUN_001f9b40(param_1,&local_58);\n    local_58 = CONCAT71(uStack_77,local_78);\n    local_48 = (long *)local_68;\n    uStack_50 = uStack_70;\n    local_40 = plVar6;\n    FUN_00226860(*(long *)(param_1 + 0xf0) + 8,&local_58);\n    if ((char)extraout_RDX != '\0') {\n      return extraout_RDX & 0xffffffff;\n    }\n                    \n    FUN_0017c650("../../gold/output.h",0xc22,"add_merge_section");\n  }" (if "if") (parenthesized_expression "(cVar3 != '\0')" (( "(") (binary_expression "cVar3 != '\0'" (identifier "cVar3") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    local_58 = (ulong)((param_4 == 0) - 3);\n    local_40 = (long *)((ulong)local_40._4_4_ << 0x20);\n    uStack_50 = param_5;\n    local_48 = plVar6;\n    FUN_001f9b40(param_1,&local_58);\n    local_58 = CONCAT71(uStack_77,local_78);\n    local_48 = (long *)local_68;\n    uStack_50 = uStack_70;\n    local_40 = plVar6;\n    FUN_00226860(*(long *)(param_1 + 0xf0) + 8,&local_58);\n    if ((char)extraout_RDX != '\0') {\n      return extraout_RDX & 0xffffffff;\n    }\n                    \n    FUN_0017c650("../../gold/output.h",0xc22,"add_merge_section");\n  }" ({ "{") (expression_statement "local_58 = (ulong)((param_4 == 0) - 3);" (assignment_expression "local_58 = (ulong)((param_4 == 0) - 3)" (identifier "local_58") (= "=") (call_expression "(ulong)((param_4 == 0) - 3)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "((param_4 == 0) - 3)" (( "(") (binary_expression "(param_4 == 0) - 3" (parenthesized_expression "(param_4 == 0)" (( "(") (binary_expression "param_4 == 0" (identifier "param_4") (== "==") (number_literal "0")) () ")")) (- "-") (number_literal "3")) () ")")))) (; ";")) (expression_statement "local_40 = (long *)((ulong)local_40._4_4_ << 0x20);" (assignment_expression "local_40 = (long *)((ulong)local_40._4_4_ << 0x20)" (identifier "local_40") (= "=") (cast_expression "(long *)((ulong)local_40._4_4_ << 0x20)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulong)local_40._4_4_ << 0x20)" (( "(") (binary_expression "(ulong)local_40._4_4_ << 0x20" (cast_expression "(ulong)local_40._4_4_" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (field_expression "local_40._4_4_" (identifier "local_40") (. ".") (field_identifier "_4_4_"))) (<< "<<") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "uStack_50 = param_5;" (assignment_expression "uStack_50 = param_5" (identifier "uStack_50") (= "=") (identifier "param_5")) (; ";")) (expression_statement "local_48 = plVar6;" (assignment_expression "local_48 = plVar6" (identifier "local_48") (= "=") (identifier "plVar6")) (; ";")) (expression_statement "FUN_001f9b40(param_1,&local_58);" (call_expression "FUN_001f9b40(param_1,&local_58)" (identifier "FUN_001f9b40") (argument_list "(param_1,&local_58)" (( "(") (identifier "param_1") (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (expression_statement "local_58 = CONCAT71(uStack_77,local_78);" (assignment_expression "local_58 = CONCAT71(uStack_77,local_78)" (identifier "local_58") (= "=") (call_expression "CONCAT71(uStack_77,local_78)" (identifier "CONCAT71") (argument_list "(uStack_77,local_78)" (( "(") (identifier "uStack_77") (, ",") (identifier "local_78") () ")")))) (; ";")) (expression_statement "local_48 = (long *)local_68;" (assignment_expression "local_48 = (long *)local_68" (identifier "local_48") (= "=") (cast_expression "(long *)local_68" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_68"))) (; ";")) (expression_statement "uStack_50 = uStack_70;" (assignment_expression "uStack_50 = uStack_70" (identifier "uStack_50") (= "=") (identifier "uStack_70")) (; ";")) (expression_statement "local_40 = plVar6;" (assignment_expression "local_40 = plVar6" (identifier "local_40") (= "=") (identifier "plVar6")) (; ";")) (expression_statement "FUN_00226860(*(long *)(param_1 + 0xf0) + 8,&local_58);" (call_expression "FUN_00226860(*(long *)(param_1 + 0xf0) + 8,&local_58)" (identifier "FUN_00226860") (argument_list "(*(long *)(param_1 + 0xf0) + 8,&local_58)" (( "(") (binary_expression "*(long *)(param_1 + 0xf0) + 8" (pointer_expression "*(long *)(param_1 + 0xf0)" (* "*") (cast_expression "(long *)(param_1 + 0xf0)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xf0)" (( "(") (binary_expression "param_1 + 0xf0" (identifier "param_1") (+ "+") (number_literal "0xf0")) () ")")))) (+ "+") (number_literal "8")) (, ",") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (if_statement "if ((char)extraout_RDX != '\0') {\n      return extraout_RDX & 0xffffffff;\n    }" (if "if") (parenthesized_expression "((char)extraout_RDX != '\0')" (( "(") (binary_expression "(char)extraout_RDX != '\0'" (cast_expression "(char)extraout_RDX" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "extraout_RDX")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      return extraout_RDX & 0xffffffff;\n    }" ({ "{") (return_statement "return extraout_RDX & 0xffffffff;" (return "return") (binary_expression "extraout_RDX & 0xffffffff" (identifier "extraout_RDX") (& "&") (number_literal "0xffffffff")) (; ";")) (} "}"))) (expression_statement "FUN_0017c650("../../gold/output.h",0xc22,"add_merge_section");" (call_expression "FUN_0017c650("../../gold/output.h",0xc22,"add_merge_section")" (identifier "FUN_0017c650") (argument_list "("../../gold/output.h",0xc22,"add_merge_section")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xc22") (, ",") (string_literal ""add_merge_section"" (" """) (string_content "add_merge_section") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(*plVar6 + 8))(plVar6);" (call_expression "(**(code **)(*plVar6 + 8))(plVar6)" (parenthesized_expression "(**(code **)(*plVar6 + 8))" (( "(") (pointer_expression "**(code **)(*plVar6 + 8)" (* "*") (pointer_expression "*(code **)(*plVar6 + 8)" (* "*") (cast_expression "(code **)(*plVar6 + 8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar6 + 8)" (( "(") (binary_expression "*plVar6 + 8" (pointer_expression "*plVar6" (* "*") (identifier "plVar6")) (+ "+") (number_literal "8")) () ")"))))) () ")")) (argument_list "(plVar6)" (( "(") (identifier "plVar6") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))

/* DWARF original prototype: bool add_merge_input_section(Output_section * this, Relobj * object,
   uint shndx, uint64_t flags, uint64_t entsize, uint64_t addralign, bool keeps_input_sections) */

bool __thiscall
var_21::type_1::function_1
          (type_1 *this,type_2 *object,type_3 shndx,uint64_t var_10,uint64_t var_9,
          uint64_t var_12,bool keeps_input_sections)

{
  type_4 *pbVar1;
  type_5 *pOVar2;
  type_6 *var_17;
  type_3 uVar4;
  char cVar5;
  type_7 uVar6;
  int iVar7;
  type_8 *var_16;
  type_9 aVar9;
  type_10 **var_31;
  type_6 *var_19;
  var_25<var_26::allocator<var_26::__detail::var_1<var_2,var_3>var_4>var_4> *var_27;
  type_11 **ppCVar12;
  type_12 var_15;
  size_t __n;
  bool var_18;
  pair<var_26::__detail::_Node_iterator<var_26::pair<const_gold::type_13,_gold::var_5*>,var_6,var_3>,var_7>
  var_8;
  type_13 msp;
  type_14 inp;
  
  if (var_9 == 0) {
    return false;
  }
  var_18 = (var_10 & 0x20) != 0;
  if (this->checkpoint_ != (type_15 *)0x0) {
                    /* WARNING: Subroutine does not return */
    var_11("../../gold/output.cc",0xaa7,"add_merge_input_section");
  }
  pOVar2 = this->lookup_maps_;
  if (pOVar2->is_valid_ == false) {
                    /* WARNING: Subroutine does not return */
    var_11("../../gold/output.cc",0xaad,"add_merge_input_section");
  }
  var_15 = ((((type_16)var_18 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ var_9) * 0x100000001b3 ^
           var_12) * 0x100000001b3;
  msp.is_string_ = var_18;
  msp.entsize_ = var_9;
  msp.addralign_ = var_12;
  var_16 = var_26::
           _Hashtable<var_21::type_13,var_22::pair<const_gold::type_13,_gold::var_5*>,var_22::allocator<var_26::pair<const_gold::type_13,_gold::var_5*>var_4>,var_22::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,var_22::__detail::_Mod_range_hashing,var_22::__detail::_Default_ranged_hash,var_22::__detail::type_27,var_22::__detail::var_13<true,var_6,var_3>var_4>
           ::var_14
                     ((_Hashtable<var_21::type_13,var_22::pair<const_gold::type_13,_gold::var_5*>,var_22::allocator<var_26::pair<const_gold::type_13,_gold::var_5*>var_4>,var_22::var_35::_Select1st,_gold::type_13::equal_to,_gold::type_13::hash,var_22::var_35::_Mod_range_hashing,var_22::var_35::_Default_ranged_hash,var_22::var_35::type_27,var_22::var_35::var_13<true,var_6,var_3>var_4>
                       *)&pOVar2->merge_sections_by_properties_,
                      var_15 % (pOVar2->merge_sections_by_properties_)._M_h._M_bucket_count,&msp,
                      var_15);
  if (((var_16 != (type_8 *)0x0) && (var_16->_M_nxt != (type_6 *)0x0)) &&
     (var_17 = var_16->_M_nxt[4]._M_nxt, var_17 != (type_6 *)0x0)) {
    cVar5 = (*(type_17 *)var_17->_M_nxt[0x19]._M_nxt)(var_17);
    if ((var_18 == (bool)cVar5) && ((type_6 *)var_9 == var_17[7]._M_nxt)) {
      var_19 = var_17->_M_nxt[3]._M_nxt;
      if (var_19 == (type_6 *)Output_section_data::do_addralign) {
        var_19 = var_17[6]._M_nxt;
      }
      else {
        var_19 = (type_6 *)(*(type_17 *)var_19)(var_17);
      }
      if ((type_6 *)var_12 == var_19) {
        uVar6 = (*(type_17 *)var_17->_M_nxt[0x15]._M_nxt)(var_17,object,shndx);
        return (bool)uVar6;
      }
    }
                    /* WARNING: Subroutine does not return */
    var_11("../../gold/output.cc",0xab5,"add_merge_input_section");
  }
  if ((var_10 & 0x20) == 0) {
    aVar9.object = (type_2 *)var_20(0xf8);
    __n = 0x80;
    ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (type_18)0x0;
    ((aVar9.object)->super_Object).name_._M_string_length = 0;
    ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;
    (aVar9.pomb)->first_shndx_ = 0xffffffff;
    *(bool *)((long)aVar9 + 0x78) = false;
    uVar4 = DAT_00377cb4;
    *(type_19 *)((long)aVar9 + 0x79) = 0;
    *(type_20 **)((long)aVar9 + 0x80) = (type_20 *)0x0;
    ((aVar9.object)->output_sections_).
    super__Vector_base<var_21::type_1*,var_22::allocator<var_21::type_1*>var_4>._M_impl.
    _M_finish = (type_18)&(aVar9.object)->sd_;
    ((aVar9.object)->super_Object)._vptr_Object =
         (type_10 **)&PTR__Output_merge_data_00438220;
    ppCVar12 = &aVar9.object[1].super_Object.compressed_sections_;
    pbVar1 = (type_4 *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);
    *pbVar1 = *pbVar1 & 0xe0;
    ((aVar9.object)->super_Object).input_file_ = (type_21 *)0x0;
    (aVar9.posd)->addralign_ = var_12;
    (aVar9.pomb)->entsize_ = var_9;
    (aVar9.pomb)->keeps_input_sections_ = false;
    ((aVar9.object)->super_Object).compressed_sections_ = (type_11 *)0x0;
    (aVar9.object)->sd_ = (type_22 *)0x0;
    ((aVar9.object)->output_sections_).
    super__Vector_base<var_21::type_1*,var_22::allocator<var_21::type_1*>var_4>._M_impl.
    _M_end_of_storage = (type_18)0x1;
    (aVar9.object)->map_to_relocatable_relocs_ =
         (vector<var_21::var_23*,var_22::allocator<var_21::var_23*>var_4> *)0x0;
    (aVar9.object)->object_merge_map_ = (type_23 *)0x0;
    *(type_3 *)&(aVar9.object)->relocs_must_follow_section_writes_ = uVar4;
    (aVar9.object)->rd_ = (type_20 *)0x0;
    (aVar9.object)->reloc_counts_ = (type_3 *)0x0;
    (aVar9.object)->reloc_bases_ = (type_3 *)0x0;
    *(type_3 *)((long)aVar9 + 0xa0) = 0;
    *(type_3 *)((long)aVar9 + 0xa4) = 0;
    aVar9.object[1].super_Object._vptr_Object = (type_10 **)0x0;
    aVar9.object[1].super_Object.name_._M_dataplus._M_p = (type_18)aVar9;
    aVar9.object[1].super_Object.name_._M_string_length = (type_24)aVar9;
    aVar9.object[1].super_Object.name_.field_2._M_allocated_capacity = (type_24)ppCVar12;
    *(type_25 *)((long)&aVar9.object[1].super_Object.name_.field_2 + 8) = 1;
    aVar9.object[1].super_Object.input_file_ = (type_21 *)0x0;
    aVar9.object[1].super_Object.offset_ = 0;
    aVar9.object[1].super_Object.shnum_ = uVar4;
    aVar9.object[1].super_Object.xindex_ = (type_26 *)0x0;
    aVar9.object[1].super_Object.compressed_sections_ = (type_11 *)0x0;
                    /* try { // try from 001fb58b to 001fb5b1 has its CatchHandler @ 001fb895 */
    var_27 = (var_25<var_26::allocator<var_26::var_35::var_1<var_2,var_3>var_4>var_4> *)
              var_26::var_35::type_27::var_24
                        ((type_27 *)&aVar9.object[1].super_Object.shnum_,0x80);
    if (*(var_25<var_26::allocator<var_26::var_35::var_1<var_2,var_3>var_4>var_4> **)
         ((long)&aVar9.object[1].super_Object.name_.field_2 + 8) < var_27) {
      if (var_27 ==
          (var_25<var_26::allocator<var_26::var_35::var_1<var_2,var_3>var_4>var_4> *)0x1) {
        aVar9.object[1].super_Object.compressed_sections_ = (type_11 *)0x0;
      }
      else {
        ppCVar12 = (type_11 **)
                   var_26::__detail::
                   var_25<var_26::allocator<var_26::__detail::var_1<var_2,var_3>var_4>var_4>::
                   var_28(var_27,__n);
      }
      aVar9.object[1].super_Object.name_.field_2._M_allocated_capacity = (type_24)ppCVar12;
      *(var_25<var_26::allocator<var_26::var_35::var_1<var_2,var_3>var_4>var_4> **)
       ((long)&aVar9.object[1].super_Object.name_.field_2 + 8) = var_27;
    }
  }
  else {
    if (var_9 == 2) {
      aVar9.object = (type_2 *)var_20(0x148);
      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (type_18)0x0;
      ((aVar9.object)->super_Object).name_._M_string_length = 0;
      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;
      (aVar9.pomb)->first_shndx_ = 0xffffffff;
      ((aVar9.object)->output_sections_).
      super__Vector_base<var_21::type_1*,var_22::allocator<var_21::type_1*>var_4>._M_impl.
      _M_finish = (type_18)&(aVar9.object)->sd_;
      pbVar1 = (type_4 *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);
      *pbVar1 = *pbVar1 & 0xe0;
      *(bool *)((long)aVar9 + 0x78) = false;
      *(type_19 *)((long)aVar9 + 0x79) = 0;
      *(type_20 **)((long)aVar9 + 0x80) = (type_20 *)0x0;
      ((aVar9.object)->super_Object)._vptr_Object =
           (type_10 **)&PTR__Output_merge_string_00435d30;
      ((aVar9.object)->super_Object).input_file_ = (type_21 *)0x0;
      (aVar9.posd)->addralign_ = var_12;
      (aVar9.pomb)->entsize_ = 2;
      (aVar9.pomb)->keeps_input_sections_ = false;
      ((aVar9.object)->super_Object).compressed_sections_ = (type_11 *)0x0;
      (aVar9.object)->sd_ = (type_22 *)0x0;
      ((aVar9.object)->output_sections_).
      super__Vector_base<var_21::type_1*,var_22::allocator<var_21::type_1*>var_4>._M_impl.
      _M_end_of_storage = (type_18)0x1;
      (aVar9.object)->map_to_relocatable_relocs_ =
           (vector<var_21::var_23*,var_22::allocator<var_21::var_23*>var_4> *)0x0;
      (aVar9.object)->object_merge_map_ = (type_23 *)0x0;
      *(type_28 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;
      (aVar9.object)->rd_ = (type_20 *)0x0;
                    /* try { // try from 001fb7b3 to 001fb7b7 has its CatchHandler @ 001fb8bd */
      var_29<var_30>::var_29
                ((var_29<var_30> *)&(aVar9.object)->reloc_counts_,var_12
                );
      var_31 = aVar9.object[1].super_Object._vptr_Object;
      *(type_25 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;
      aVar9.object[1].rd_ = (type_20 *)0x0;
      aVar9.object[1].sd_ = (type_22 *)0x0;
      aVar9.object[1].reloc_counts_ = (type_3 *)0x0;
      aVar9.object[1].reloc_bases_ = (type_3 *)0x0;
      if ((var_31 != (type_10 **)0x0) ||
         (aVar9.object[1].map_to_relocatable_relocs_ !=
          (vector<var_21::var_23*,var_22::allocator<var_21::var_23*>var_4> *)0x2)) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001fb81a to 001fb81e has its CatchHandler @ 001fb8ad */
        var_11("../../gold/stringpool.h",0xcc,"set_no_zero_null");
      }
    }
    else if (var_9 == 4) {
      aVar9.object = (type_2 *)var_20(0x148);
      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (type_18)0x0;
      ((aVar9.object)->super_Object).name_._M_string_length = 0;
      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;
      (aVar9.pomb)->first_shndx_ = 0xffffffff;
      ((aVar9.object)->output_sections_).
      super__Vector_base<var_21::type_1*,var_22::allocator<var_21::type_1*>var_4>._M_impl.
      _M_finish = (type_18)&(aVar9.object)->sd_;
      pbVar1 = (type_4 *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);
      *pbVar1 = *pbVar1 & 0xe0;
      *(bool *)((long)aVar9 + 0x78) = false;
      *(type_19 *)((long)aVar9 + 0x79) = 0;
      *(type_20 **)((long)aVar9 + 0x80) = (type_20 *)0x0;
      ((aVar9.object)->super_Object)._vptr_Object =
           (type_10 **)&PTR__Output_merge_string_00435e18;
      ((aVar9.object)->super_Object).input_file_ = (type_21 *)0x0;
      (aVar9.posd)->addralign_ = var_12;
      (aVar9.pomb)->entsize_ = 4;
      (aVar9.pomb)->keeps_input_sections_ = false;
      ((aVar9.object)->super_Object).compressed_sections_ = (type_11 *)0x0;
      (aVar9.object)->sd_ = (type_22 *)0x0;
      ((aVar9.object)->output_sections_).
      super__Vector_base<var_21::type_1*,var_22::allocator<var_21::type_1*>var_4>._M_impl.
      _M_end_of_storage = (type_18)0x1;
      (aVar9.object)->map_to_relocatable_relocs_ =
           (vector<var_21::var_23*,var_22::allocator<var_21::var_23*>var_4> *)0x0;
      (aVar9.object)->object_merge_map_ = (type_23 *)0x0;
      *(type_28 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;
      (aVar9.object)->rd_ = (type_20 *)0x0;
                    /* try { // try from 001fb693 to 001fb697 has its CatchHandler @ 001fb8c5 */
      var_29<var_32>::var_29
                ((var_29<var_32> *)&(aVar9.object)->reloc_counts_,var_12);
      var_31 = aVar9.object[1].super_Object._vptr_Object;
      *(type_25 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;
      aVar9.object[1].rd_ = (type_20 *)0x0;
      aVar9.object[1].sd_ = (type_22 *)0x0;
      aVar9.object[1].reloc_counts_ = (type_3 *)0x0;
      aVar9.object[1].reloc_bases_ = (type_3 *)0x0;
      if ((var_31 != (type_10 **)0x0) ||
         (aVar9.object[1].map_to_relocatable_relocs_ !=
          (vector<var_21::var_23*,var_22::allocator<var_21::var_23*>var_4> *)0x4)) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */
        var_11("../../gold/stringpool.h",0xcc,"set_no_zero_null");
      }
    }
    else {
      if (var_9 != 1) {
        return false;
      }
      aVar9.object = (type_2 *)var_20(0x148);
      ((aVar9.object)->super_Object).name_._M_dataplus._M_p = (type_18)0x0;
      ((aVar9.object)->super_Object).name_._M_string_length = 0;
      ((aVar9.object)->super_Object).name_.field_2._M_allocated_capacity = 0xffffffffffffffff;
      (aVar9.pomb)->first_shndx_ = 0xffffffff;
      ((aVar9.object)->output_sections_).
      super__Vector_base<var_21::type_1*,var_22::allocator<var_21::type_1*>var_4>._M_impl.
      _M_finish = (type_18)&(aVar9.object)->sd_;
      pbVar1 = (type_4 *)(((aVar9.object)->super_Object).name_.field_2._M_local_buf + 8);
      *pbVar1 = *pbVar1 & 0xe0;
      *(bool *)((long)aVar9 + 0x78) = false;
      *(type_19 *)((long)aVar9 + 0x79) = 0;
      *(type_20 **)((long)aVar9 + 0x80) = (type_20 *)0x0;
      ((aVar9.object)->super_Object)._vptr_Object =
           (type_10 **)&PTR__Output_merge_string_00435c48;
      ((aVar9.object)->super_Object).input_file_ = (type_21 *)0x0;
      (aVar9.posd)->addralign_ = var_12;
      (aVar9.pomb)->entsize_ = 1;
      (aVar9.pomb)->keeps_input_sections_ = false;
      ((aVar9.object)->super_Object).compressed_sections_ = (type_11 *)0x0;
      (aVar9.object)->sd_ = (type_22 *)0x0;
      ((aVar9.object)->output_sections_).
      super__Vector_base<var_21::type_1*,var_22::allocator<var_21::type_1*>var_4>._M_impl.
      _M_end_of_storage = (type_18)0x1;
      (aVar9.object)->map_to_relocatable_relocs_ =
           (vector<var_21::var_23*,var_22::allocator<var_21::var_23*>var_4> *)0x0;
      (aVar9.object)->object_merge_map_ = (type_23 *)0x0;
      *(type_28 *)&(aVar9.object)->relocs_must_follow_section_writes_ = 0x3f800000;
      (aVar9.object)->rd_ = (type_20 *)0x0;
                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */
      var_29<var_33>::var_29
                ((var_29<var_33> *)&(aVar9.object)->reloc_counts_,var_12);
      var_31 = aVar9.object[1].super_Object._vptr_Object;
      *(type_25 *)&aVar9.object[1].relocs_must_follow_section_writes_ = 0;
      aVar9.object[1].rd_ = (type_20 *)0x0;
      aVar9.object[1].sd_ = (type_22 *)0x0;
      aVar9.object[1].reloc_counts_ = (type_3 *)0x0;
      aVar9.object[1].reloc_bases_ = (type_3 *)0x0;
      if ((var_31 != (type_10 **)0x0) ||
         (aVar9.object[1].map_to_relocatable_relocs_ !=
          (vector<var_21::var_23*,var_22::allocator<var_21::var_23*>var_4> *)0x1)) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */
        var_11("../../gold/stringpool.h",0xcc,"set_no_zero_null");
      }
    }
    *(type_7 *)
     &aVar9.object[1].output_sections_.
      super__Vector_base<var_21::type_1*,var_22::allocator<var_21::type_1*>var_4>._M_impl.
      _M_end_of_storage = 0;
    aVar9.object[1].map_to_relocatable_relocs_ =
         (vector<var_21::var_23*,var_22::allocator<var_21::var_23*>var_4> *)0x0;
  }
  var_31 = ((aVar9.object)->super_Object)._vptr_Object;
  if (keeps_input_sections) {
    (*var_31[0x1a])(aVar9.object);
    var_31 = ((aVar9.object)->super_Object)._vptr_Object;
  }
  iVar7 = (*var_31[0x15])(aVar9.object,object,(type_16)shndx);
  if ((char)iVar7 != '\0') {
    inp.p2align_ = 0;
    inp.shndx_ = ((var_10 & 0x20) == 0) - 3;
    inp._24_8_ = (type_16)(type_3)inp._28_4_ << 0x20;
    inp.u1_.var_9 = var_9;
    inp.u2_ = aVar9;
    var_34(this,&inp);
    inp._1_7_ = msp._1_7_;
    inp.shndx_._0_1_ = msp.is_string_;
    inp.u2_ = (type_9)msp.addralign_;
    inp.u1_.var_9 = msp.entsize_;
    inp._24_8_ = aVar9;
    var_8 = var_26::
             _Hashtable<var_21::type_13,var_22::pair<const_gold::type_13,_gold::var_5*>,var_22::allocator<var_26::pair<const_gold::type_13,_gold::var_5*>var_4>,var_22::__detail::_Select1st,_gold::Merge_section_properties::equal_to,_gold::Merge_section_properties::hash,var_22::__detail::_Mod_range_hashing,var_22::__detail::_Default_ranged_hash,var_22::__detail::type_27,var_22::var_35::var_13<true,var_6,var_3>var_4>
             ::_M_emplace<var_26::pair<var_21::type_13,_gold::var_5*>&>
                       ((_Hashtable<var_21::type_13,var_22::pair<const_gold::type_13,_gold::var_5*>,var_22::allocator<var_26::pair<const_gold::type_13,_gold::var_5*>var_4>,var_22::var_35::_Select1st,_gold::type_13::equal_to,_gold::type_13::hash,var_22::var_35::_Mod_range_hashing,var_22::var_35::_Default_ranged_hash,var_22::var_35::type_27,var_22::var_35::var_13<true,var_6,var_3>var_4>
                         *)&this->lookup_maps_->merge_sections_by_properties_,&inp);
    if (var_8.second != false) {
      return var_8.second;
    }
                    /* WARNING: Subroutine does not return */
    var_11("../../gold/output.h",0xc22,"add_merge_section");
  }
  (*((aVar9.object)->super_Object)._vptr_Object[1])(aVar9.object);
  return false;
}


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

ulong MASKED(long param_1,undefined8 param_2,undefined4 param_3,uint param_4,ulong param_5,
                  ulong param_6,char param_7)

{
  char *pcVar1;
  undefined4 uVar2;
  char cVar3;
  long *plVar4;
  ulong uVar5;
  long *plVar6;
  long lVar7;
  ulong extraout_RDX;
  bool bVar8;
  undefined1 local_78;
  undefined7 uStack_77;
  ulong uStack_70;
  ulong local_68;
  ulong local_58;
  ulong uStack_50;
  long *local_48;
  undefined8 local_40;
  
  if (param_5 == 0) {
    return 0;
  }
  param_4 = param_4 & 0x20;
  bVar8 = param_4 != 0;
  if (*(long *)(param_1 + 0xe8) != 0) {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/output.cc",0xaa7,"add_merge_input_section");
  }
  pcVar1 = *(char **)(param_1 + 0xf0);
  if (*pcVar1 == '\0') {
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/output.cc",0xaad,"add_merge_input_section");
  }
  local_78 = bVar8;
  uStack_70 = param_5;
  local_68 = param_6;
  plVar4 = (long *)FUN_002139a0(pcVar1 + 8,
                                (((((ulong)bVar8 ^ 0xcbf29ce484222325) * 0x100000001b3 ^ param_5) *
                                  0x100000001b3 ^ param_6) * 0x100000001b3) %
                                *(ulong *)(pcVar1 + 0x10),&local_78);
  if (((plVar4 != (long *)0x0) && (*plVar4 != 0)) &&
     (plVar4 = *(long **)(*plVar4 + 0x20), plVar4 != (long *)0x0)) {
    cVar3 = (**(code **)(*plVar4 + 200))(plVar4);
    if ((bVar8 == (bool)cVar3) && (param_5 == plVar4[7])) {
      if (*(code **)(*plVar4 + 0x18) == FUN_00185200) {
        uVar5 = plVar4[6];
      }
      else {
        uVar5 = (**(code **)(*plVar4 + 0x18))(plVar4);
      }
      if (param_6 == uVar5) {
        uVar5 = (**(code **)(*plVar4 + 0xa8))(plVar4,param_2,param_3);
        return uVar5;
      }
    }
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/output.cc",0xab5,"add_merge_input_section");
  }
  if (param_4 == 0) {
    plVar6 = (long *)FUN_002d9490(0xf8);
    plVar6[1] = 0;
    plVar6[2] = 0;
    plVar6[3] = -1;
    *(undefined4 *)(plVar6 + 10) = 0xffffffff;
    *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;
    uVar2 = DAT_00377cb4;
    plVar6[0xb] = (long)(plVar6 + 0x11);
    *plVar6 = (long)&PTR_FUN_00438220;
    plVar4 = plVar6 + 0x1e;
    *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;
    plVar6[5] = 0;
    plVar6[6] = param_6;
    plVar6[7] = param_5;
    *(undefined1 *)(plVar6 + 8) = 0;
    plVar6[9] = 0;
    plVar6[0x11] = 0;
    plVar6[0xc] = 1;
    plVar6[0xd] = 0;
    plVar6[0xe] = 0;
    *(undefined4 *)(plVar6 + 0xf) = uVar2;
    plVar6[0x10] = 0;
    plVar6[0x12] = 0;
    plVar6[0x13] = 0;
    plVar6[0x14] = 0;
    plVar6[0x15] = 0;
    plVar6[0x16] = (long)plVar6;
    plVar6[0x17] = (long)plVar6;
    plVar6[0x18] = (long)plVar4;
    plVar6[0x19] = 1;
    plVar6[0x1a] = 0;
    plVar6[0x1b] = 0;
    *(undefined4 *)(plVar6 + 0x1c) = uVar2;
    plVar6[0x1d] = 0;
    plVar6[0x1e] = 0;
                    /* try { // try from 001fb58b to 001fb5b1 has its CatchHandler @ 001fb895 */
    uVar5 = FUN_00319030(plVar6 + 0x1c,0x80);
    if ((ulong)plVar6[0x19] < uVar5) {
      if (uVar5 == 1) {
        plVar6[0x1e] = 0;
      }
      else {
        plVar4 = (long *)FUN_001f4a30(uVar5);
      }
      plVar6[0x18] = (long)plVar4;
      plVar6[0x19] = uVar5;
    }
  }
  else {
    if (param_5 == 2) {
      plVar6 = (long *)FUN_002d9490(0x148);
      plVar6[1] = 0;
      plVar6[2] = 0;
      plVar6[3] = -1;
      *(undefined4 *)(plVar6 + 10) = 0xffffffff;
      plVar6[0xb] = (long)(plVar6 + 0x11);
      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;
      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;
      *plVar6 = (long)&PTR_FUN_00435d30;
      plVar6[5] = 0;
      plVar6[6] = param_6;
      plVar6[7] = 2;
      *(undefined1 *)(plVar6 + 8) = 0;
      plVar6[9] = 0;
      plVar6[0x11] = 0;
      plVar6[0xc] = 1;
      plVar6[0xd] = 0;
      plVar6[0xe] = 0;
      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;
      plVar6[0x10] = 0;
                    /* try { // try from 001fb7b3 to 001fb7b7 has its CatchHandler @ 001fb8bd */
      FUN_0026b900(plVar6 + 0x12,param_6);
      plVar6[0x24] = 0;
      plVar6[0x25] = 0;
      plVar6[0x26] = 0;
      plVar6[0x27] = 0;
      plVar6[0x28] = 0;
      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 2)) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001fb81a to 001fb81e has its CatchHandler @ 001fb8ad */
        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");
      }
    }
    else if (param_5 == 4) {
      plVar6 = (long *)FUN_002d9490(0x148);
      plVar6[1] = 0;
      plVar6[2] = 0;
      plVar6[3] = -1;
      *(undefined4 *)(plVar6 + 10) = 0xffffffff;
      plVar6[0xb] = (long)(plVar6 + 0x11);
      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;
      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;
      *plVar6 = (long)&PTR_FUN_00435e18;
      plVar6[5] = 0;
      plVar6[6] = param_6;
      plVar6[7] = 4;
      *(undefined1 *)(plVar6 + 8) = 0;
      plVar6[9] = 0;
      plVar6[0x11] = 0;
      plVar6[0xc] = 1;
      plVar6[0xd] = 0;
      plVar6[0xe] = 0;
      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;
      plVar6[0x10] = 0;
                    /* try { // try from 001fb693 to 001fb697 has its CatchHandler @ 001fb8c5 */
      FUN_0026bfb0(plVar6 + 0x12,param_6);
      plVar6[0x24] = 0;
      plVar6[0x25] = 0;
      plVar6[0x26] = 0;
      plVar6[0x27] = 0;
      plVar6[0x28] = 0;
      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 4)) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001fb6fa to 001fb6fe has its CatchHandler @ 001fb89d */
        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");
      }
    }
    else {
      if (param_5 != 1) {
        return 0;
      }
      plVar6 = (long *)FUN_002d9490(0x148);
      plVar6[1] = 0;
      plVar6[2] = 0;
      plVar6[3] = -1;
      *(undefined4 *)(plVar6 + 10) = 0xffffffff;
      plVar6[0xb] = (long)(plVar6 + 0x11);
      *(byte *)(plVar6 + 4) = *(byte *)(plVar6 + 4) & 0xe0;
      *(undefined1 (*) [16])(plVar6 + 0xf) = (undefined1  [16])0x0;
      *plVar6 = (long)&PTR_FUN_00435c48;
      plVar6[5] = 0;
      plVar6[6] = param_6;
      plVar6[7] = 1;
      *(undefined1 *)(plVar6 + 8) = 0;
      plVar6[9] = 0;
      plVar6[0x11] = 0;
      plVar6[0xc] = 1;
      plVar6[0xd] = 0;
      plVar6[0xe] = 0;
      *(undefined4 *)(plVar6 + 0xf) = 0x3f800000;
      plVar6[0x10] = 0;
                    /* try { // try from 001fb313 to 001fb317 has its CatchHandler @ 001fb8b5 */
      FUN_0026b2b0(plVar6 + 0x12,param_6);
      plVar6[0x24] = 0;
      plVar6[0x25] = 0;
      plVar6[0x26] = 0;
      plVar6[0x27] = 0;
      plVar6[0x28] = 0;
      if ((plVar6[0x15] != 0) || (plVar6[0x22] != 1)) {
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 001fb890 to 001fb894 has its CatchHandler @ 001fb8a5 */
        FUN_0017c650("../../gold/stringpool.h",0xcc,"set_no_zero_null");
      }
    }
    *(undefined1 *)(plVar6 + 0x21) = 0;
    plVar6[0x22] = 0;
  }
  lVar7 = *plVar6;
  if (param_7 != '\0') {
    (**(code **)(lVar7 + 0xd0))(plVar6);
    lVar7 = *plVar6;
  }
  cVar3 = (**(code **)(lVar7 + 0xa8))(plVar6,param_2,param_3);
  if (cVar3 != '\0') {
    local_58 = (ulong)((param_4 == 0) - 3);
    local_40 = (long *)((ulong)local_40._4_4_ << 0x20);
    uStack_50 = param_5;
    local_48 = plVar6;
    FUN_001f9b40(param_1,&local_58);
    local_58 = CONCAT71(uStack_77,local_78);
    local_48 = (long *)local_68;
    uStack_50 = uStack_70;
    local_40 = plVar6;
    FUN_00226860(*(long *)(param_1 + 0xf0) + 8,&local_58);
    if ((char)extraout_RDX != '\0') {
      return extraout_RDX & 0xffffffff;
    }
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/output.h",0xc22,"add_merge_section");
  }
  (**(code **)(*plVar6 + 8))(plVar6);
  return 0;
}

